245 |
|
return -9999; |
246 |
|
} |
247 |
|
|
248 |
+ |
Double_t Rho = 0; |
249 |
+ |
if (!(TMath::IsNaN(PileupEnergyDensity) || isinf(PileupEnergyDensity))) Rho = PileupEnergyDensity; |
250 |
+ |
|
251 |
|
Int_t subdet = 0; |
252 |
|
if (fabs(EleEta) < 1.0) subdet = 0; |
253 |
|
else if (fabs(EleEta) < 1.479) subdet = 1; |
281 |
|
fMVAVar_ElePreShowerOverRaw = ElePreShowerOverRaw; |
282 |
|
fMVAVar_EleChargedIso03OverPt |
283 |
|
= (EleChargedIso03 |
284 |
< |
- PileupEnergyDensity * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleChargedIso03, EleEta)) / ElePt; |
284 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleChargedIso03, EleEta)) / ElePt; |
285 |
|
fMVAVar_EleNeutralHadronIso03OverPt |
286 |
|
= (EleNeutralHadronIso03 |
287 |
< |
- PileupEnergyDensity * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso03, EleEta) |
288 |
< |
+ PileupEnergyDensity * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso007,EleEta)) / ElePt; |
287 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso03, EleEta) |
288 |
> |
+ Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso007,EleEta)) / ElePt; |
289 |
|
fMVAVar_EleGammaIso03OverPt |
290 |
|
= (EleGammaIso03 |
291 |
< |
- PileupEnergyDensity * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIso03, EleEta) |
292 |
< |
+ PileupEnergyDensity * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIsoVetoEtaStrip03,EleEta))/ElePt; |
291 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIso03, EleEta) |
292 |
> |
+ Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIsoVetoEtaStrip03,EleEta))/ElePt; |
293 |
|
fMVAVar_EleChargedIso04OverPt |
294 |
|
= (EleChargedIso04 |
295 |
< |
- PileupEnergyDensity * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleChargedIso04, EleEta))/ElePt; |
295 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleChargedIso04, EleEta))/ElePt; |
296 |
|
fMVAVar_EleNeutralHadronIso04OverPt |
297 |
|
= (EleNeutralHadronIso04 |
298 |
< |
- PileupEnergyDensity * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso04, EleEta) |
299 |
< |
+ PileupEnergyDensity * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso007,EleEta))/ElePt; |
298 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso04, EleEta) |
299 |
> |
+ Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso007,EleEta))/ElePt; |
300 |
|
fMVAVar_EleGammaIso04OverPt |
301 |
|
= (EleGammaIso04 |
302 |
< |
- PileupEnergyDensity * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIso04, EleEta) |
303 |
< |
+ PileupEnergyDensity * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIsoVetoEtaStrip04,EleEta))/ElePt; |
302 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIso04, EleEta) |
303 |
> |
+ Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIsoVetoEtaStrip04,EleEta))/ElePt; |
304 |
|
|
305 |
|
Double_t mva = -9999; |
306 |
|
TMVA::Reader *reader = 0; |
374 |
|
else subdet = 2; |
375 |
|
Int_t ptBin = 0; |
376 |
|
if (ele->Pt() > 20.0) ptBin = 1; |
377 |
< |
|
377 |
> |
|
378 |
> |
Double_t Rho = 0; |
379 |
> |
if (!(TMath::IsNaN(PileupEnergyDensity->At(0)->Rho()) || isinf(PileupEnergyDensity->At(0)->Rho()))) Rho = PileupEnergyDensity->At(0)->Rho(); |
380 |
> |
|
381 |
|
//set all input variables |
382 |
|
fMVAVar_EleSigmaIEtaIEta = ele->CoviEtaiEta() ; |
383 |
|
fMVAVar_EleDEtaIn = ele->DeltaEtaSuperClusterTrackAtVtx(); |
405 |
|
fMVAVar_ElePreShowerOverRaw = ele->SCluster()->PreshowerEnergy() / ele->SCluster()->RawEnergy(); |
406 |
|
fMVAVar_EleChargedIso03OverPt |
407 |
|
= (IsolationTools::PFElectronIsolation(ele, PFCands, vertex, 0.1, 99999, 0.3, 0.0) |
408 |
< |
- PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleChargedIso03, ele->SCluster()->Eta())) / ele->Pt(); |
408 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleChargedIso03, ele->SCluster()->Eta())) / ele->Pt(); |
409 |
|
fMVAVar_EleNeutralHadronIso03OverPt |
410 |
|
= (IsolationTools::PFElectronIsolation(ele, PFCands, vertex, 0.1, 0.5, 0.3, 0.0, PFCandidate::eNeutralHadron) |
411 |
< |
- PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso03, ele->SCluster()->Eta()) |
412 |
< |
+ PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso007,ele->SCluster()->Eta())) / ele->Pt(); |
411 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso03, ele->SCluster()->Eta()) |
412 |
> |
+ Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso007,ele->SCluster()->Eta())) / ele->Pt(); |
413 |
|
fMVAVar_EleGammaIso03OverPt |
414 |
|
= (IsolationTools::PFElectronIsolation(ele, PFCands, vertex, 0.1, 0.5, 0.3, 0.0, PFCandidate::eGamma) |
415 |
< |
- PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIso03, ele->SCluster()->Eta()) |
416 |
< |
+ PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIsoVetoEtaStrip03,ele->SCluster()->Eta())) / ele->Pt(); |
415 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIso03, ele->SCluster()->Eta()) |
416 |
> |
+ Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIsoVetoEtaStrip03,ele->SCluster()->Eta())) / ele->Pt(); |
417 |
|
fMVAVar_EleChargedIso04OverPt |
418 |
|
= (IsolationTools::PFElectronIsolation(ele, PFCands, vertex, 0.1, 99999, 0.4, 0.0) |
419 |
< |
- PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleChargedIso04, ele->SCluster()->Eta())) / ele->Pt(); |
419 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleChargedIso04, ele->SCluster()->Eta())) / ele->Pt(); |
420 |
|
fMVAVar_EleNeutralHadronIso04OverPt |
421 |
|
= (IsolationTools::PFElectronIsolation(ele, PFCands, vertex, 0.1, 0.5, 0.4, 0.0, PFCandidate::eNeutralHadron) |
422 |
< |
- PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso04, ele->SCluster()->Eta()) |
423 |
< |
+ PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso007,ele->SCluster()->Eta())) / ele->Pt() ; |
422 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso04, ele->SCluster()->Eta()) |
423 |
> |
+ Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso007,ele->SCluster()->Eta())) / ele->Pt() ; |
424 |
|
fMVAVar_EleGammaIso04OverPt |
425 |
|
= (IsolationTools::PFElectronIsolation(ele, PFCands, vertex, 0.1, 0.5, 0.4, 0.0, PFCandidate::eGamma) |
426 |
< |
- PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIso04, ele->SCluster()->Eta()) |
427 |
< |
+ PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIsoVetoEtaStrip04,ele->SCluster()->Eta())) / ele->Pt(); |
426 |
> |
- Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIso04, ele->SCluster()->Eta()) |
427 |
> |
+ Rho * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIsoVetoEtaStrip04,ele->SCluster()->Eta())) / ele->Pt(); |
428 |
|
|
429 |
|
Double_t mva = -9999; |
430 |
|
TMVA::Reader *reader = 0; |
440 |
|
|
441 |
|
mva = reader->EvaluateMVA( fMethodname ); |
442 |
|
|
443 |
< |
Bool_t printdebug = kFALSE; |
443 |
> |
Bool_t printdebug = kTRUE; |
444 |
|
if (printdebug == kTRUE) { |
445 |
|
std::cout << "Debug Electron MVA: " |
446 |
|
<< ele->Pt() << " " << ele->Eta() << " " << ele->Phi() << " : " |