@@ -14,11 +14,12 @@ bool EgammaCutBasedEleId::PassWP(WorkingPoint workingPoint,
14
14
const double &iso_ch,
15
15
const double &iso_em,
16
16
const double &iso_nh,
17
- const double &rho)
17
+ const double &rho,
18
+ ElectronEffectiveArea::ElectronEffectiveAreaTarget EAtarget)
18
19
{
19
20
20
21
// get the mask
21
- unsigned int mask = TestWP (workingPoint, ele, conversions, beamspot, vtxs, iso_ch, iso_em, iso_nh, rho);
22
+ unsigned int mask = TestWP (workingPoint, ele, conversions, beamspot, vtxs, iso_ch, iso_em, iso_nh, rho, EAtarget );
22
23
23
24
// check if the desired WP passed
24
25
if ((mask & PassAll) == PassAll) return true ;
@@ -33,9 +34,10 @@ bool EgammaCutBasedEleId::PassWP(WorkingPoint workingPoint,
33
34
const double &iso_ch,
34
35
const double &iso_em,
35
36
const double &iso_nh,
36
- const double &rho)
37
+ const double &rho,
38
+ ElectronEffectiveArea::ElectronEffectiveAreaTarget EAtarget)
37
39
{
38
- return PassWP (workingPoint,*ele,conversions,beamspot,vtxs,iso_ch,iso_em,iso_nh,rho);
40
+ return PassWP (workingPoint,*ele,conversions,beamspot,vtxs,iso_ch,iso_em,iso_nh,rho, EAtarget );
39
41
}
40
42
41
43
bool EgammaCutBasedEleId::PassTriggerCuts (TriggerWorkingPoint triggerWorkingPoint, const reco::GsfElectron &ele)
@@ -88,7 +90,8 @@ unsigned int EgammaCutBasedEleId::TestWP(WorkingPoint workingPoint,
88
90
const double &iso_ch,
89
91
const double &iso_em,
90
92
const double &iso_nh,
91
- const double &rho)
93
+ const double &rho,
94
+ ElectronEffectiveArea::ElectronEffectiveAreaTarget EAtarget)
92
95
{
93
96
94
97
// get the ID variables from the electron object
@@ -123,11 +126,10 @@ unsigned int EgammaCutBasedEleId::TestWP(WorkingPoint workingPoint,
123
126
124
127
// get the mask value
125
128
unsigned int mask = EgammaCutBasedEleId::TestWP (workingPoint, isEB, pt, eta, dEtaIn, dPhiIn,
126
- sigmaIEtaIEta, hoe, ooemoop, d0vtx, dzvtx, iso_ch, iso_em, iso_nh, vtxFitConversion, mHits , rho);
129
+ sigmaIEtaIEta, hoe, ooemoop, d0vtx, dzvtx, iso_ch, iso_em, iso_nh, vtxFitConversion, mHits , rho, EAtarget );
127
130
128
131
// return the mask value
129
132
return mask;
130
-
131
133
}
132
134
133
135
unsigned int EgammaCutBasedEleId::TestWP (WorkingPoint workingPoint,
@@ -138,8 +140,9 @@ unsigned int EgammaCutBasedEleId::TestWP(WorkingPoint workingPoint,
138
140
const double &iso_ch,
139
141
const double &iso_em,
140
142
const double &iso_nh,
141
- const double &rho) {
142
- return TestWP (workingPoint,*ele,conversions,beamspot,vtxs,iso_ch,iso_em,iso_nh,rho);
143
+ const double &rho,
144
+ ElectronEffectiveArea::ElectronEffectiveAreaTarget EAtarget) {
145
+ return TestWP (workingPoint,*ele,conversions,beamspot,vtxs,iso_ch,iso_em,iso_nh,rho, EAtarget);
143
146
}
144
147
145
148
@@ -148,10 +151,10 @@ unsigned int EgammaCutBasedEleId::TestWP(WorkingPoint workingPoint,
148
151
bool EgammaCutBasedEleId::PassWP (WorkingPoint workingPoint, const bool isEB, const float pt, const float eta,
149
152
const float dEtaIn, const float dPhiIn, const float sigmaIEtaIEta, const float hoe,
150
153
const float ooemoop, const float d0vtx, const float dzvtx, const float iso_ch, const float iso_em, const float iso_nh,
151
- const bool vtxFitConversion, const unsigned int mHits , const double rho)
154
+ const bool vtxFitConversion, const unsigned int mHits , const double rho, ElectronEffectiveArea::ElectronEffectiveAreaTarget EAtarget )
152
155
{
153
156
unsigned int mask = EgammaCutBasedEleId::TestWP (workingPoint, isEB, pt, eta, dEtaIn, dPhiIn,
154
- sigmaIEtaIEta, hoe, ooemoop, d0vtx, dzvtx, iso_ch, iso_em, iso_nh, vtxFitConversion, mHits , rho);
157
+ sigmaIEtaIEta, hoe, ooemoop, d0vtx, dzvtx, iso_ch, iso_em, iso_nh, vtxFitConversion, mHits , rho, EAtarget );
155
158
156
159
if ((mask & PassAll) == PassAll) return true ;
157
160
return false ;
@@ -216,7 +219,7 @@ bool EgammaCutBasedEleId::PassEoverPCuts(const float eta, const float eopin, con
216
219
unsigned int EgammaCutBasedEleId::TestWP (WorkingPoint workingPoint, const bool isEB, const float pt, const float eta,
217
220
const float dEtaIn, const float dPhiIn, const float sigmaIEtaIEta, const float hoe,
218
221
const float ooemoop, const float d0vtx, const float dzvtx, const float iso_ch, const float iso_em, const float iso_nh,
219
- const bool vtxFitConversion, const unsigned int mHits , const double rho)
222
+ const bool vtxFitConversion, const unsigned int mHits , const double rho, ElectronEffectiveArea::ElectronEffectiveAreaTarget EAtarget )
220
223
{
221
224
222
225
unsigned int mask = 0 ;
@@ -302,7 +305,8 @@ unsigned int EgammaCutBasedEleId::TestWP(WorkingPoint workingPoint, const bool i
302
305
unsigned int idx = isEB ? 0 : 1 ;
303
306
304
307
// effective area for isolation
305
- float AEff = ElectronEffectiveArea::GetElectronEffectiveArea (ElectronEffectiveArea::kEleGammaAndNeutralHadronIso03 , eta, ElectronEffectiveArea::kEleEAData2011 );
308
+ float AEff = ElectronEffectiveArea::GetElectronEffectiveArea (ElectronEffectiveArea::kEleGammaAndNeutralHadronIso03 , eta, EAtarget);
309
+ // float AEff = ElectronEffectiveArea::GetElectronEffectiveArea(ElectronEffectiveArea::kEleGammaAndNeutralHadronIso03, eta, ElectronEffectiveArea::kEleEAData2011);
306
310
307
311
// apply to neutrals
308
312
double rhoPrime = std::max (rho, 0.0 );
0 commit comments