CMS 3D CMS Logo

HFClusterAlgo.h
Go to the documentation of this file.
1 #ifndef RECOLOCALCALO_HFCLUSTERPRODUCER_HFCLUSTERALGO_H
2 #define RECOLOCALCALO_HFCLUSTERPRODUCER_HFCLUSTERALGO_H 1
3 
13 #include <map>
14 #include <list>
15 
20 //$Id:HFClusterAlgo.h,v 1.2 2007/09/19 09:52 K. Klapoetke Minnesota
21 
23 public:
24  HFClusterAlgo();
25 
26  void setup(double minTowerEnergy,
27  double seedThreshold,
28  double maximumSL,
29  double m_maximumRenergy,
30  bool usePMTflag,
31  bool usePulseflag,
32  bool forcePulseFlagMC,
33  int correctionSet);
34 
35  void isMC(bool isMC) { m_isMC = isMC; }
36 
38  void clusterize(const HFRecHitCollection& hf,
39  const CaloGeometry& geom,
41  reco::SuperClusterCollection& SuperClusters);
42 
43  void resetForRun();
44 
45 private:
46  friend class CompareHFCompleteHitET;
47  friend class CompareHFCore;
48 
52  bool m_isMC;
54  std::vector<double> m_cutByEta;
55  std::vector<double> m_correctionByEta;
56  std::vector<double> m_seedmnEta;
57  std::vector<double> m_seedMXeta;
58  std::vector<double> m_seedmnPhi;
59  std::vector<double> m_seedMXphi;
60  struct HFCompleteHit {
62  double energy, et;
63  };
64  bool isPMTHit(const HFRecHit& hfr);
65  bool makeCluster(const HcalDetId& seedid,
66  const HFRecHitCollection& hf,
67  const CaloGeometry* geom,
68  reco::HFEMClusterShape& clusShp,
69  reco::SuperCluster& SClus);
70 };
71 
72 #endif
HFClusterAlgo::HFCompleteHit::energy
double energy
Definition: HFClusterAlgo.h:62
HFClusterAlgo::m_seedmnPhi
std::vector< double > m_seedmnPhi
Definition: HFClusterAlgo.h:58
HFEMClusterShapeAssociation.h
HFClusterAlgo::clusterize
void clusterize(const HFRecHitCollection &hf, const CaloGeometry &geom, reco::HFEMClusterShapeCollection &clusters, reco::SuperClusterCollection &SuperClusters)
Definition: HFClusterAlgo.cc:89
reco::SuperCluster
Definition: SuperCluster.h:18
BasicCluster.h
hfClusterShapes_cfi.forcePulseFlagMC
forcePulseFlagMC
Definition: hfClusterShapes_cfi.py:11
reco::HFEMClusterShapeCollection
std::vector< HFEMClusterShape > HFEMClusterShapeCollection
Definition: HFEMClusterShapeFwd.h:8
HFClusterAlgo::m_seedmnEta
std::vector< double > m_seedmnEta
Definition: HFClusterAlgo.h:56
HFClusterAlgo::m_maximumRenergy
double m_maximumRenergy
Definition: HFClusterAlgo.h:49
HFClusterAlgo::HFCompleteHit
Definition: HFClusterAlgo.h:60
edm::SortedCollection
Definition: SortedCollection.h:49
HFClusterAlgo::m_seedMXphi
std::vector< double > m_seedMXphi
Definition: HFClusterAlgo.h:59
HFClusterAlgo::m_isMC
bool m_isMC
Definition: HFClusterAlgo.h:52
BasicClusterFwd.h
HFClusterAlgo::m_correctionByEta
std::vector< double > m_correctionByEta
Definition: HFClusterAlgo.h:55
reco::SuperClusterCollection
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
Definition: SuperClusterFwd.h:9
HFClusterAlgo::m_minTowerEnergy
double m_minTowerEnergy
Definition: HFClusterAlgo.h:49
CaloGeometry
Definition: CaloGeometry.h:21
reco::HFEMClusterShape
Definition: HFEMClusterShape.h:20
photonIsolationHIProducer_cfi.hf
hf
Definition: photonIsolationHIProducer_cfi.py:9
HFClusterAlgo::m_seedThreshold
double m_seedThreshold
Definition: HFClusterAlgo.h:49
HFRecHit
Definition: HFRecHit.h:11
HFClusterAlgo::makeCluster
bool makeCluster(const HcalDetId &seedid, const HFRecHitCollection &hf, const CaloGeometry *geom, reco::HFEMClusterShape &clusShp, reco::SuperCluster &SClus)
Definition: HFClusterAlgo.cc:196
HFClusterAlgo::isPMTHit
bool isPMTHit(const HFRecHit &hfr)
Definition: HFClusterAlgo.cc:392
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
HFClusterAlgo::m_seedMXeta
std::vector< double > m_seedMXeta
Definition: HFClusterAlgo.h:57
HFClusterAlgo::setup
void setup(double minTowerEnergy, double seedThreshold, double maximumSL, double m_maximumRenergy, bool usePMTflag, bool usePulseflag, bool forcePulseFlagMC, int correctionSet)
Definition: HFClusterAlgo.cc:40
HFClusterAlgo::HFClusterAlgo
HFClusterAlgo()
Definition: HFClusterAlgo.cc:19
hfClusterShapes_cfi.maximumSL
maximumSL
Definition: hfClusterShapes_cfi.py:8
CompareHFCore
Definition: HFClusterAlgo.cc:30
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
HFClusterAlgo::resetForRun
void resetForRun()
Definition: HFClusterAlgo.cc:403
HcalDetId
Definition: HcalDetId.h:12
HFClusterAlgo::m_maximumSL
double m_maximumSL
Definition: HFClusterAlgo.h:49
hfClusterShapes_cfi.minTowerEnergy
minTowerEnergy
Definition: hfClusterShapes_cfi.py:6
HFClusterAlgo::m_usePMTFlag
bool m_usePMTFlag
Definition: HFClusterAlgo.h:50
CompareHFCompleteHitET
Definition: HFClusterAlgo.cc:23
HFClusterAlgo::HFCompleteHit::et
double et
Definition: HFClusterAlgo.h:62
HFClusterAlgo
Definition: HFClusterAlgo.h:22
HFClusterAlgo::m_correctionSet
int m_correctionSet
Definition: HFClusterAlgo.h:53
SuperClusterFwd.h
SuperCluster.h
CaloGeometry.h
HFClusterAlgo::m_cutByEta
std::vector< double > m_cutByEta
Definition: HFClusterAlgo.h:54
HcalRecHitCollections.h
HFClusterAlgo::m_usePulseFlag
bool m_usePulseFlag
Definition: HFClusterAlgo.h:51
HFClusterAlgo::isMC
void isMC(bool isMC)
Definition: HFClusterAlgo.h:35
HFClusterAlgo::HFCompleteHit::id
HcalDetId id
Definition: HFClusterAlgo.h:61
HFEMClusterShape.h
UEAnalysisJets_cfi.seedThreshold
seedThreshold
Definition: UEAnalysisJets_cfi.py:8
HFClusterAlgo::m_forcePulseFlagMC
bool m_forcePulseFlagMC
Definition: HFClusterAlgo.h:51