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 |
> |
Bool_t isoCut = kTRUE; |
193 |
> |
if(idType == kVBTFWorkingPointFakeableId){ |
194 |
> |
double isoEcal = ele->EcalRecHitIsoDr03(); |
195 |
> |
if(ele->IsEB()) isoEcal = isoEcal - 1.0; |
196 |
> |
isoCut = (ele->TrackIsolationDr03() < ele->Pt()*0.2) && |
197 |
> |
(isoEcal < ele->Pt()*0.2) && |
198 |
> |
(ele->HcalTowerSumEtDr03() < ele->Pt()*0.2); |
199 |
> |
} |
200 |
> |
if(isoCut == kFALSE) return kFALSE; |
201 |
> |
|
202 |
> |
// Cuts only for pt<20 region and kVBTFWorkingPointLowPtId |
203 |
> |
if(ele->Pt() < 20 && idType == kVBTFWorkingPointLowPtId) { |
204 |
|
Bool_t isGoodLowPtEl = fBrem > 0.15 || |
205 |
< |
(ele->AbsEta() < 1.0 && eOverP > 0.95 && |
161 |
< |
TMath::Abs(ele->Charge()*ele->DeltaPhiSuperClusterTrackAtVtx()) < 0.006); |
205 |
> |
(ele->SCluster()->AbsEta() < 1.0 && eOverP > 0.95); |
206 |
|
if(!isGoodLowPtEl) return kFALSE; |
207 |
|
} |
208 |
|
|
307 |
|
Double_t probMin, |
308 |
|
Double_t lxyMin, |
309 |
|
Bool_t matchCkf, |
310 |
< |
Bool_t requireArbitratedMerged) |
310 |
> |
Bool_t requireArbitratedMerged, |
311 |
> |
Double_t trkptMin) |
312 |
|
{ |
313 |
|
Bool_t isGoodConversion = kFALSE; |
314 |
|
|
334 |
|
const Track *trk = dynamic_cast<const ChargedParticle*> |
335 |
|
(conversions->At(ifc)->Daughter(d))->Trk(); |
336 |
|
if (trk) { |
337 |
+ |
if (trk->Pt()<trkptMin) isGoodConversion = kFALSE; |
338 |
|
const StableData *sd = dynamic_cast<const StableData*> |
339 |
|
(conversions->At(ifc)->DaughterDat(d)); |
340 |
|
if (sd->NWrongHits() > nWrongHitsMax) |
359 |
|
Bool_t d0cut = kFALSE; |
360 |
|
|
361 |
|
Double_t d0_real = 1e30; |
362 |
+ |
|
363 |
+ |
if( nVertex >= (int) vertices->GetEntries() ) |
364 |
+ |
nVertex = vertices->GetEntries() - 1; |
365 |
+ |
|
366 |
|
if(nVertex >= 0) d0_real = TMath::Abs(ele->GsfTrk()->D0Corrected(*vertices->At(nVertex))); |
367 |
|
else { |
368 |
|
Double_t distVtx = 999.0; |
397 |
|
} |
398 |
|
|
399 |
|
//-------------------------------------------------------------------------------------------------- |
400 |
< |
Bool_t ElectronTools::PassDZCut(const Electron *ele, const VertexCol *vertices, Double_t fDZCut) |
400 |
> |
Bool_t ElectronTools::PassDZCut(const Electron *ele, const VertexCol *vertices, Double_t fDZCut, Int_t nVertex) |
401 |
|
{ |
402 |
|
Bool_t dzcut = kFALSE; |
403 |
|
|
404 |
|
Double_t distVtx = 999.0; |
405 |
< |
for(UInt_t nv=0; nv<vertices->GetEntries(); nv++){ |
406 |
< |
double dz = TMath::Abs(ele->GsfTrk()->DzCorrected(*vertices->At(nv))); |
407 |
< |
if(dz < distVtx) { |
408 |
< |
distVtx = dz; |
405 |
> |
|
406 |
> |
if( nVertex >= (int) vertices->GetEntries() ) |
407 |
> |
nVertex = vertices->GetEntries()-1; |
408 |
> |
|
409 |
> |
if(nVertex >= 0) distVtx = TMath::Abs(ele->GsfTrk()->DzCorrected(*vertices->At(nVertex))); |
410 |
> |
else { |
411 |
> |
for(UInt_t nv=0; nv<vertices->GetEntries(); nv++){ |
412 |
> |
double dz = TMath::Abs(ele->GsfTrk()->DzCorrected(*vertices->At(nv))); |
413 |
> |
if(dz < distVtx) { |
414 |
> |
distVtx = dz; |
415 |
> |
} |
416 |
|
} |
417 |
|
} |
418 |
+ |
|
419 |
|
if(distVtx < fDZCut) dzcut = kTRUE; |
420 |
|
|
421 |
|
return dzcut; |
1031 |
|
|
1032 |
|
return accept; |
1033 |
|
} |
1034 |
+ |
|
1035 |
+ |
//-------------------------------------------------------------------------------------------------- |
1036 |
+ |
Double_t ElectronTools::Likelihood(ElectronLikelihood *LH, const Electron *ele) |
1037 |
+ |
{ |
1038 |
+ |
if (!LH) { |
1039 |
+ |
std::cout << "Error: Likelihood not properly initialized\n"; |
1040 |
+ |
return -9999; |
1041 |
+ |
} |
1042 |
+ |
|
1043 |
+ |
LikelihoodMeasurements measurements; |
1044 |
+ |
measurements.pt = ele->Pt(); |
1045 |
+ |
if (ele->IsEB() && ele->AbsEta()<1.0) measurements.subdet = 0; |
1046 |
+ |
else if (ele->IsEB()) measurements.subdet = 1; |
1047 |
+ |
else measurements.subdet = 2; |
1048 |
+ |
measurements.deltaPhi = TMath::Abs(ele->DeltaPhiSuperClusterTrackAtVtx()); |
1049 |
+ |
measurements.deltaEta = TMath::Abs(ele->DeltaEtaSuperClusterTrackAtVtx()); |
1050 |
+ |
measurements.eSeedClusterOverPout = ele->ESeedClusterOverPout(); |
1051 |
+ |
measurements.eSuperClusterOverP = ele->ESuperClusterOverP(); |
1052 |
+ |
measurements.hadronicOverEm = ele->HadronicOverEm(); |
1053 |
+ |
measurements.sigmaIEtaIEta = ele->CoviEtaiEta(); |
1054 |
+ |
measurements.sigmaIPhiIPhi = TMath::Sqrt(ele->SCluster()->Seed()->CoviPhiiPhi()); |
1055 |
+ |
measurements.fBrem = ele->FBrem(); |
1056 |
+ |
measurements.nBremClusters = ele->NumberOfClusters() - 1; |
1057 |
+ |
//measurements.OneOverEMinusOneOverP = (1.0 / ele->SCluster()->Energy()) - (1.0 / ele->BestTrk()->P()); |
1058 |
+ |
measurements.OneOverEMinusOneOverP = (1.0 / ele->ESuperClusterOverP() / ele->BestTrk()->P()) - (1.0 / ele->BestTrk()->P()); |
1059 |
+ |
double likelihood = LH->result(measurements); |
1060 |
+ |
|
1061 |
+ |
double newLik = 0.0; |
1062 |
+ |
if (likelihood<=0) newLik = -20.0; |
1063 |
+ |
else if(likelihood>=1) newLik = 20.0; |
1064 |
+ |
else newLik = log(likelihood/(1.0-likelihood)); |
1065 |
+ |
|
1066 |
+ |
Bool_t isDebug = kFALSE; |
1067 |
+ |
if(isDebug == kTRUE){ |
1068 |
+ |
printf("LIKELIHOOD: %f %d %f %f %f %f %f %f %f %f %d %f %f %f - %f %f\n",measurements.pt,measurements.subdet, |
1069 |
+ |
measurements.deltaPhi ,measurements.deltaEta ,measurements.eSeedClusterOverPout, |
1070 |
+ |
measurements.eSuperClusterOverP,measurements.hadronicOverEm,measurements.sigmaIEtaIEta, |
1071 |
+ |
measurements.sigmaIPhiIPhi ,measurements.fBrem ,measurements.nBremClusters, |
1072 |
+ |
measurements.OneOverEMinusOneOverP,ele->SCluster()->Energy(),ele->BestTrk()->P(), |
1073 |
+ |
likelihood,newLik); |
1074 |
+ |
} |
1075 |
+ |
|
1076 |
+ |
return newLik; |
1077 |
+ |
|
1078 |
+ |
} |
1079 |
+ |
|
1080 |
+ |
Double_t ElectronTools::ElectronEffectiveArea(EElectronEffectiveAreaType type, Double_t SCEta, EElectronEffectiveAreaTarget EffectiveAreaTarget) { |
1081 |
+ |
|
1082 |
+ |
Double_t EffectiveArea = 0; |
1083 |
+ |
|
1084 |
+ |
if(type == ElectronTools::kEleNeutralIso04){ |
1085 |
+ |
if (fabs(SCEta) < 1.0 ) EffectiveArea = 0.19; |
1086 |
+ |
else if(fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.25; |
1087 |
+ |
else if(fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.000 ) EffectiveArea = 0.12; |
1088 |
+ |
else if(fabs(SCEta) >= 2.000 && fabs(SCEta) < 2.200 ) EffectiveArea = 0.21; |
1089 |
+ |
else if(fabs(SCEta) >= 2.200 && fabs(SCEta) < 2.300 ) EffectiveArea = 0.27; |
1090 |
+ |
else if(fabs(SCEta) >= 2.300 && fabs(SCEta) < 2.400 ) EffectiveArea = 0.44; |
1091 |
+ |
else EffectiveArea = 0.52; |
1092 |
+ |
return EffectiveArea; |
1093 |
+ |
} |
1094 |
+ |
|
1095 |
+ |
if (fabs(SCEta) < 1.0) { |
1096 |
+ |
if (type == ElectronTools::kEleChargedIso03) EffectiveArea = 0.000; |
1097 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso03) EffectiveArea = 0.017; |
1098 |
+ |
if (type == ElectronTools::kEleGammaIso03) EffectiveArea = 0.045; |
1099 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip03) EffectiveArea = 0.014; |
1100 |
+ |
if (type == ElectronTools::kEleChargedIso04) EffectiveArea = 0.000; |
1101 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso04) EffectiveArea = 0.034; |
1102 |
+ |
if (type == ElectronTools::kEleGammaIso04) EffectiveArea = 0.079; |
1103 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip04) EffectiveArea = 0.014; |
1104 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso007) EffectiveArea = 0.000; |
1105 |
+ |
if (type == ElectronTools::kEleHoverE) EffectiveArea = 0.00016; |
1106 |
+ |
if (type == ElectronTools::kEleHcalDepth1OverEcal) EffectiveArea = 0.00016; |
1107 |
+ |
if (type == ElectronTools::kEleHcalDepth2OverEcal) EffectiveArea = 0.00000; |
1108 |
+ |
} else if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) { |
1109 |
+ |
if (type == ElectronTools::kEleChargedIso03) EffectiveArea = 0.000; |
1110 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso03) EffectiveArea = 0.025; |
1111 |
+ |
if (type == ElectronTools::kEleGammaIso03) EffectiveArea = 0.052; |
1112 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip03) EffectiveArea = 0.030; |
1113 |
+ |
if (type == ElectronTools::kEleChargedIso04) EffectiveArea = 0.000; |
1114 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso04) EffectiveArea = 0.050; |
1115 |
+ |
if (type == ElectronTools::kEleGammaIso04) EffectiveArea = 0.073; |
1116 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip04) EffectiveArea = 0.030; |
1117 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso007) EffectiveArea = 0.000; |
1118 |
+ |
if (type == ElectronTools::kEleHoverE) EffectiveArea = 0.00022; |
1119 |
+ |
if (type == ElectronTools::kEleHcalDepth1OverEcal) EffectiveArea = 0.00022; |
1120 |
+ |
if (type == ElectronTools::kEleHcalDepth2OverEcal) EffectiveArea = 0.00000; |
1121 |
+ |
} else if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) { |
1122 |
+ |
if (type == ElectronTools::kEleChargedIso03) EffectiveArea = 0.000; |
1123 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso03) EffectiveArea = 0.030; |
1124 |
+ |
if (type == ElectronTools::kEleGammaIso03) EffectiveArea = 0.170; |
1125 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip03) EffectiveArea = 0.134; |
1126 |
+ |
if (type == ElectronTools::kEleChargedIso04) EffectiveArea = 0.000; |
1127 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso04) EffectiveArea = 0.060; |
1128 |
+ |
if (type == ElectronTools::kEleGammaIso04) EffectiveArea = 0.187; |
1129 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip04) EffectiveArea = 0.134; |
1130 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso007) EffectiveArea = 0.000; |
1131 |
+ |
if (type == ElectronTools::kEleHoverE) EffectiveArea = 0.00030; |
1132 |
+ |
if (type == ElectronTools::kEleHcalDepth1OverEcal) EffectiveArea = 0.00026; |
1133 |
+ |
if (type == ElectronTools::kEleHcalDepth2OverEcal) EffectiveArea = 0.00002; |
1134 |
+ |
} else if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.25 ) { |
1135 |
+ |
if (type == ElectronTools::kEleChargedIso03) EffectiveArea = 0.000; |
1136 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso03) EffectiveArea = 0.022; |
1137 |
+ |
if (type == ElectronTools::kEleGammaIso03) EffectiveArea = 0.623; |
1138 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip03) EffectiveArea = 0.516; |
1139 |
+ |
if (type == ElectronTools::kEleChargedIso04) EffectiveArea = 0.000; |
1140 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso04) EffectiveArea = 0.055; |
1141 |
+ |
if (type == ElectronTools::kEleGammaIso04) EffectiveArea = 0.659; |
1142 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip04) EffectiveArea = 0.517; |
1143 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso007) EffectiveArea = 0.000; |
1144 |
+ |
if (type == ElectronTools::kEleHoverE) EffectiveArea = 0.00054; |
1145 |
+ |
if (type == ElectronTools::kEleHcalDepth1OverEcal) EffectiveArea = 0.00045; |
1146 |
+ |
if (type == ElectronTools::kEleHcalDepth2OverEcal) EffectiveArea = 0.00003; |
1147 |
+ |
} else if (fabs(SCEta) >= 2.25 && fabs(SCEta) < 2.5 ) { |
1148 |
+ |
if (type == ElectronTools::kEleChargedIso03) EffectiveArea = 0.000; |
1149 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso03) EffectiveArea = 0.018; |
1150 |
+ |
if (type == ElectronTools::kEleGammaIso03) EffectiveArea = 1.198; |
1151 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip03) EffectiveArea = 1.049; |
1152 |
+ |
if (type == ElectronTools::kEleChargedIso04) EffectiveArea = 0.000; |
1153 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso04) EffectiveArea = 0.073; |
1154 |
+ |
if (type == ElectronTools::kEleGammaIso04) EffectiveArea = 1.258; |
1155 |
+ |
if (type == ElectronTools::kEleGammaIsoVetoEtaStrip04) EffectiveArea = 1.051; |
1156 |
+ |
if (type == ElectronTools::kEleNeutralHadronIso007) EffectiveArea = 0.000; |
1157 |
+ |
if (type == ElectronTools::kEleHoverE) EffectiveArea = 0.00082; |
1158 |
+ |
if (type == ElectronTools::kEleHcalDepth1OverEcal) EffectiveArea = 0.00066; |
1159 |
+ |
if (type == ElectronTools::kEleHcalDepth2OverEcal) EffectiveArea = 0.00004; |
1160 |
+ |
} |
1161 |
+ |
|
1162 |
+ |
//NoCorrections |
1163 |
+ |
if (EffectiveAreaTarget == kEleEANoCorr) { |
1164 |
+ |
return 0.0; |
1165 |
+ |
} |
1166 |
+ |
else if (EffectiveAreaTarget == kEleEAData2012) { |
1167 |
+ |
if (type == kEleGammaIsoDR0p0To0p1) { |
1168 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.051; |
1169 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.032; |
1170 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.006; |
1171 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.007; |
1172 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.024; |
1173 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.013; |
1174 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.013; |
1175 |
+ |
} |
1176 |
+ |
if (type == kEleGammaIsoDR0p1To0p2) { |
1177 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.013; |
1178 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.013; |
1179 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.021; |
1180 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.052; |
1181 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.066; |
1182 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.043; |
1183 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.102; |
1184 |
+ |
} |
1185 |
+ |
if (type == kEleGammaIsoDR0p2To0p3) { |
1186 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.026; |
1187 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.017; |
1188 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.012; |
1189 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.028; |
1190 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.041; |
1191 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.034; |
1192 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.042; |
1193 |
+ |
} |
1194 |
+ |
if (type == kEleGammaIsoDR0p3To0p4) { |
1195 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.039; |
1196 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.032; |
1197 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.017; |
1198 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.024; |
1199 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.053; |
1200 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.059; |
1201 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.069; |
1202 |
+ |
} |
1203 |
+ |
if (type == kEleGammaIsoDR0p4To0p5) { |
1204 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.059; |
1205 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.045; |
1206 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.033; |
1207 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.043; |
1208 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.056; |
1209 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.065; |
1210 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.074; |
1211 |
+ |
} |
1212 |
+ |
if (type == kEleNeutralHadronIsoDR0p0To0p1) { |
1213 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.001; |
1214 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.006; |
1215 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.001; |
1216 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.000; |
1217 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.001; |
1218 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.003; |
1219 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.008; |
1220 |
+ |
} |
1221 |
+ |
if (type == kEleNeutralHadronIsoDR0p1To0p2) { |
1222 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.002; |
1223 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.001; |
1224 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.004; |
1225 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.003; |
1226 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.005; |
1227 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.006; |
1228 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.010; |
1229 |
+ |
} |
1230 |
+ |
if (type == kEleNeutralHadronIsoDR0p2To0p3) { |
1231 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.007; |
1232 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.010; |
1233 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.009; |
1234 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.009; |
1235 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.007; |
1236 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.018; |
1237 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.028; |
1238 |
+ |
} |
1239 |
+ |
if (type == kEleNeutralHadronIsoDR0p3To0p4) { |
1240 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.010; |
1241 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.011; |
1242 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.012; |
1243 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.008; |
1244 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.018; |
1245 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.026; |
1246 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.063; |
1247 |
+ |
} |
1248 |
+ |
if (type == kEleNeutralHadronIsoDR0p4To0p5) { |
1249 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.011; |
1250 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.012; |
1251 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.016; |
1252 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.023; |
1253 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.038; |
1254 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.051; |
1255 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.143; |
1256 |
+ |
} |
1257 |
+ |
} |
1258 |
+ |
|
1259 |
+ |
//2011 Data Effective Areas |
1260 |
+ |
else if (EffectiveAreaTarget == kEleEAData2011) { |
1261 |
+ |
if (type == kEleGammaIsoDR0p0To0p1) { |
1262 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.017; |
1263 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.033; |
1264 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.005; |
1265 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.007; |
1266 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.004; |
1267 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.000; |
1268 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.000; |
1269 |
+ |
} |
1270 |
+ |
if (type == kEleGammaIsoDR0p1To0p2) { |
1271 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.010; |
1272 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.010; |
1273 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.019; |
1274 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.042; |
1275 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.041; |
1276 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.035; |
1277 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.041; |
1278 |
+ |
} |
1279 |
+ |
if (type == kEleGammaIsoDR0p2To0p3) { |
1280 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.020; |
1281 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.017; |
1282 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.014; |
1283 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.029; |
1284 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.039; |
1285 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.042; |
1286 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.048; |
1287 |
+ |
} |
1288 |
+ |
if (type == kEleGammaIsoDR0p3To0p4) { |
1289 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.036; |
1290 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.029; |
1291 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.020; |
1292 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.029; |
1293 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.042; |
1294 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.047; |
1295 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.054; |
1296 |
+ |
} |
1297 |
+ |
if (type == kEleGammaIsoDR0p4To0p5) { |
1298 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.051; |
1299 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.038; |
1300 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.028; |
1301 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.036; |
1302 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.047; |
1303 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.057; |
1304 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.059; |
1305 |
+ |
} |
1306 |
+ |
if (type == kEleNeutralHadronIsoDR0p0To0p1) { |
1307 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.001; |
1308 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.002; |
1309 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.002; |
1310 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.000; |
1311 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.000; |
1312 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.000; |
1313 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.000; |
1314 |
+ |
} |
1315 |
+ |
if (type == kEleNeutralHadronIsoDR0p1To0p2) { |
1316 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.005; |
1317 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.008; |
1318 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.008; |
1319 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.006; |
1320 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.003; |
1321 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.001; |
1322 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.003; |
1323 |
+ |
} |
1324 |
+ |
if (type == kEleNeutralHadronIsoDR0p2To0p3) { |
1325 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.010; |
1326 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.014; |
1327 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.017; |
1328 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.016; |
1329 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.016; |
1330 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.016; |
1331 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.019; |
1332 |
+ |
} |
1333 |
+ |
if (type == kEleNeutralHadronIsoDR0p3To0p4) { |
1334 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.015; |
1335 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.021; |
1336 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.025; |
1337 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.030; |
1338 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.036; |
1339 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.038; |
1340 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.084; |
1341 |
+ |
} |
1342 |
+ |
if (type == kEleNeutralHadronIsoDR0p4To0p5) { |
1343 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.020; |
1344 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.027; |
1345 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.035; |
1346 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.045; |
1347 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.051; |
1348 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.107; |
1349 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.228; |
1350 |
+ |
} |
1351 |
+ |
} |
1352 |
+ |
|
1353 |
+ |
//Summer11 MC Effective Areas |
1354 |
+ |
else if (EffectiveAreaTarget == kEleEASummer11MC) { |
1355 |
+ |
if (type == kEleGammaIsoDR0p0To0p1) { |
1356 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.015; |
1357 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.030; |
1358 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.004; |
1359 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.010; |
1360 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.014; |
1361 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.024; |
1362 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.023; |
1363 |
+ |
} |
1364 |
+ |
if (type == kEleGammaIsoDR0p1To0p2) { |
1365 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.012; |
1366 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.010; |
1367 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.009; |
1368 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.037; |
1369 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.046; |
1370 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.055; |
1371 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.046; |
1372 |
+ |
} |
1373 |
+ |
if (type == kEleGammaIsoDR0p2To0p3) { |
1374 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.021; |
1375 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.018; |
1376 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.013; |
1377 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.026; |
1378 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.038; |
1379 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.045; |
1380 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.059; |
1381 |
+ |
} |
1382 |
+ |
if (type == kEleGammaIsoDR0p3To0p4) { |
1383 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.036; |
1384 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.030; |
1385 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.017; |
1386 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.036; |
1387 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.058; |
1388 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.073; |
1389 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.083; |
1390 |
+ |
} |
1391 |
+ |
if (type == kEleGammaIsoDR0p4To0p5) { |
1392 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.053; |
1393 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.037; |
1394 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.032; |
1395 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.048; |
1396 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.062; |
1397 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.085; |
1398 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.118; |
1399 |
+ |
} |
1400 |
+ |
if (type == kEleNeutralHadronIsoDR0p0To0p1) { |
1401 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.000; |
1402 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.000; |
1403 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.000; |
1404 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.000; |
1405 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.000; |
1406 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.000; |
1407 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.000; |
1408 |
+ |
} |
1409 |
+ |
if (type == kEleNeutralHadronIsoDR0p1To0p2) { |
1410 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.004; |
1411 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.007; |
1412 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.009; |
1413 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.004; |
1414 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.003; |
1415 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.000; |
1416 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.004; |
1417 |
+ |
} |
1418 |
+ |
if (type == kEleNeutralHadronIsoDR0p2To0p3) { |
1419 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.008; |
1420 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.013; |
1421 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.016; |
1422 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.013; |
1423 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.014; |
1424 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.016; |
1425 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.021; |
1426 |
+ |
} |
1427 |
+ |
if (type == kEleNeutralHadronIsoDR0p3To0p4) { |
1428 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.012; |
1429 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.017; |
1430 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.020; |
1431 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.024; |
1432 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.040; |
1433 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.036; |
1434 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.086; |
1435 |
+ |
} |
1436 |
+ |
if (type == kEleNeutralHadronIsoDR0p4To0p5) { |
1437 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.016; |
1438 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.026; |
1439 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.030; |
1440 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.038; |
1441 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.051; |
1442 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.105; |
1443 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.169; |
1444 |
+ |
} |
1445 |
+ |
} |
1446 |
+ |
|
1447 |
+ |
//Fall11 MC Effective Areas |
1448 |
+ |
else if (EffectiveAreaTarget == kEleEAFall11MC) { |
1449 |
+ |
if (type == kEleGammaIsoDR0p0To0p1) { |
1450 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.014; |
1451 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.020; |
1452 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.004; |
1453 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.012; |
1454 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.016; |
1455 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.021; |
1456 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.012; |
1457 |
+ |
} |
1458 |
+ |
if (type == kEleGammaIsoDR0p1To0p2) { |
1459 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.012; |
1460 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.011; |
1461 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.015; |
1462 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.042; |
1463 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.055; |
1464 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.068; |
1465 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.067; |
1466 |
+ |
} |
1467 |
+ |
if (type == kEleGammaIsoDR0p2To0p3) { |
1468 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.024; |
1469 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.020; |
1470 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.017; |
1471 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.038; |
1472 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.051; |
1473 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.066; |
1474 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.080; |
1475 |
+ |
} |
1476 |
+ |
if (type == kEleGammaIsoDR0p3To0p4) { |
1477 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.040; |
1478 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.032; |
1479 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.021; |
1480 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.047; |
1481 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.066; |
1482 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.083; |
1483 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.123; |
1484 |
+ |
} |
1485 |
+ |
if (type == kEleGammaIsoDR0p4To0p5) { |
1486 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.059; |
1487 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.041; |
1488 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.037; |
1489 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.057; |
1490 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.095; |
1491 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.123; |
1492 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.133; |
1493 |
+ |
} |
1494 |
+ |
if (type == kEleNeutralHadronIsoDR0p0To0p1) { |
1495 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.002; |
1496 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.003; |
1497 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.000; |
1498 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.000; |
1499 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.000; |
1500 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.000; |
1501 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.000; |
1502 |
+ |
} |
1503 |
+ |
if (type == kEleNeutralHadronIsoDR0p1To0p2) { |
1504 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.006; |
1505 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.008; |
1506 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.010; |
1507 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.006; |
1508 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.005; |
1509 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.002; |
1510 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.007; |
1511 |
+ |
} |
1512 |
+ |
if (type == kEleNeutralHadronIsoDR0p2To0p3) { |
1513 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.009; |
1514 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.014; |
1515 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.018; |
1516 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.016; |
1517 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.017; |
1518 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.020; |
1519 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.021; |
1520 |
+ |
} |
1521 |
+ |
if (type == kEleNeutralHadronIsoDR0p3To0p4) { |
1522 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.013; |
1523 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.019; |
1524 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.027; |
1525 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.035; |
1526 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.037; |
1527 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.043; |
1528 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.110; |
1529 |
+ |
} |
1530 |
+ |
if (type == kEleNeutralHadronIsoDR0p4To0p5) { |
1531 |
+ |
if (fabs(SCEta) >= 0.0 && fabs(SCEta) < 1.0 ) EffectiveArea = 0.017; |
1532 |
+ |
if (fabs(SCEta) >= 1.0 && fabs(SCEta) < 1.479 ) EffectiveArea = 0.027; |
1533 |
+ |
if (fabs(SCEta) >= 1.479 && fabs(SCEta) < 2.0 ) EffectiveArea = 0.036; |
1534 |
+ |
if (fabs(SCEta) >= 2.0 && fabs(SCEta) < 2.2 ) EffectiveArea = 0.045; |
1535 |
+ |
if (fabs(SCEta) >= 2.2 && fabs(SCEta) < 2.3 ) EffectiveArea = 0.057; |
1536 |
+ |
if (fabs(SCEta) >= 2.3 && fabs(SCEta) < 2.4 ) EffectiveArea = 0.123; |
1537 |
+ |
if (fabs(SCEta) >= 2.4) EffectiveArea = 0.220; |
1538 |
+ |
} |
1539 |
+ |
} |
1540 |
+ |
|
1541 |
+ |
return EffectiveArea; |
1542 |
+ |
} |
1543 |
+ |
|
1544 |
+ |
|
1545 |
+ |
Bool_t ElectronTools::PassHggLeptonTagID(const Electron* ele) { |
1546 |
+ |
|
1547 |
+ |
float dist = ( ele->ConvPartnerDist() == -9999.? 9999:TMath::Abs(ele->ConvPartnerDist())); |
1548 |
+ |
float dcot = ( ele->ConvPartnerDCotTheta() == -9999.? 9999:TMath::Abs(ele->ConvPartnerDCotTheta())); |
1549 |
+ |
|
1550 |
+ |
if (dist < 0.02) return false; |
1551 |
+ |
if (dcot < 0.02) return false; |
1552 |
+ |
|
1553 |
+ |
int numInnerHits = ele->Trk()->NExpectedHitsInner(); |
1554 |
+ |
if( numInnerHits > 0 ) return false; |
1555 |
+ |
|
1556 |
+ |
float coviEtaiEta = ele->CoviEtaiEta(); |
1557 |
+ |
if( ele->SCluster()->AbsEta() < 1.5 && coviEtaiEta > 0.01 ) return false; |
1558 |
+ |
else if( ele->SCluster()->AbsEta() > 1.5 && coviEtaiEta > 0.031 ) return false; |
1559 |
+ |
|
1560 |
+ |
Double_t deltaPhiIn = TMath::Abs(ele->DeltaPhiSuperClusterTrackAtVtx()); |
1561 |
+ |
Double_t deltaEtaIn = TMath::Abs(ele->DeltaEtaSuperClusterTrackAtVtx()); |
1562 |
+ |
|
1563 |
+ |
if( ele->SCluster()->AbsEta() < 1.5 && ( deltaPhiIn > 0.039 || deltaEtaIn > 0.005 ) ) return false; |
1564 |
+ |
else if ( ele->SCluster()->AbsEta() > 1.5 && ( deltaPhiIn > 0.028 || deltaEtaIn > 0.007 ) ) return false; |
1565 |
+ |
|
1566 |
+ |
return true; |
1567 |
+ |
} |