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; |
316 |
|
|
317 |
|
mva = reader->EvaluateMVA( fMethodname ); |
318 |
|
|
319 |
+ |
Bool_t printdebug = kTRUE; |
320 |
+ |
if (printdebug == kTRUE) { |
321 |
+ |
std::cout << "Debug Electron MVA: " |
322 |
+ |
<< ElePt << " " << EleEta << " " << " --> MVABin " << MVABin << " : " |
323 |
+ |
<< fMVAVar_EleSigmaIEtaIEta << " " |
324 |
+ |
<< fMVAVar_EleDEtaIn << " " |
325 |
+ |
<< fMVAVar_EleDPhiIn << " " |
326 |
+ |
<< fMVAVar_EleHoverE << " " |
327 |
+ |
<< fMVAVar_EleD0 << " " |
328 |
+ |
<< fMVAVar_EleDZ << " " |
329 |
+ |
<< fMVAVar_EleFBrem << " " |
330 |
+ |
<< fMVAVar_EleEOverP << " " |
331 |
+ |
<< fMVAVar_EleESeedClusterOverPout << " " |
332 |
+ |
<< fMVAVar_EleSigmaIPhiIPhi << " " |
333 |
+ |
<< fMVAVar_EleNBrem << " " |
334 |
+ |
<< fMVAVar_EleOneOverEMinusOneOverP << " " |
335 |
+ |
<< fMVAVar_EleESeedClusterOverPIn << " " |
336 |
+ |
<< fMVAVar_EleIP3d << " " |
337 |
+ |
<< fMVAVar_EleIP3dSig << " " |
338 |
+ |
<< fMVAVar_EleGsfTrackChi2OverNdof << " " |
339 |
+ |
<< fMVAVar_EledEtaCalo << " " |
340 |
+ |
<< fMVAVar_EledPhiCalo << " " |
341 |
+ |
<< fMVAVar_EleR9 << " " |
342 |
+ |
<< fMVAVar_EleSCEtaWidth << " " |
343 |
+ |
<< fMVAVar_EleSCPhiWidth << " " |
344 |
+ |
<< fMVAVar_EleCovIEtaIPhi << " " |
345 |
+ |
<< fMVAVar_ElePreShowerOverRaw << " " |
346 |
+ |
<< fMVAVar_EleChargedIso03OverPt << " " |
347 |
+ |
<< fMVAVar_EleNeutralHadronIso03OverPt << " " |
348 |
+ |
<< fMVAVar_EleGammaIso03OverPt << " " |
349 |
+ |
<< fMVAVar_EleChargedIso04OverPt << " " |
350 |
+ |
<< fMVAVar_EleNeutralHadronIso04OverPt << " " |
351 |
+ |
<< fMVAVar_EleGammaIso04OverPt << " " |
352 |
+ |
<< " === : === " |
353 |
+ |
<< mva |
354 |
+ |
<< std::endl; |
355 |
+ |
} |
356 |
+ |
|
357 |
|
return mva; |
358 |
|
} |
359 |
|
|
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->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->Eta()) |
412 |
< |
+ PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso007,ele->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->Eta()) |
416 |
< |
+ PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIsoVetoEtaStrip03,ele->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::kEleChargedIso03, ele->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::kEleChargedIso03, ele->Eta()) |
423 |
< |
+ PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleNeutralHadronIso007,ele->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::kEleChargedIso03, ele->Eta()) |
427 |
< |
+ PileupEnergyDensity->At(0)->Rho() * ElectronTools::ElectronEffectiveArea(ElectronTools::kEleGammaIsoVetoEtaStrip04,ele->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 = kTRUE; |
444 |
+ |
if (printdebug == kTRUE) { |
445 |
+ |
std::cout << "Debug Electron MVA: " |
446 |
+ |
<< ele->Pt() << " " << ele->Eta() << " " << ele->Phi() << " : " |
447 |
+ |
<< ele->Pt() << " " << ele->SCluster()->AbsEta() << " --> MVABin " << MVABin << " : " |
448 |
+ |
<< fMVAVar_EleSigmaIEtaIEta << " " |
449 |
+ |
<< fMVAVar_EleDEtaIn << " " |
450 |
+ |
<< fMVAVar_EleDPhiIn << " " |
451 |
+ |
<< fMVAVar_EleHoverE << " " |
452 |
+ |
<< fMVAVar_EleD0 << " " |
453 |
+ |
<< fMVAVar_EleDZ << " " |
454 |
+ |
<< fMVAVar_EleFBrem << " " |
455 |
+ |
<< fMVAVar_EleEOverP << " " |
456 |
+ |
<< fMVAVar_EleESeedClusterOverPout << " " |
457 |
+ |
<< fMVAVar_EleSigmaIPhiIPhi << " " |
458 |
+ |
<< fMVAVar_EleNBrem << " " |
459 |
+ |
<< fMVAVar_EleOneOverEMinusOneOverP << " " |
460 |
+ |
<< fMVAVar_EleESeedClusterOverPIn << " " |
461 |
+ |
<< fMVAVar_EleIP3d << " " |
462 |
+ |
<< fMVAVar_EleIP3dSig << " " |
463 |
+ |
<< fMVAVar_EleGsfTrackChi2OverNdof << " " |
464 |
+ |
<< fMVAVar_EledEtaCalo << " " |
465 |
+ |
<< fMVAVar_EledPhiCalo << " " |
466 |
+ |
<< fMVAVar_EleR9 << " " |
467 |
+ |
<< fMVAVar_EleSCEtaWidth << " " |
468 |
+ |
<< fMVAVar_EleSCPhiWidth << " " |
469 |
+ |
<< fMVAVar_EleCovIEtaIPhi << " " |
470 |
+ |
<< fMVAVar_ElePreShowerOverRaw << " " |
471 |
+ |
<< fMVAVar_EleChargedIso03OverPt << " " |
472 |
+ |
<< fMVAVar_EleNeutralHadronIso03OverPt << " " |
473 |
+ |
<< fMVAVar_EleGammaIso03OverPt << " " |
474 |
+ |
<< fMVAVar_EleChargedIso04OverPt << " " |
475 |
+ |
<< fMVAVar_EleNeutralHadronIso04OverPt << " " |
476 |
+ |
<< fMVAVar_EleGammaIso04OverPt << " " |
477 |
+ |
<< " === : === " |
478 |
+ |
<< mva << " " |
479 |
+ |
<< std::endl; |
480 |
+ |
|
481 |
+ |
} |
482 |
+ |
|
483 |
|
return mva; |
484 |
|
} |
485 |
|
|