CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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, double seedThreshold,double maximumSL,double m_maximumRenergy,bool usePMTflag,bool usePulseflag, bool forcePulseFlagMC, int correctionSet);
27 
28  void isMC(bool isMC) { m_isMC=isMC; }
29 
31  void clusterize(const HFRecHitCollection& hf,
32  const CaloGeometry& geom,
34  reco::SuperClusterCollection& SuperClusters);
35 
36 
37  void resetForRun();
38 
39  private:
40  friend class CompareHFCompleteHitET;
41  friend class CompareHFCore;
42 
46  bool m_isMC;
48  std::vector<double> m_cutByEta;
49  std::vector<double> m_correctionByEta;
50  std::vector<double> m_seedmnEta;
51  std::vector<double> m_seedMXeta;
52  std::vector<double> m_seedmnPhi;
53  std::vector<double> m_seedMXphi;
54  struct HFCompleteHit {
56  double energy, et;
57  };
58  bool isPMTHit(const HFRecHit& hfr);
59  bool makeCluster(const HcalDetId& seedid,
60  const HFRecHitCollection& hf,
61  const CaloGeometry& geom,
62  reco::HFEMClusterShape& clusShp,
63  reco::SuperCluster& SClus);
64 };
65 
66 #endif
double m_minTowerEnergy
Definition: HFClusterAlgo.h:43
void clusterize(const HFRecHitCollection &hf, const CaloGeometry &geom, reco::HFEMClusterShapeCollection &clusters, reco::SuperClusterCollection &SuperClusters)
double m_maximumRenergy
Definition: HFClusterAlgo.h:43
bool m_forcePulseFlagMC
Definition: HFClusterAlgo.h:45
std::vector< double > m_cutByEta
Definition: HFClusterAlgo.h:48
double m_maximumSL
Definition: HFClusterAlgo.h:43
std::vector< double > m_correctionByEta
Definition: HFClusterAlgo.h:49
std::vector< double > m_seedmnEta
Definition: HFClusterAlgo.h:50
std::vector< HFEMClusterShape > HFEMClusterShapeCollection
std::vector< double > m_seedMXeta
Definition: HFClusterAlgo.h:51
bool makeCluster(const HcalDetId &seedid, const HFRecHitCollection &hf, const CaloGeometry &geom, reco::HFEMClusterShape &clusShp, reco::SuperCluster &SClus)
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
std::vector< double > m_seedmnPhi
Definition: HFClusterAlgo.h:52
std::vector< double > m_seedMXphi
Definition: HFClusterAlgo.h:53
void isMC(bool isMC)
Definition: HFClusterAlgo.h:28
double m_seedThreshold
Definition: HFClusterAlgo.h:43
bool isPMTHit(const HFRecHit &hfr)
void setup(double minTowerEnergy, double seedThreshold, double maximumSL, double m_maximumRenergy, bool usePMTflag, bool usePulseflag, bool forcePulseFlagMC, int correctionSet)