#include <ElectronClassification.h>
Public Member Functions | |
void | classify (reco::GsfElectron &) |
ElectronClassification () | |
void | refineWithPflow (reco::GsfElectron &) |
Definition at line 14 of file ElectronClassification.h.
ElectronClassification::ElectronClassification | ( | ) | [inline] |
Definition at line 18 of file ElectronClassification.h.
{}
void ElectronClassification::classify | ( | reco::GsfElectron & | electron | ) |
Definition at line 16 of file ElectronClassification.cc.
References reco::GsfElectron::BIGBREM, reco::LeafCandidate::eta(), reco::GsfElectron::GAP, reco::GsfElectron::GOLDEN, reco::GsfElectron::isEB(), reco::GsfElectron::isEBEEGap(), reco::GsfElectron::isEBEtaGap(), reco::GsfElectron::isEE(), reco::GsfElectron::isEERingGap(), reco::GsfElectron::numberOfBrems(), reco::GsfElectron::setClassification(), reco::GsfElectron::SHOWERING, reco::GsfElectron::trackFbrem(), and reco::GsfElectron::UNKNOWN.
Referenced by GsfElectronAlgo::createElectron().
{ if ((!electron.isEB())&&(!electron.isEE())) { edm::LogWarning("") << "ElectronClassification::init(): Undefined electron, eta = " << electron.eta() << "!!!!" ; electron.setClassification(GsfElectron::UNKNOWN) ; return ; } if ( electron.isEBEEGap() || electron.isEBEtaGap() || electron.isEERingGap() ) { electron.setClassification(GsfElectron::GAP) ; return ; } //float pin = electron.trackMomentumAtVtx().R() ; float fbrem = electron.trackFbrem() ; int nbrem = electron.numberOfBrems() ; if (nbrem == 0 && fbrem < 0.5) // part (pin - scEnergy)/pin < 0.1 removed - M.D. { electron.setClassification(GsfElectron::GOLDEN) ; } else if (nbrem == 0 && fbrem >= 0.5) // part (pin - scEnergy)/pin < 0.1 removed - M.D. { electron.setClassification(GsfElectron::BIGBREM) ; } else { electron.setClassification(GsfElectron::SHOWERING) ; } }
void ElectronClassification::refineWithPflow | ( | reco::GsfElectron & | electron | ) |
Definition at line 46 of file ElectronClassification.cc.
References reco::GsfElectron::BADTRACK, reco::GsfElectron::isEB(), reco::GsfElectron::isEBEEGap(), reco::GsfElectron::isEBEtaGap(), reco::GsfElectron::isEE(), reco::GsfElectron::isEERingGap(), reco::GsfElectron::pfSuperClusterFbrem(), reco::GsfElectron::setClassification(), and reco::GsfElectron::trackFbrem().
Referenced by GsfElectronAlgo::addPflowInfo().
{ if ((!electron.isEB())&&(!electron.isEE())) { return ; } if ( electron.isEBEEGap() || electron.isEBEtaGap() || electron.isEERingGap() ) { return ; } if ((electron.pfSuperClusterFbrem()-electron.trackFbrem())>=0.15) { electron.setClassification(GsfElectron::BADTRACK) ; } }