CMS 3D CMS Logo

Public Member Functions

ElectronClassification Class Reference

#include <ElectronClassification.h>

List of all members.

Public Member Functions

void classify (reco::GsfElectron &)
 ElectronClassification ()
void refineWithPflow (reco::GsfElectron &)

Detailed Description

Definition at line 14 of file ElectronClassification.h.


Constructor & Destructor Documentation

ElectronClassification::ElectronClassification ( ) [inline]

Definition at line 18 of file ElectronClassification.h.

{}

Member Function Documentation

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)