3 |
|
#include "MitPhysics/Utils/interface/ElectronTools.h" |
4 |
|
#include "MitAna/DataTree/interface/StableData.h" |
5 |
|
#include <TFile.h> |
6 |
+ |
#include "MitPhysics/ElectronLikelihood/interface/ElectronLikelihood.h" |
7 |
+ |
#include "MitPhysics/ElectronLikelihood/interface/LikelihoodSwitches.h" |
8 |
+ |
#include "MitPhysics/ElectronLikelihood/interface/LikelihoodMeasurements.h" |
9 |
|
|
10 |
|
ClassImp(mithep::ElectronTools) |
11 |
|
|
38 |
|
{0.3, 0.92, 0.211, 0.0, 0.42, 0.88, 0.68, 0.0}, //eoverp |
39 |
|
{0.8,0.2,0,0,0,0,0,0}}; //extra cuts fbrem and E_Over_P |
40 |
|
|
41 |
+ |
Double_t VBTFWorkingPointFakeable[6][8] = { |
42 |
+ |
{0.12, 0.12, 0.12, 0.12, 0.10, 0.10, 0.10, 0.10 }, //hovere |
43 |
+ |
{0.01, 0.01, 0.01, 0.01, 0.03, 0.03, 0.03, 0.03 }, //sigmaetaeta |
44 |
+ |
{0.15, 0.15, 0.15, 0.15, 0.10, 0.10, 0.10, 0.10 }, //deltaphiin |
45 |
+ |
{0.007, 0.007, 0.007, 0.007, 0.009, 0.009, 0.009, 0.009 }, //deltaetain |
46 |
+ |
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, //eoverp |
47 |
+ |
{0.0, 0.0, 0, 0, 0, 0, 0, 0 } //extra cuts fbrem and E_Over_P |
48 |
+ |
}; |
49 |
+ |
|
50 |
|
Double_t VBTFWorkingPoint95[6][8] = { |
51 |
|
{0.15, 0.15, 0.15, 0.15, 0.07, 0.07, 0.07, 0.07 }, //hovere |
52 |
|
{0.01, 0.01, 0.01, 0.01, 0.03, 0.03, 0.03, 0.03 }, //sigmaetaeta |
75 |
|
}; |
76 |
|
|
77 |
|
Double_t VBTFWorkingPoint80[6][8] = { |
78 |
< |
{0.04, 0.04, 0.04, 0.04, 0.025, 0.025, 0.025, 0.025}, //hovere |
78 |
> |
{0.04, 0.04, 0.04, 0.04, 0.10, 0.10, 0.10, 0.10 }, //hovere |
79 |
|
{0.01, 0.01, 0.01, 0.01, 0.03, 0.03, 0.03, 0.03 }, //sigmaetaeta |
80 |
|
{0.06, 0.06, 0.06, 0.06, 0.03, 0.03, 0.03, 0.03 }, //deltaphiin |
81 |
|
{0.004, 0.004, 0.004, 0.004, 0.007, 0.007, 0.007, 0.007}, //deltaetain |
92 |
|
{0.0, 0.0, 0, 0, 0, 0, 0, 0 } //extra cuts fbrem and E_Over_P |
93 |
|
}; |
94 |
|
|
95 |
+ |
Double_t VBTFWorkingPoint80NoHOverEE[6][8] = { |
96 |
+ |
{0.04, 0.04, 0.04, 0.04, 0.10, 0.10, 0.10, 0.10 }, //hovere |
97 |
+ |
{0.01, 0.01, 0.01, 0.01, 0.03, 0.03, 0.03, 0.03 }, //sigmaetaeta |
98 |
+ |
{0.06, 0.06, 0.06, 0.06, 0.03, 0.03, 0.03, 0.03 }, //deltaphiin |
99 |
+ |
{0.004, 0.004, 0.004, 0.004, 0.007, 0.007, 0.007, 0.007}, //deltaetain |
100 |
+ |
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, //eoverp |
101 |
+ |
{0.0, 0.0, 0, 0, 0, 0, 0, 0 } //extra cuts fbrem and E_Over_P |
102 |
+ |
}; |
103 |
+ |
|
104 |
+ |
Double_t VBTFWorkingPoint70NoHOverEE[6][8] = { |
105 |
+ |
{0.025, 0.025, 0.025, 0.025, 0.10, 0.10, 0.10, 0.10 }, //hovere |
106 |
+ |
{0.01, 0.01, 0.01, 0.01, 0.03, 0.03, 0.03, 0.03 }, //sigmaetaeta |
107 |
+ |
{0.03, 0.03, 0.03, 0.03, 0.02, 0.02, 0.02, 0.02 }, //deltaphiin |
108 |
+ |
{0.004, 0.004, 0.004, 0.004, 0.005, 0.005, 0.005, 0.005}, //deltaetain |
109 |
+ |
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, //eoverp |
110 |
+ |
{0.0, 0.0, 0, 0, 0, 0, 0, 0 } //extra cuts fbrem and E_Over_P |
111 |
+ |
}; |
112 |
+ |
|
113 |
|
switch (idType) { |
114 |
|
case kCustomIdTight: |
115 |
|
memcpy(fCuts,tightcuts,sizeof(fCuts)); |
117 |
|
case kCustomIdLoose: |
118 |
|
memcpy(fCuts,loosecuts,sizeof(fCuts)); |
119 |
|
break; |
120 |
+ |
case kVBTFWorkingPointFakeableId: |
121 |
+ |
memcpy(fCuts,VBTFWorkingPointFakeable,sizeof(fCuts)); |
122 |
+ |
break; |
123 |
|
case kVBTFWorkingPoint95Id: |
124 |
|
memcpy(fCuts,VBTFWorkingPoint95,sizeof(fCuts)); |
125 |
|
break; |
132 |
|
case kVBTFWorkingPoint80Id: |
133 |
|
memcpy(fCuts,VBTFWorkingPoint80,sizeof(fCuts)); |
134 |
|
break; |
135 |
< |
case kVBTFWorkingPoint80LowPtId: |
136 |
< |
memcpy(fCuts,VBTFWorkingPoint80,sizeof(fCuts)); |
135 |
> |
case kVBTFWorkingPointLowPtId: |
136 |
> |
if(ele->Pt() < 20) |
137 |
> |
memcpy(fCuts,VBTFWorkingPoint70NoHOverEE,sizeof(fCuts)); |
138 |
> |
else |
139 |
> |
memcpy(fCuts,VBTFWorkingPoint80NoHOverEE,sizeof(fCuts)); |
140 |
|
break; |
141 |
|
case kVBTFWorkingPoint70Id: |
142 |
|
memcpy(fCuts,VBTFWorkingPoint70,sizeof(fCuts)); |
146 |
|
break; |
147 |
|
} |
148 |
|
|
113 |
– |
|
149 |
|
// Based on RecoEgamma/ElectronIdentification/src/CutBasedElectronID.cc. |
150 |
|
Double_t eOverP = ele->ESuperClusterOverP(); |
151 |
|
Double_t fBrem = ele->FBrem(); |
173 |
|
Int_t eb = 1; |
174 |
|
if (ele->IsEB()) |
175 |
|
eb = 0; |
176 |
< |
|
176 |
> |
|
177 |
|
if (hOverE>fCuts[0][cat+4*eb]) |
178 |
|
return kFALSE; |
179 |
|
|
189 |
|
if(eSeedOverPin<fCuts[4][cat+4*eb]) |
190 |
|
return kFALSE; |
191 |
|
|
192 |
< |
// Cuts only for pt<20 region and kVBTFWorkingPoint80LowPtId |
193 |
< |
if(ele->Pt() < 20 && idType == kVBTFWorkingPoint80LowPtId) { |
192 |
> |
// Apply detector isolation at high pt only |
193 |
> |
Bool_t isoCut = kTRUE; |
194 |
> |
if(idType == kVBTFWorkingPointFakeableId){ |
195 |
> |
double isoEcal = ele->EcalRecHitIsoDr03(); |
196 |
> |
if(ele->IsEB()) isoEcal = isoEcal - 1.0; |
197 |
> |
isoCut = (ele->TrackIsolationDr03() < ele->Pt()*0.2) && |
198 |
> |
(isoEcal < ele->Pt()*0.2) && |
199 |
> |
(ele->HcalTowerSumEtDr03() < ele->Pt()*0.2); |
200 |
> |
} |
201 |
> |
if(isoCut == kFALSE) return kFALSE; |
202 |
> |
|
203 |
> |
// Cuts only for pt<20 region and kVBTFWorkingPointLowPtId |
204 |
> |
if(ele->Pt() < 20 && idType == kVBTFWorkingPointLowPtId) { |
205 |
|
Bool_t isGoodLowPtEl = fBrem > 0.15 || |
206 |
< |
(ele->AbsEta() < 1.0 && eOverP > 0.95 && |
161 |
< |
TMath::Abs(ele->Charge()*ele->DeltaPhiSuperClusterTrackAtVtx()) < 0.006); |
206 |
> |
(ele->SCluster()->AbsEta() < 1.0 && eOverP > 0.95); |
207 |
|
if(!isGoodLowPtEl) return kFALSE; |
208 |
|
} |
209 |
|
|
308 |
|
Double_t probMin, |
309 |
|
Double_t lxyMin, |
310 |
|
Bool_t matchCkf, |
311 |
< |
Bool_t requireArbitratedMerged) |
311 |
> |
Bool_t requireArbitratedMerged, |
312 |
> |
Double_t trkptMin) |
313 |
|
{ |
314 |
|
Bool_t isGoodConversion = kFALSE; |
315 |
|
|
335 |
|
const Track *trk = dynamic_cast<const ChargedParticle*> |
336 |
|
(conversions->At(ifc)->Daughter(d))->Trk(); |
337 |
|
if (trk) { |
338 |
+ |
if (trk->Pt()<trkptMin) isGoodConversion = kFALSE; |
339 |
|
const StableData *sd = dynamic_cast<const StableData*> |
340 |
|
(conversions->At(ifc)->DaughterDat(d)); |
341 |
|
if (sd->NWrongHits() > nWrongHitsMax) |
355 |
|
} |
356 |
|
|
357 |
|
//-------------------------------------------------------------------------------------------------- |
358 |
< |
Bool_t ElectronTools::PassD0Cut(const Electron *ele, const VertexCol *vertices, Double_t fD0Cut) |
358 |
> |
Bool_t ElectronTools::PassConversionFilterPFAOD(const Electron *ele, |
359 |
> |
const DecayParticleCol *conversions, |
360 |
> |
const BaseVertex *vtx, |
361 |
> |
UInt_t nWrongHitsMax, |
362 |
> |
Double_t probMin, |
363 |
> |
Double_t lxyMin, |
364 |
> |
Bool_t matchCkf, |
365 |
> |
Bool_t requireArbitratedMerged, |
366 |
> |
Double_t trkptMin) |
367 |
> |
{ |
368 |
> |
|
369 |
> |
Bool_t isGoodConversion = false; |
370 |
> |
for(unsigned int ifc=0; ifc<conversions->GetEntries(); ++ifc){ |
371 |
> |
if(!(conversions->At(ifc)->Prob() > probMin) && (!requireArbitratedMerged || conversions->At(ifc)->Quality().Quality(ConversionQuality::arbitratedMerged)) && (conversions->At(ifc)->LxyCorrected((BaseVertex*)vtx) > lxyMin)) continue; |
372 |
> |
bool conversionMatchFound = false; |
373 |
> |
for(unsigned int d=0; d<conversions->At(ifc)->NDaughters(); ++d){ |
374 |
> |
const ChargedParticle *pParticle = 0; |
375 |
> |
pParticle = dynamic_cast<const ChargedParticle*>(conversions->At(ifc)->Daughter(d)); |
376 |
> |
if(pParticle == 0) continue; |
377 |
> |
const Track* trk = 0; |
378 |
> |
trk = pParticle->Trk(); |
379 |
> |
if(trk == 0) continue; |
380 |
> |
if( ele->GsfTrk() == trk || (matchCkf && ele->TrackerTrk()==trk) ){ conversionMatchFound = true; break; } |
381 |
> |
const StableData* sd = dynamic_cast<const StableData*> (conversions->At(ifc)->DaughterDat(d)); |
382 |
> |
isGoodConversion = true; |
383 |
> |
if( sd->NWrongHits() > nWrongHitsMax ){ isGoodConversion = false; } |
384 |
> |
} |
385 |
> |
if(isGoodConversion) break; |
386 |
> |
} |
387 |
> |
return !isGoodConversion; |
388 |
> |
} |
389 |
> |
|
390 |
> |
//-------------------------------------------------------------------------------------------------- |
391 |
> |
Bool_t ElectronTools::PassD0Cut(const Electron *ele, const VertexCol *vertices, Double_t fD0Cut, Int_t nVertex) |
392 |
|
{ |
393 |
|
Bool_t d0cut = kFALSE; |
394 |
< |
// d0 cut |
395 |
< |
Double_t d0_real = 99999; |
396 |
< |
for(UInt_t i0 = 0; i0 < vertices->GetEntries(); i0++) { |
397 |
< |
if(vertices->At(i0)->NTracks() > 0){ |
398 |
< |
Double_t pD0 = ele->GsfTrk()->D0Corrected(*vertices->At(i0)); |
399 |
< |
d0_real = TMath::Abs(pD0); |
400 |
< |
break; |
394 |
> |
|
395 |
> |
Double_t d0_real = 1e30; |
396 |
> |
|
397 |
> |
if( nVertex >= (int) vertices->GetEntries() ) |
398 |
> |
nVertex = vertices->GetEntries() - 1; |
399 |
> |
|
400 |
> |
if(nVertex >= 0) d0_real = TMath::Abs(ele->GsfTrk()->D0Corrected(*vertices->At(nVertex))); |
401 |
> |
else { |
402 |
> |
Double_t distVtx = 999.0; |
403 |
> |
Int_t closestVtx = 0; |
404 |
> |
for(UInt_t nv=0; nv<vertices->GetEntries(); nv++){ |
405 |
> |
double dz = TMath::Abs(ele->GsfTrk()->DzCorrected(*vertices->At(nv))); |
406 |
> |
if(dz < distVtx) { |
407 |
> |
distVtx = dz; |
408 |
> |
closestVtx = nv; |
409 |
> |
} |
410 |
|
} |
411 |
+ |
d0_real = TMath::Abs(ele->GsfTrk()->D0Corrected(*vertices->At(closestVtx))); |
412 |
|
} |
413 |
|
if(d0_real < fD0Cut) d0cut = kTRUE; |
414 |
|
|
431 |
|
} |
432 |
|
|
433 |
|
//-------------------------------------------------------------------------------------------------- |
434 |
+ |
Bool_t ElectronTools::PassDZCut(const Electron *ele, const VertexCol *vertices, Double_t fDZCut, Int_t nVertex) |
435 |
+ |
{ |
436 |
+ |
Bool_t dzcut = kFALSE; |
437 |
+ |
|
438 |
+ |
Double_t distVtx = 999.0; |
439 |
+ |
|
440 |
+ |
if( nVertex >= (int) vertices->GetEntries() ) |
441 |
+ |
nVertex = vertices->GetEntries()-1; |
442 |
+ |
|
443 |
+ |
if(nVertex >= 0) distVtx = TMath::Abs(ele->GsfTrk()->DzCorrected(*vertices->At(nVertex))); |
444 |
+ |
else { |
445 |
+ |
for(UInt_t nv=0; nv<vertices->GetEntries(); nv++){ |
446 |
+ |
double dz = TMath::Abs(ele->GsfTrk()->DzCorrected(*vertices->At(nv))); |
447 |
+ |
if(dz < distVtx) { |
448 |
+ |
distVtx = dz; |
449 |
+ |
} |
450 |
+ |
} |
451 |
+ |
} |
452 |
+ |
|
453 |
+ |
if(distVtx < fDZCut) dzcut = kTRUE; |
454 |
+ |
|
455 |
+ |
return dzcut; |
456 |
+ |
} |
457 |
+ |
|
458 |
+ |
//-------------------------------------------------------------------------------------------------- |
459 |
|
Bool_t ElectronTools::PassChargeFilter(const Electron *ele) |
460 |
|
{ |
461 |
|
Bool_t passChargeFilter = kTRUE; |
1065 |
|
|
1066 |
|
return accept; |
1067 |
|
} |
1068 |
+ |
|
1069 |
+ |
//-------------------------------------------------------------------------------------------------- |
1070 |
+ |
Double_t ElectronTools::Likelihood(ElectronLikelihood *LH, const Electron *ele) |
1071 |
+ |
{ |
1072 |
+ |
if (!LH) { |
1073 |
+ |
std::cout << "Error: Likelihood not properly initialized\n"; |
1074 |
+ |
return -9999; |
1075 |
+ |
} |
1076 |
+ |
|
1077 |
+ |
LikelihoodMeasurements measurements; |
1078 |
+ |
measurements.pt = ele->Pt(); |
1079 |
+ |
if (ele->IsEB() && ele->AbsEta()<1.0) measurements.subdet = 0; |
1080 |
+ |
else if (ele->IsEB()) measurements.subdet = 1; |
1081 |
+ |
else measurements.subdet = 2; |
1082 |
+ |
measurements.deltaPhi = TMath::Abs(ele->DeltaPhiSuperClusterTrackAtVtx()); |
1083 |
+ |
measurements.deltaEta = TMath::Abs(ele->DeltaEtaSuperClusterTrackAtVtx()); |
1084 |
+ |
measurements.eSeedClusterOverPout = ele->ESeedClusterOverPout(); |
1085 |
+ |
measurements.eSuperClusterOverP = ele->ESuperClusterOverP(); |
1086 |
+ |
measurements.hadronicOverEm = ele->HadronicOverEm(); |
1087 |
+ |
measurements.sigmaIEtaIEta = ele->CoviEtaiEta(); |
1088 |
+ |
measurements.sigmaIPhiIPhi = TMath::Sqrt(ele->SCluster()->Seed()->CoviPhiiPhi()); |
1089 |
+ |
measurements.fBrem = ele->FBrem(); |
1090 |
+ |
measurements.nBremClusters = ele->NumberOfClusters() - 1; |
1091 |
+ |
//measurements.OneOverEMinusOneOverP = (1.0 / ele->SCluster()->Energy()) - (1.0 / ele->BestTrk()->P()); |
1092 |
+ |
measurements.OneOverEMinusOneOverP = (1.0 / ele->ESuperClusterOverP() / ele->BestTrk()->P()) - (1.0 / ele->BestTrk()->P()); |
1093 |
+ |
double likelihood = LH->result(measurements); |
1094 |
+ |
|
1095 |
+ |
double newLik = 0.0; |
1096 |
+ |
if (likelihood<=0) newLik = -20.0; |
1097 |
+ |
else if(likelihood>=1) newLik = 20.0; |
1098 |
+ |
else newLik = log(likelihood/(1.0-likelihood)); |
1099 |
+ |
|
1100 |
+ |
Bool_t isDebug = kFALSE; |
1101 |
+ |
if(isDebug == kTRUE){ |
1102 |
+ |
printf("LIKELIHOOD: %f %d %f %f %f %f %f %f %f %f %d %f %f %f - %f %f\n",measurements.pt,measurements.subdet, |
1103 |
+ |
measurements.deltaPhi ,measurements.deltaEta ,measurements.eSeedClusterOverPout, |
1104 |
+ |
measurements.eSuperClusterOverP,measurements.hadronicOverEm,measurements.sigmaIEtaIEta, |
1105 |
+ |
measurements.sigmaIPhiIPhi ,measurements.fBrem ,measurements.nBremClusters, |
1106 |
+ |
measurements.OneOverEMinusOneOverP,ele->SCluster()->Energy(),ele->BestTrk()->P(), |
1107 |
+ |
likelihood,newLik); |
1108 |
+ |
} |
1109 |
+ |
|
1110 |
+ |
return newLik; |
1111 |
+ |
|
1112 |
+ |
} |
1113 |
+ |
|
1114 |
+ |
Double_t ElectronTools::ElectronEffectiveArea(EElectronEffectiveAreaType type, Double_t SCEta, EElectronEffectiveAreaTarget EffectiveAreaTarget) { |
1115 |
+ |
|
1116 |
+ |
Double_t EffectiveArea = 0; |
1117 |
+ |
|
1118 |
+ |
if(type == ElectronTools::kEleNeutralIso04){ |
1119 |
+ |
if (fabs(SCEta) < 1.0 ) EffectiveArea = 0.19; |
1120 |
+ |
else if(fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.25; |
1121 |
+ |
else if(fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.000 ) EffectiveArea = 0.12; |
1122 |
+ |
else if(fabs(SCEta) >= 2.000 && fabs(SCEta) < 2.200 ) EffectiveArea = 0.21; |
1123 |
+ |
else if(fabs(SCEta) >= 2.200 && fabs(SCEta) < 2.300 ) EffectiveArea = 0.27; |
1124 |
+ |
else if(fabs(SCEta) >= 2.300 && fabs(SCEta) < 2.400 ) EffectiveArea = 0.44; |
1125 |
+ |
else EffectiveArea = 0.52; |
1126 |
+ |
return EffectiveArea; |
1127 |
+ |
} |
1128 |
+ |
|
1129 |
+ |
if (fabs(SCEta) < 1.0) { |
1130 |
+ |
if (type == ElectronTools::kEleChargedIso03) EffectiveArea = 0.000; |
1131 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso03) EffectiveArea = 0.017; |
1132 |
+ |
if (type == ElectronTools::kEleGammaIso03) EffectiveArea = 0.045; |
1133 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip03) EffectiveArea = 0.014; |
1134 |
+ |
if (type == ElectronTools::kEleChargedIso04) EffectiveArea = 0.000; |
1135 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso04) EffectiveArea = 0.034; |
1136 |
+ |
if (type == ElectronTools::kEleGammaIso04) EffectiveArea = 0.079; |
1137 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip04) EffectiveArea = 0.014; |
1138 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso007) EffectiveArea = 0.000; |
1139 |
+ |
if (type == ElectronTools::kEleHoverE) EffectiveArea = 0.00016; |
1140 |
+ |
if (type == ElectronTools::kEleHcalDepth1OverEcal) EffectiveArea = 0.00016; |
1141 |
+ |
if (type == ElectronTools::kEleHcalDepth2OverEcal) EffectiveArea = 0.00000; |
1142 |
+ |
} else if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) { |
1143 |
+ |
if (type == ElectronTools::kEleChargedIso03) EffectiveArea = 0.000; |
1144 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso03) EffectiveArea = 0.025; |
1145 |
+ |
if (type == ElectronTools::kEleGammaIso03) EffectiveArea = 0.052; |
1146 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip03) EffectiveArea = 0.030; |
1147 |
+ |
if (type == ElectronTools::kEleChargedIso04) EffectiveArea = 0.000; |
1148 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso04) EffectiveArea = 0.050; |
1149 |
+ |
if (type == ElectronTools::kEleGammaIso04) EffectiveArea = 0.073; |
1150 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip04) EffectiveArea = 0.030; |
1151 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso007) EffectiveArea = 0.000; |
1152 |
+ |
if (type == ElectronTools::kEleHoverE) EffectiveArea = 0.00022; |
1153 |
+ |
if (type == ElectronTools::kEleHcalDepth1OverEcal) EffectiveArea = 0.00022; |
1154 |
+ |
if (type == ElectronTools::kEleHcalDepth2OverEcal) EffectiveArea = 0.00000; |
1155 |
+ |
} else if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) { |
1156 |
+ |
if (type == ElectronTools::kEleChargedIso03) EffectiveArea = 0.000; |
1157 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso03) EffectiveArea = 0.030; |
1158 |
+ |
if (type == ElectronTools::kEleGammaIso03) EffectiveArea = 0.170; |
1159 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip03) EffectiveArea = 0.134; |
1160 |
+ |
if (type == ElectronTools::kEleChargedIso04) EffectiveArea = 0.000; |
1161 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso04) EffectiveArea = 0.060; |
1162 |
+ |
if (type == ElectronTools::kEleGammaIso04) EffectiveArea = 0.187; |
1163 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip04) EffectiveArea = 0.134; |
1164 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso007) EffectiveArea = 0.000; |
1165 |
+ |
if (type == ElectronTools::kEleHoverE) EffectiveArea = 0.00030; |
1166 |
+ |
if (type == ElectronTools::kEleHcalDepth1OverEcal) EffectiveArea = 0.00026; |
1167 |
+ |
if (type == ElectronTools::kEleHcalDepth2OverEcal) EffectiveArea = 0.00002; |
1168 |
+ |
} else if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.25 ) { |
1169 |
+ |
if (type == ElectronTools::kEleChargedIso03) EffectiveArea = 0.000; |
1170 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso03) EffectiveArea = 0.022; |
1171 |
+ |
if (type == ElectronTools::kEleGammaIso03) EffectiveArea = 0.623; |
1172 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip03) EffectiveArea = 0.516; |
1173 |
+ |
if (type == ElectronTools::kEleChargedIso04) EffectiveArea = 0.000; |
1174 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso04) EffectiveArea = 0.055; |
1175 |
+ |
if (type == ElectronTools::kEleGammaIso04) EffectiveArea = 0.659; |
1176 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip04) EffectiveArea = 0.517; |
1177 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso007) EffectiveArea = 0.000; |
1178 |
+ |
if (type == ElectronTools::kEleHoverE) EffectiveArea = 0.00054; |
1179 |
+ |
if (type == ElectronTools::kEleHcalDepth1OverEcal) EffectiveArea = 0.00045; |
1180 |
+ |
if (type == ElectronTools::kEleHcalDepth2OverEcal) EffectiveArea = 0.00003; |
1181 |
+ |
} else if (fabs(SCEta) >= 2.25 && fabs(SCEta) < 2.5 ) { |
1182 |
+ |
if (type == ElectronTools::kEleChargedIso03) EffectiveArea = 0.000; |
1183 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso03) EffectiveArea = 0.018; |
1184 |
+ |
if (type == ElectronTools::kEleGammaIso03) EffectiveArea = 1.198; |
1185 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip03) EffectiveArea = 1.049; |
1186 |
+ |
if (type == ElectronTools::kEleChargedIso04) EffectiveArea = 0.000; |
1187 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso04) EffectiveArea = 0.073; |
1188 |
+ |
if (type == ElectronTools::kEleGammaIso04) EffectiveArea = 1.258; |
1189 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip04) EffectiveArea = 1.051; |
1190 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso007) EffectiveArea = 0.000; |
1191 |
+ |
if (type == ElectronTools::kEleHoverE) EffectiveArea = 0.00082; |
1192 |
+ |
if (type == ElectronTools::kEleHcalDepth1OverEcal) EffectiveArea = 0.00066; |
1193 |
+ |
if (type == ElectronTools::kEleHcalDepth2OverEcal) EffectiveArea = 0.00004; |
1194 |
+ |
} |
1195 |
+ |
|
1196 |
+ |
//NoCorrections |
1197 |
+ |
if (EffectiveAreaTarget == kEleEANoCorr) { |
1198 |
+ |
return 0.0; |
1199 |
+ |
} |
1200 |
+ |
else if (EffectiveAreaTarget == kEleEAData2012) { |
1201 |
+ |
if (type == kEleGammaIso03) { |
1202 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.122; |
1203 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.147; |
1204 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.055; |
1205 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.106; |
1206 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.138; |
1207 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.221; |
1208 |
+ |
if (fabs(SCEta) >= 2.4 ) EffectiveArea = 0.211; |
1209 |
+ |
} |
1210 |
+ |
if (type == kEleGammaIso04) { |
1211 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.176; |
1212 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.206; |
1213 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.094; |
1214 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.172; |
1215 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.244; |
1216 |
+ |
if (fabs(SCEta) >= 2.4 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.333; |
1217 |
+ |
if (fabs(SCEta) >= 2.4 ) EffectiveArea = 0.348; |
1218 |
+ |
} |
1219 |
+ |
if (type == kEleNeutralHadronIso03) { |
1220 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.013; |
1221 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.021; |
1222 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.013; |
1223 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.010; |
1224 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.024; |
1225 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.020; |
1226 |
+ |
if (fabs(SCEta) >= 2.4 ) EffectiveArea = 0.019; |
1227 |
+ |
} |
1228 |
+ |
if (type == kEleNeutralHadronIso04) { |
1229 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.022; |
1230 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.036; |
1231 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.027; |
1232 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.028; |
1233 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.052; |
1234 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.063; |
1235 |
+ |
if (fabs(SCEta) >= 2.4 ) EffectiveArea = 0.028; |
1236 |
+ |
} |
1237 |
+ |
if (type == kEleGammaAndNeutralHadronIso04) { |
1238 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.19; |
1239 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.25; |
1240 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.12; |
1241 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.21; |
1242 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.27; |
1243 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.44; |
1244 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.52; |
1245 |
+ |
} |
1246 |
+ |
if (type == kEleGammaIsoDR0p0To0p1) { |
1247 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.051; |
1248 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.032; |
1249 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.006; |
1250 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.007; |
1251 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.024; |
1252 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.013; |
1253 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.013; |
1254 |
+ |
} |
1255 |
+ |
if (type == kEleGammaIsoDR0p1To0p2) { |
1256 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.013; |
1257 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.013; |
1258 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.021; |
1259 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.052; |
1260 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.066; |
1261 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.043; |
1262 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.102; |
1263 |
+ |
} |
1264 |
+ |
if (type == kEleGammaIsoDR0p2To0p3) { |
1265 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.026; |
1266 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.017; |
1267 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.012; |
1268 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.028; |
1269 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.041; |
1270 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.034; |
1271 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.042; |
1272 |
+ |
} |
1273 |
+ |
if (type == kEleGammaIsoDR0p3To0p4) { |
1274 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.039; |
1275 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.032; |
1276 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.017; |
1277 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.024; |
1278 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.053; |
1279 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.059; |
1280 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.069; |
1281 |
+ |
} |
1282 |
+ |
if (type == kEleGammaIsoDR0p4To0p5) { |
1283 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.059; |
1284 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.045; |
1285 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.033; |
1286 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.043; |
1287 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.056; |
1288 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.065; |
1289 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.074; |
1290 |
+ |
} |
1291 |
+ |
if (type == kEleNeutralHadronIsoDR0p0To0p1) { |
1292 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.001; |
1293 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.006; |
1294 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.001; |
1295 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.000; |
1296 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.001; |
1297 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.003; |
1298 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.008; |
1299 |
+ |
} |
1300 |
+ |
if (type == kEleNeutralHadronIsoDR0p1To0p2) { |
1301 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.002; |
1302 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.001; |
1303 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.004; |
1304 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.003; |
1305 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.005; |
1306 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.006; |
1307 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.010; |
1308 |
+ |
} |
1309 |
+ |
if (type == kEleNeutralHadronIsoDR0p2To0p3) { |
1310 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.007; |
1311 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.010; |
1312 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.009; |
1313 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.009; |
1314 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.007; |
1315 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.018; |
1316 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.028; |
1317 |
+ |
} |
1318 |
+ |
if (type == kEleNeutralHadronIsoDR0p3To0p4) { |
1319 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.010; |
1320 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.011; |
1321 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.012; |
1322 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.008; |
1323 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.018; |
1324 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.026; |
1325 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.063; |
1326 |
+ |
} |
1327 |
+ |
if (type == kEleNeutralHadronIsoDR0p4To0p5) { |
1328 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.011; |
1329 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.012; |
1330 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.016; |
1331 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.023; |
1332 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.038; |
1333 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.051; |
1334 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.143; |
1335 |
+ |
} |
1336 |
+ |
} |
1337 |
+ |
|
1338 |
+ |
//2011 Data Effective Areas |
1339 |
+ |
else if (EffectiveAreaTarget == kEleEAData2011) { |
1340 |
+ |
if (type == kEleGammaAndNeutralHadronIso03) { |
1341 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.100; |
1342 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.120; |
1343 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.085; |
1344 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.110; |
1345 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.120; |
1346 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.120; |
1347 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.130; |
1348 |
+ |
} |
1349 |
+ |
if (type == kEleGammaAndNeutralHadronIso04) { |
1350 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.180; |
1351 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.200; |
1352 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.150; |
1353 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.190; |
1354 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.210; |
1355 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.220; |
1356 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.290; |
1357 |
+ |
} |
1358 |
+ |
if (type == kEleGammaIsoDR0p0To0p1) { |
1359 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.017; |
1360 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.033; |
1361 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.005; |
1362 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.007; |
1363 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.004; |
1364 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.000; |
1365 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.000; |
1366 |
+ |
} |
1367 |
+ |
if (type == kEleGammaIsoDR0p1To0p2) { |
1368 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.010; |
1369 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.010; |
1370 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.019; |
1371 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.042; |
1372 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.041; |
1373 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.035; |
1374 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.041; |
1375 |
+ |
} |
1376 |
+ |
if (type == kEleGammaIsoDR0p2To0p3) { |
1377 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.020; |
1378 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.017; |
1379 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.014; |
1380 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.029; |
1381 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.039; |
1382 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.042; |
1383 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.048; |
1384 |
+ |
} |
1385 |
+ |
if (type == kEleGammaIsoDR0p3To0p4) { |
1386 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.036; |
1387 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.029; |
1388 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.020; |
1389 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.029; |
1390 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.042; |
1391 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.047; |
1392 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.054; |
1393 |
+ |
} |
1394 |
+ |
if (type == kEleGammaIsoDR0p4To0p5) { |
1395 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.051; |
1396 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.038; |
1397 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.028; |
1398 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.036; |
1399 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.047; |
1400 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.057; |
1401 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.059; |
1402 |
+ |
} |
1403 |
+ |
if (type == kEleNeutralHadronIsoDR0p0To0p1) { |
1404 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.001; |
1405 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.002; |
1406 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.002; |
1407 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.000; |
1408 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.000; |
1409 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.000; |
1410 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.000; |
1411 |
+ |
} |
1412 |
+ |
if (type == kEleNeutralHadronIsoDR0p1To0p2) { |
1413 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.005; |
1414 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.008; |
1415 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.008; |
1416 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.006; |
1417 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.003; |
1418 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.001; |
1419 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.003; |
1420 |
+ |
} |
1421 |
+ |
if (type == kEleNeutralHadronIsoDR0p2To0p3) { |
1422 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.010; |
1423 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.014; |
1424 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.017; |
1425 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.016; |
1426 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.016; |
1427 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.016; |
1428 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.019; |
1429 |
+ |
} |
1430 |
+ |
if (type == kEleNeutralHadronIsoDR0p3To0p4) { |
1431 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.015; |
1432 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.021; |
1433 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.025; |
1434 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.030; |
1435 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.036; |
1436 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.038; |
1437 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.084; |
1438 |
+ |
} |
1439 |
+ |
if (type == kEleNeutralHadronIsoDR0p4To0p5) { |
1440 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.020; |
1441 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.027; |
1442 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.035; |
1443 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.045; |
1444 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.051; |
1445 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.107; |
1446 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.228; |
1447 |
+ |
} |
1448 |
+ |
} |
1449 |
+ |
|
1450 |
+ |
//Summer11 MC Effective Areas |
1451 |
+ |
else if (EffectiveAreaTarget == kEleEASummer11MC) { |
1452 |
+ |
if (type == kEleGammaIsoDR0p0To0p1) { |
1453 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.015; |
1454 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.030; |
1455 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.004; |
1456 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.010; |
1457 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.014; |
1458 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.024; |
1459 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.023; |
1460 |
+ |
} |
1461 |
+ |
if (type == kEleGammaIsoDR0p1To0p2) { |
1462 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.012; |
1463 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.010; |
1464 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.009; |
1465 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.037; |
1466 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.046; |
1467 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.055; |
1468 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.046; |
1469 |
+ |
} |
1470 |
+ |
if (type == kEleGammaIsoDR0p2To0p3) { |
1471 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.021; |
1472 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.018; |
1473 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.013; |
1474 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.026; |
1475 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.038; |
1476 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.045; |
1477 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.059; |
1478 |
+ |
} |
1479 |
+ |
if (type == kEleGammaIsoDR0p3To0p4) { |
1480 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.036; |
1481 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.030; |
1482 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.017; |
1483 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.036; |
1484 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.058; |
1485 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.073; |
1486 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.083; |
1487 |
+ |
} |
1488 |
+ |
if (type == kEleGammaIsoDR0p4To0p5) { |
1489 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.053; |
1490 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.037; |
1491 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.032; |
1492 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.048; |
1493 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.062; |
1494 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.085; |
1495 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.118; |
1496 |
+ |
} |
1497 |
+ |
if (type == kEleNeutralHadronIsoDR0p0To0p1) { |
1498 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.000; |
1499 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.000; |
1500 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.000; |
1501 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.000; |
1502 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.000; |
1503 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.000; |
1504 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.000; |
1505 |
+ |
} |
1506 |
+ |
if (type == kEleNeutralHadronIsoDR0p1To0p2) { |
1507 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.004; |
1508 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.007; |
1509 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.009; |
1510 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.004; |
1511 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.003; |
1512 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.000; |
1513 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.004; |
1514 |
+ |
} |
1515 |
+ |
if (type == kEleNeutralHadronIsoDR0p2To0p3) { |
1516 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.008; |
1517 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.013; |
1518 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.016; |
1519 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.013; |
1520 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.014; |
1521 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.016; |
1522 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.021; |
1523 |
+ |
} |
1524 |
+ |
if (type == kEleNeutralHadronIsoDR0p3To0p4) { |
1525 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.012; |
1526 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.017; |
1527 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.020; |
1528 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.024; |
1529 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.040; |
1530 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.036; |
1531 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.086; |
1532 |
+ |
} |
1533 |
+ |
if (type == kEleNeutralHadronIsoDR0p4To0p5) { |
1534 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.016; |
1535 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.026; |
1536 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.030; |
1537 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.038; |
1538 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.051; |
1539 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.105; |
1540 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.169; |
1541 |
+ |
} |
1542 |
+ |
} |
1543 |
+ |
|
1544 |
+ |
//Fall11 MC Effective Areas |
1545 |
+ |
else if (EffectiveAreaTarget == kEleEAFall11MC) { |
1546 |
+ |
if (type == kEleGammaIsoDR0p0To0p1) { |
1547 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.014; |
1548 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.020; |
1549 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.004; |
1550 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.012; |
1551 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.016; |
1552 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.021; |
1553 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.012; |
1554 |
+ |
} |
1555 |
+ |
if (type == kEleGammaIsoDR0p1To0p2) { |
1556 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.012; |
1557 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.011; |
1558 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.015; |
1559 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.042; |
1560 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.055; |
1561 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.068; |
1562 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.067; |
1563 |
+ |
} |
1564 |
+ |
if (type == kEleGammaIsoDR0p2To0p3) { |
1565 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.024; |
1566 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.020; |
1567 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.017; |
1568 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.038; |
1569 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.051; |
1570 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.066; |
1571 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.080; |
1572 |
+ |
} |
1573 |
+ |
if (type == kEleGammaIsoDR0p3To0p4) { |
1574 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.040; |
1575 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.032; |
1576 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.021; |
1577 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.047; |
1578 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.066; |
1579 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.083; |
1580 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.123; |
1581 |
+ |
} |
1582 |
+ |
if (type == kEleGammaIsoDR0p4To0p5) { |
1583 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.059; |
1584 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.041; |
1585 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.037; |
1586 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.057; |
1587 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.095; |
1588 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.123; |
1589 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.133; |
1590 |
+ |
} |
1591 |
+ |
if (type == kEleNeutralHadronIsoDR0p0To0p1) { |
1592 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.002; |
1593 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.003; |
1594 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.000; |
1595 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.000; |
1596 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.000; |
1597 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.000; |
1598 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.000; |
1599 |
+ |
} |
1600 |
+ |
if (type == kEleNeutralHadronIsoDR0p1To0p2) { |
1601 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.006; |
1602 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.008; |
1603 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.010; |
1604 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.006; |
1605 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.005; |
1606 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.002; |
1607 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.007; |
1608 |
+ |
} |
1609 |
+ |
if (type == kEleNeutralHadronIsoDR0p2To0p3) { |
1610 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.009; |
1611 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.014; |
1612 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.018; |
1613 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.016; |
1614 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.017; |
1615 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.020; |
1616 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.021; |
1617 |
+ |
} |
1618 |
+ |
if (type == kEleNeutralHadronIsoDR0p3To0p4) { |
1619 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.013; |
1620 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.019; |
1621 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.027; |
1622 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.035; |
1623 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.037; |
1624 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.043; |
1625 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.110; |
1626 |
+ |
} |
1627 |
+ |
if (type == kEleNeutralHadronIsoDR0p4To0p5) { |
1628 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.017; |
1629 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.027; |
1630 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.036; |
1631 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.045; |
1632 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.057; |
1633 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.123; |
1634 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.220; |
1635 |
+ |
} |
1636 |
+ |
} |
1637 |
+ |
|
1638 |
+ |
return EffectiveArea; |
1639 |
+ |
} |
1640 |
+ |
|
1641 |
+ |
|
1642 |
+ |
Bool_t ElectronTools::PassHggLeptonTagID(const Electron* ele) { |
1643 |
+ |
|
1644 |
+ |
float dist = ( ele->ConvPartnerDist() == -9999.? 9999:TMath::Abs(ele->ConvPartnerDist())); |
1645 |
+ |
float dcot = ( ele->ConvPartnerDCotTheta() == -9999.? 9999:TMath::Abs(ele->ConvPartnerDCotTheta())); |
1646 |
+ |
|
1647 |
+ |
if (dist < 0.02) return false; |
1648 |
+ |
if (dcot < 0.02) return false; |
1649 |
+ |
|
1650 |
+ |
int numInnerHits = ele->Trk()->NExpectedHitsInner(); |
1651 |
+ |
if( numInnerHits > 1 ) return false; |
1652 |
+ |
|
1653 |
+ |
float coviEtaiEta = ele->CoviEtaiEta(); |
1654 |
+ |
if( ele->SCluster()->AbsEta() < 1.5 && coviEtaiEta > 0.01 ) return false; |
1655 |
+ |
else if( ele->SCluster()->AbsEta() > 1.5 && coviEtaiEta > 0.031 ) return false; |
1656 |
+ |
|
1657 |
+ |
Double_t deltaPhiIn = TMath::Abs(ele->DeltaPhiSuperClusterTrackAtVtx()); |
1658 |
+ |
Double_t deltaEtaIn = TMath::Abs(ele->DeltaEtaSuperClusterTrackAtVtx()); |
1659 |
+ |
|
1660 |
+ |
if( ele->SCluster()->AbsEta() < 1.5 && ( deltaPhiIn > 0.039 || deltaEtaIn > 0.005 ) ) return false; |
1661 |
+ |
else if ( ele->SCluster()->AbsEta() > 1.5 && ( deltaPhiIn > 0.028 || deltaEtaIn > 0.007 ) ) return false; |
1662 |
+ |
|
1663 |
+ |
return true; |
1664 |
+ |
} |
1665 |
+ |
|
1666 |
+ |
Bool_t ElectronTools::PassHggLeptonTagID2012(const Electron* ele) { |
1667 |
+ |
|
1668 |
+ |
if (TMath::Abs(1./ele->E()-1./ele->Pt())>0.05) return false; |
1669 |
+ |
|
1670 |
+ |
int numInnerHits = ele->Trk()->NExpectedHitsInner(); |
1671 |
+ |
if( numInnerHits > 1 ) return false; |
1672 |
+ |
|
1673 |
+ |
float coviEtaiEta = ele->CoviEtaiEta(); |
1674 |
+ |
if( ele->SCluster()->AbsEta() < 1.5 && coviEtaiEta > 0.01 ) return false; |
1675 |
+ |
else if( ele->SCluster()->AbsEta() > 1.5 && coviEtaiEta > 0.03 ) return false; // h |
1676 |
+ |
|
1677 |
+ |
Double_t deltaPhiIn = TMath::Abs(ele->DeltaPhiSuperClusterTrackAtVtx()); |
1678 |
+ |
Double_t deltaEtaIn = TMath::Abs(ele->DeltaEtaSuperClusterTrackAtVtx()); |
1679 |
+ |
|
1680 |
+ |
if( ele->SCluster()->AbsEta() < 1.5 && ( deltaPhiIn > 0.15 || deltaEtaIn > 0.007 || ele->HadronicOverEm()>0.12) ) return false; // h |
1681 |
+ |
else if ( ele->SCluster()->AbsEta() > 1.5 && ( deltaPhiIn > 0.10 || deltaEtaIn > 0.009 || ele->HadronicOverEm()>0.10 ) ) return false; // h |
1682 |
+ |
|
1683 |
+ |
return true; |
1684 |
+ |
} |
1685 |
+ |
|
1686 |
+ |
std::pair<Double_t,Double_t> ElectronTools::ComputeEPCombination( const Electron * ele, const float regression_energy, |
1687 |
+ |
const float regression_energy_error) { |
1688 |
+ |
|
1689 |
+ |
enum Classification { GSF_ELECTRON_UNKNOWN=-1, |
1690 |
+ |
GSF_ELECTRON_GOLDEN=0, |
1691 |
+ |
GSF_ELECTRON_BIGBREM=1, |
1692 |
+ |
GSF_ELECTRON_BADTRACK=2, |
1693 |
+ |
GSF_ELECTRON_SHOWERING=3, |
1694 |
+ |
GSF_ELECTRON_GAP=4 } ; |
1695 |
+ |
|
1696 |
+ |
float newEnergyError_ = regression_energy_error; |
1697 |
+ |
float scEnergy = regression_energy; |
1698 |
+ |
|
1699 |
+ |
int elClass = ele->Classification(); |
1700 |
+ |
|
1701 |
+ |
float trackMomentum = ele->PIn() ; |
1702 |
+ |
float errorTrackMomentum_ = 999. ; |
1703 |
+ |
|
1704 |
+ |
// the electron's track momentum error was not available in bambu versions less than 029 |
1705 |
+ |
if(ele->TrackMomentumError() > 0) |
1706 |
+ |
errorTrackMomentum_ = ele->TrackMomentumError(); |
1707 |
+ |
else if ( ele->GsfTrk()->PtErr() > 0) |
1708 |
+ |
errorTrackMomentum_ = ele->GsfTrk()->PtErr()*cosh(ele->GsfTrk()->Eta()); |
1709 |
+ |
else |
1710 |
+ |
assert(0); |
1711 |
+ |
|
1712 |
+ |
float finalMomentum = ele->E(); // initial |
1713 |
+ |
float finalMomentumError = 999.; |
1714 |
+ |
|
1715 |
+ |
// first check for large errors |
1716 |
+ |
|
1717 |
+ |
if (errorTrackMomentum_/trackMomentum > 0.5 && regression_energy_error/regression_energy <= 0.5) { |
1718 |
+ |
finalMomentum = regression_energy; finalMomentumError = regression_energy_error; |
1719 |
+ |
} |
1720 |
+ |
else if (errorTrackMomentum_/trackMomentum <= 0.5 && regression_energy_error/regression_energy > 0.5){ |
1721 |
+ |
finalMomentum = trackMomentum; finalMomentumError = errorTrackMomentum_; |
1722 |
+ |
} |
1723 |
+ |
else if (errorTrackMomentum_/trackMomentum > 0.5 && regression_energy_error/regression_energy > 0.5){ |
1724 |
+ |
if (errorTrackMomentum_/trackMomentum < regression_energy_error/regression_energy) { |
1725 |
+ |
finalMomentum = trackMomentum; finalMomentumError = errorTrackMomentum_; |
1726 |
+ |
} |
1727 |
+ |
else{ |
1728 |
+ |
finalMomentum = regression_energy; finalMomentumError = regression_energy_error; |
1729 |
+ |
} |
1730 |
+ |
} |
1731 |
+ |
// then apply the combination algorithm |
1732 |
+ |
else { |
1733 |
+ |
// calculate E/p and corresponding error |
1734 |
+ |
float eOverP = regression_energy / trackMomentum; |
1735 |
+ |
float errorEOverP = sqrt( |
1736 |
+ |
(regression_energy_error/trackMomentum)*(regression_energy_error/trackMomentum) + |
1737 |
+ |
(regression_energy*errorTrackMomentum_/trackMomentum/trackMomentum)* |
1738 |
+ |
(regression_energy*errorTrackMomentum_/trackMomentum/trackMomentum)); |
1739 |
+ |
|
1740 |
+ |
|
1741 |
+ |
bool eleIsNotInCombination = false ; |
1742 |
+ |
if ( (eOverP > 1 + 2.5*errorEOverP) || (eOverP < 1 - 2.5*errorEOverP) || (eOverP < 0.8) || (eOverP > 1.3) ) |
1743 |
+ |
{ eleIsNotInCombination = true ; } |
1744 |
+ |
if (eleIsNotInCombination) |
1745 |
+ |
{ |
1746 |
+ |
if (eOverP > 1) |
1747 |
+ |
{ finalMomentum = regression_energy ; finalMomentumError = regression_energy_error ; } |
1748 |
+ |
else |
1749 |
+ |
{ |
1750 |
+ |
if (elClass == GSF_ELECTRON_GOLDEN) |
1751 |
+ |
{ finalMomentum = regression_energy; finalMomentumError = regression_energy_error; } |
1752 |
+ |
if (elClass == GSF_ELECTRON_BIGBREM) |
1753 |
+ |
{ |
1754 |
+ |
if (regression_energy<36) |
1755 |
+ |
{ finalMomentum = trackMomentum ; finalMomentumError = errorTrackMomentum_ ; } |
1756 |
+ |
else |
1757 |
+ |
{ finalMomentum = regression_energy ; finalMomentumError = regression_energy_error ; } |
1758 |
+ |
} |
1759 |
+ |
if (elClass == GSF_ELECTRON_BADTRACK) |
1760 |
+ |
{ finalMomentum = regression_energy; finalMomentumError = regression_energy_error ; } |
1761 |
+ |
if (elClass == GSF_ELECTRON_SHOWERING) |
1762 |
+ |
{ |
1763 |
+ |
if (regression_energy<30) |
1764 |
+ |
{ finalMomentum = trackMomentum ; finalMomentumError = errorTrackMomentum_; } |
1765 |
+ |
else |
1766 |
+ |
{ finalMomentum = regression_energy; finalMomentumError = regression_energy_error;} |
1767 |
+ |
} |
1768 |
+ |
if (elClass == GSF_ELECTRON_GAP) |
1769 |
+ |
{ |
1770 |
+ |
if (regression_energy<60) |
1771 |
+ |
{ finalMomentum = trackMomentum ; finalMomentumError = errorTrackMomentum_ ; } |
1772 |
+ |
else |
1773 |
+ |
{ finalMomentum = regression_energy; finalMomentumError = regression_energy_error ; } |
1774 |
+ |
} |
1775 |
+ |
} |
1776 |
+ |
} |
1777 |
+ |
else |
1778 |
+ |
{ |
1779 |
+ |
// combination |
1780 |
+ |
finalMomentum = (regression_energy/regression_energy_error/regression_energy_error + trackMomentum/errorTrackMomentum_/errorTrackMomentum_) / |
1781 |
+ |
(1/regression_energy_error/regression_energy_error + 1/errorTrackMomentum_/errorTrackMomentum_); |
1782 |
+ |
float finalMomentumVariance = 1 / (1/regression_energy_error/regression_energy_error + 1/errorTrackMomentum_/errorTrackMomentum_); |
1783 |
+ |
finalMomentumError = sqrt(finalMomentumVariance); |
1784 |
+ |
} |
1785 |
+ |
} |
1786 |
+ |
|
1787 |
+ |
std::pair<Double_t,Double_t> value; |
1788 |
+ |
value.first = finalMomentum; |
1789 |
+ |
value.second = finalMomentumError; |
1790 |
+ |
return value; |
1791 |
+ |
|
1792 |
+ |
} |