CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EgammaSCEnergyCorrectionAlgo.h
Go to the documentation of this file.
1 #ifndef RecoECAL_ECALClusters_EgammaSCEnergyCorrectionAlgo_h_
2 #define RecoECAL_ECALClusters_EgammaSCEnergyCorrectionAlgo_h_
3 
12 
16 
17 #include <map>
18 #include <string>
19 
21 public:
22 
23  // public member functions
26  const edm::ParameterSet& pset);
28 
29  // take a SuperCluster and return a corrected SuperCluster
31  const EcalRecHitCollection &rhc,
34  EcalClusterFunctionBaseClass* energyCorrectionFunction,
35  std::string energyCorrectorName_,
36  int modeEB_,
37  int modeEE_);
38 
39  // take a SuperCluster and return a crack-corrected SuperCluster
41  EcalClusterFunctionBaseClass* crackCorrectionFunction);
42 
43  // take a SuperCluster and return a local containment corrected SuperCluster
44 
46  EcalClusterFunctionBaseClass* localContCorrectionFunction);
47 
48 private:
49 
50  // correction factor as a function of number of crystals,
51  // BasicCluster algo and location in the detector
52  float fNCrystals(int nCry, reco::CaloCluster::AlgoId theAlgo, EcalSubdetector theBase) const;
53 
54  // Return the number of crystals in a BasicCluster above
55  // 2sigma noise level
56  int nCrystalsGT2Sigma(reco::BasicCluster const & seed, EcalRecHitCollection const & rhc) const;
57 
59 
61 
62 };
63 
64 #endif /*RecoECAL_ECALClusters_EgammaSCEnergyCorrectionAlgo_h_*/
reco::SuperCluster applyCorrection(const reco::SuperCluster &cl, const EcalRecHitCollection &rhc, reco::CaloCluster::AlgoId theAlgo, const CaloSubdetectorGeometry *geometry, EcalClusterFunctionBaseClass *energyCorrectionFunction, std::string energyCorrectorName_, int modeEB_, int modeEE_)
EgammaSCEnergyCorrectionAlgo(float noise, reco::CaloCluster::AlgoId theAlgo, const edm::ParameterSet &pset)
float fNCrystals(int nCry, reco::CaloCluster::AlgoId theAlgo, EcalSubdetector theBase) const
int nCrystalsGT2Sigma(reco::BasicCluster const &seed, EcalRecHitCollection const &rhc) const
reco::SuperCluster applyCrackCorrection(const reco::SuperCluster &cl, EcalClusterFunctionBaseClass *crackCorrectionFunction)
reco::SuperCluster applyLocalContCorrection(const reco::SuperCluster &cl, EcalClusterFunctionBaseClass *localContCorrectionFunction)
ESHandle< TrackerGeometry > geometry
EcalSubdetector