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 
11 
16 //$Id:HFClusterAlgo.h,v 1.2 2007/09/19 09:52 K. Klapoetke Minnesota
17 
19 public:
20  HFClusterAlgo();
21 
22  void setup(double minTowerEnergy,
23  double seedThreshold,
24  double maximumSL,
25  double m_maximumRenergy,
26  bool usePMTflag,
27  bool usePulseflag,
28  bool forcePulseFlagMC,
29  int correctionSet);
30 
31  void isMC(bool isMC) { m_isMC = isMC; }
32 
34  void clusterize(const HFRecHitCollection& hf,
35  const CaloGeometry& geom,
37  reco::SuperClusterCollection& SuperClusters);
38 
39  void resetForRun();
40 
41 private:
42  friend class CompareHFCompleteHitET;
43  friend class CompareHFCore;
44 
48  bool m_isMC;
50  std::vector<double> m_cutByEta;
51  std::vector<double> m_correctionByEta;
52  std::vector<double> m_seedmnEta;
53  std::vector<double> m_seedMXeta;
54  std::vector<double> m_seedmnPhi;
55  std::vector<double> m_seedMXphi;
56  struct HFCompleteHit {
58  double energy, et;
59  };
60  bool isPMTHit(const HFRecHit& hfr);
61  bool makeCluster(const HcalDetId& seedid,
62  const HFRecHitCollection& hf,
63  const CaloGeometry* geom,
64  reco::HFEMClusterShape& clusShp,
65  reco::SuperCluster& SClus);
66 };
67 
68 #endif
double m_minTowerEnergy
Definition: HFClusterAlgo.h:45
void clusterize(const HFRecHitCollection &hf, const CaloGeometry &geom, reco::HFEMClusterShapeCollection &clusters, reco::SuperClusterCollection &SuperClusters)
double m_maximumRenergy
Definition: HFClusterAlgo.h:45
bool m_forcePulseFlagMC
Definition: HFClusterAlgo.h:47
std::vector< double > m_cutByEta
Definition: HFClusterAlgo.h:50
double m_maximumSL
Definition: HFClusterAlgo.h:45
std::vector< double > m_correctionByEta
Definition: HFClusterAlgo.h:51
std::vector< double > m_seedmnEta
Definition: HFClusterAlgo.h:52
std::vector< HFEMClusterShape > HFEMClusterShapeCollection
std::vector< double > m_seedMXeta
Definition: HFClusterAlgo.h:53
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
std::vector< double > m_seedmnPhi
Definition: HFClusterAlgo.h:54
std::vector< double > m_seedMXphi
Definition: HFClusterAlgo.h:55
void isMC(bool isMC)
Definition: HFClusterAlgo.h:31
double m_seedThreshold
Definition: HFClusterAlgo.h:45
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)