1 |
sixie |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
paus |
1.13 |
// $Id: FillerSuperClusters.h,v 1.12 2013/05/15 14:00:29 ksung Exp $
|
3 |
sixie |
1.1 |
//
|
4 |
|
|
// FillerSuperClusters
|
5 |
|
|
//
|
6 |
paus |
1.11 |
// Implementation of a filler to fill EDM super clusters into our mithep::SuperCluster data
|
7 |
|
|
// structure.
|
8 |
sixie |
1.1 |
//
|
9 |
paus |
1.11 |
// Authors: C.Paus, J.Bendavid, S.Xie
|
10 |
sixie |
1.1 |
//--------------------------------------------------------------------------------------------------
|
11 |
|
|
|
12 |
loizides |
1.2 |
#ifndef MITPROD_TREEFILLER_FILLERSUPERCLUSTERS_H
|
13 |
|
|
#define MITPROD_TREEFILLER_FILLERSUPERCLUSTERS_H
|
14 |
sixie |
1.1 |
|
15 |
loizides |
1.6 |
#include "MitAna/DataTree/interface/SuperClusterCol.h"
|
16 |
|
|
#include "MitProd/TreeFiller/interface/AssociationMaps.h"
|
17 |
sixie |
1.1 |
#include "MitProd/TreeFiller/interface/BaseFiller.h"
|
18 |
|
|
|
19 |
paus |
1.13 |
#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
|
20 |
|
|
|
21 |
paus |
1.11 |
class CaloGeometry;
|
22 |
|
|
class CaloSubdetectorTopology;
|
23 |
|
|
class EcalRecHit;
|
24 |
|
|
|
25 |
sixie |
1.1 |
namespace mithep
|
26 |
|
|
{
|
27 |
|
|
class FillerSuperClusters : public BaseFiller
|
28 |
|
|
{
|
29 |
|
|
public:
|
30 |
|
|
FillerSuperClusters(const edm::ParameterSet &cfg, const char *name, bool active=1);
|
31 |
|
|
~FillerSuperClusters();
|
32 |
|
|
|
33 |
paus |
1.11 |
void BookDataBlock(TreeWriter &tws);
|
34 |
|
|
void FillDataBlock(const edm::Event &e, const edm::EventSetup &es);
|
35 |
|
|
const mithep::SuperClusterMap *GetSuperClusterMap() const { return superClusterMap_; }
|
36 |
|
|
|
37 |
|
|
protected:
|
38 |
|
|
std::vector<float> getESHits(double X, double Y, double Z,
|
39 |
|
|
std::map<DetId, EcalRecHit> rechits_map,
|
40 |
|
|
const CaloGeometry& geometry,
|
41 |
|
|
CaloSubdetectorTopology *topology_p, int row);
|
42 |
|
|
std::vector<float> getESShape(std::vector<float> ESHits0);
|
43 |
paus |
1.13 |
void SCTimeSpanCalculator(const reco::SuperCluster* scl,
|
44 |
|
|
double xtalEnergyThr, double seedTime,
|
45 |
|
|
double& SCLeadTimeSpan,
|
46 |
|
|
double& SCSubLeadTimeSpan,
|
47 |
|
|
const EcalRecHitCollection* ebRecHitCol,
|
48 |
|
|
const EcalRecHitCollection* eeRecHitCol);
|
49 |
sixie |
1.1 |
|
50 |
|
|
private:
|
51 |
paus |
1.11 |
std::string edmName_; //edm name of collection
|
52 |
|
|
std::string mitName_; //mit name of collection
|
53 |
|
|
std::string basicClusterMapName_; //name of imp. map wrt basic clus
|
54 |
|
|
std::string psClusterMapName_; //name of imp. map wrt ps clus
|
55 |
ksung |
1.12 |
std::string psXClusterMapName_; //name of imp. map wrt ps x clus
|
56 |
|
|
std::string psYClusterMapName_; //name of imp. map wrt ps y clus
|
57 |
paus |
1.11 |
std::string caloTowerDetIdMapName_; //name of imp. map wrt caloTowerDetId
|
58 |
|
|
std::string superClusterMapName_; //name of exported map
|
59 |
|
|
std::string superClusterIdMapName_; //name of exported id map
|
60 |
|
|
std::string caloTowerName_; //name of calotower collection
|
61 |
|
|
const mithep::BasicClusterMap *basicClusterMap_; //map wrt basic clusters
|
62 |
|
|
const mithep::PsClusterMap *psClusterMap_; //map wrt preshower clusters
|
63 |
ksung |
1.12 |
const mithep::PsClusterMap *psXClusterMap_; //map wrt preshower x clusters
|
64 |
|
|
const mithep::PsClusterMap *psYClusterMap_; //map wrt preshower y clusters
|
65 |
|
|
const mithep::CaloTowerDetIdMap *caloTowerDetIdMap_; //map wrt calo tower det id's
|
66 |
paus |
1.11 |
mithep::SuperClusterArr *superClusters_; //array of super clusters
|
67 |
|
|
mithep::SuperClusterMap *superClusterMap_; //map wrt super clusters
|
68 |
|
|
mithep::SuperClusterIdMap *superClusterIdMap_; //map of DetIds to superclusters
|
69 |
sixie |
1.1 |
};
|
70 |
|
|
}
|
71 |
|
|
#endif
|