CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalIsolationCorrector.h
Go to the documentation of this file.
1 //
2 // to use this code outside of CMSSW
3 // set this definition
4 //
5 
6 //#define STANDALONE_ECALCORR
7 #ifndef STANDALONE_ECALCORR
12 #endif
13 
14 #include <string>
15 #include <iostream>
16 
18  public:
19 
20  enum RunRange {RunAB, RunC, RunD};
21 
22  EcalIsolationCorrector(bool forElectrons);
24 
25 #ifndef STANDALONE_ECALCORR
26  // Global correction for ABCD together
27  float correctForNoise(reco::GsfElectron e, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3);
28  // Run dependent correction
29  float correctForNoise(reco::GsfElectron e, int runNumber, bool isData=false);
30  float correctForNoise(reco::GsfElectron e, std::string runName, bool isData=false);
31 
32  // Global correction for ABCD together
33  float correctForHLTDefinition(reco::GsfElectron e, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3);
34  // Run dependent correction
35  float correctForHLTDefinition(reco::GsfElectron e, int runNumber, bool isData=false);
36  float correctForHLTDefinition(reco::GsfElectron e, std::string runName, bool isData=false);
37 
38  // Global correction for ABCD together
39  float correctForNoise(reco::Photon p, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3);
40  // Run dependent correction
41  float correctForNoise(reco::Photon p, int runNumber, bool isData=false);
42  float correctForNoise(reco::Photon p, std::string runName, bool isData=false);
43 
44  // Global correction for ABCD together
45  float correctForHLTDefinition(reco::Photon p, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3);
46  // Run dependent correction
47  float correctForHLTDefinition(reco::Photon p, int runNumber, bool isData=false);
48  float correctForHLTDefinition(reco::Photon p, std::string runName, bool isData=false);
49 
50  // Global correction for ABCD together
51  float correctForNoise(pat::Electron e, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3);
52  // Run dependent correction
53  float correctForNoise(pat::Electron e, int runNumber, bool isData=false);
54  float correctForNoise(pat::Electron e, std::string runName, bool isData=false);
55 
56  // Global correction for ABCD together
57  float correctForHLTDefinition(pat::Electron e, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3);
58  // Run dependent correction
59  float correctForHLTDefinition(pat::Electron e, int runNumber, bool isData=false);
60  float correctForHLTDefinition(pat::Electron e, std::string runName, bool isData=false);
61 
62  // Global correction for ABCD together
63  float correctForNoise(pat::Photon p, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3);
64  // Run dependent correction
65  float correctForNoise(pat::Photon p, int runNumber, bool isData=false);
66  float correctForNoise(pat::Photon p, std::string runName, bool isData=false);
67 
68  // Global correction for ABCD together
69  float correctForHLTDefinition(pat::Photon p, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3);
70  // Run dependent correction
71  float correctForHLTDefinition(pat::Photon p, int runNumber, bool isData=false);
72  float correctForHLTDefinition(pat::Photon p, std::string runName, bool isData=false);
73 #else
74  // Global correction for ABCD together
75  float correctForNoise(float unCorrIso, bool isBarrel, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3);
76  // Run dependent correction
77  float correctForNoise(float unCorrIso, bool isBarrel, int runNumber, bool isData=false);
78  float correctForNoise(float unCorrIso, bool isBarrel, std::string runName, bool isData=false);
79 
80  // Global correction for ABCD together
81  float correctForHLTDefinition(float unCorrIso, bool isBarrrel, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3);
82  // Run dependent correction
83  float correctForHLTDefinition(float unCorrIso, bool isBarrel, int runNumber, bool isData=false);
84  float correctForHLTDefinition(float unCorrIso, bool isBarrel, std::string runName, bool isData=false);
85 #endif
86 
87  protected:
89  float correctForNoise(float iso, bool isBarrel, RunRange runRange, bool isData);
90  float correctForHLTDefinition(float iso, bool isBarrel, RunRange runRange);
91 
92  private:
94 };
Analysis-level Photon class.
Definition: Photon.h:46
float correctForNoise(reco::GsfElectron e, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3)
RunRange checkRunRange(int runNumber)
float correctForHLTDefinition(reco::GsfElectron e, bool isData=false, float intL_AB=5.5, float intL_C=6.7, float intL_D=7.3)
Analysis-level electron class.
Definition: Electron.h:52
EcalIsolationCorrector(bool forElectrons)