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
double m_minTowerEnergy
Definition: HFClusterAlgo.h:49
void clusterize(const HFRecHitCollection &hf, const CaloGeometry &geom, reco::HFEMClusterShapeCollection &clusters, reco::SuperClusterCollection &SuperClusters)
double m_maximumRenergy
Definition: HFClusterAlgo.h:49
bool m_forcePulseFlagMC
Definition: HFClusterAlgo.h:51
std::vector< double > m_cutByEta
Definition: HFClusterAlgo.h:54
double m_maximumSL
Definition: HFClusterAlgo.h:49
std::vector< double > m_correctionByEta
Definition: HFClusterAlgo.h:55
std::vector< double > m_seedmnEta
Definition: HFClusterAlgo.h:56
std::vector< HFEMClusterShape > HFEMClusterShapeCollection
std::vector< double > m_seedMXeta
Definition: HFClusterAlgo.h:57
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
std::vector< double > m_seedmnPhi
Definition: HFClusterAlgo.h:58
std::vector< double > m_seedMXphi
Definition: HFClusterAlgo.h:59
void isMC(bool isMC)
Definition: HFClusterAlgo.h:35
double m_seedThreshold
Definition: HFClusterAlgo.h:49
bool makeCluster(const HcalDetId &seedid, const HFRecHitCollection &hf, const CaloGeometry *geom, reco::HFEMClusterShape &clusShp, reco::SuperCluster &SClus)
bool isPMTHit(const HFRecHit &hfr)
void setup(double minTowerEnergy, double seedThreshold, double maximumSL, double m_maximumRenergy, bool usePMTflag, bool usePulseflag, bool forcePulseFlagMC, int correctionSet)