CMS 3D CMS Logo

Public Member Functions | Private Attributes

CutBasedPhotonIDAlgo Class Reference

#include <CutBasedPhotonIDAlgo.h>

List of all members.

Public Member Functions

 CutBasedPhotonIDAlgo ()
void decideEB (const reco::Photon *pho, bool &LooseEM, bool &LoosePhoton, bool &TightPhoton)
void decideEE (const reco::Photon *pho, bool &LooseEM, bool &LoosePhoton, bool &TightPhoton)
void setup (const edm::ParameterSet &conf)
virtual ~CutBasedPhotonIDAlgo ()

Private Attributes

bool dophotonEcalRecHitIsolationCut_
bool dophotonHadOverEMCut_
bool dophotonHcalTowerIsolationCut_
bool dophotonHCNTrkCut_
bool dophotonHCTrkIsolationCut_
bool dophotonR9Cut_
bool dophotonSCNTrkCut_
bool dophotonSCTrkIsolationCut_
bool dophotonsigmaeeCut_
bool dorequireFiducial_
double looseEMEcalIsoRelativeCutOffsetEB_
double looseEMEcalIsoRelativeCutOffsetEE_
double looseEMEcalIsoRelativeCutSlopeEB_
double looseEMEcalIsoRelativeCutSlopeEE_
double looseEMEtaWidthCutEB_
double looseEMEtaWidthCutEE_
double looseEMHadOverEMCutEB_
double looseEMHadOverEMCutEE_
double looseEMHcalTowerIsolationCutOffsetEB_
double looseEMHcalTowerIsolationCutOffsetEE_
double looseEMHcalTowerIsolationCutSlopeEB_
double looseEMHcalTowerIsolationCutSlopeEE_
int looseEMHollowConeNTrkCutEB_
int looseEMHollowConeNTrkCutEE_
double looseEMHollowConeTrkIsolationOffsetEB_
double looseEMHollowConeTrkIsolationOffsetEE_
double looseEMHollowConeTrkIsolationSlopeEB_
double looseEMHollowConeTrkIsolationSlopeEE_
double looseEMR9CutEB_
double looseEMR9CutEE_
int looseEMSolidConeNTrkCutEB_
int looseEMSolidConeNTrkCutEE_
double looseEMSolidConeTrkIsolationCutEB_
double looseEMSolidConeTrkIsolationCutEE_
double looseEMSolidConeTrkIsolationOffsetEB_
double looseEMSolidConeTrkIsolationOffsetEE_
double looseEMSolidConeTrkIsolationSlopeEB_
double looseEMSolidConeTrkIsolationSlopeEE_
double loosephotonEcalIsoRelativeCutOffsetEB_
double loosephotonEcalIsoRelativeCutOffsetEE_
double loosephotonEcalIsoRelativeCutSlopeEB_
double loosephotonEcalIsoRelativeCutSlopeEE_
double loosephotonEtaWidthCutEB_
double loosephotonEtaWidthCutEE_
double loosephotonHadOverEMCutEB_
double loosephotonHadOverEMCutEE_
double loosephotonHcalTowerIsolationCutOffsetEB_
double loosephotonHcalTowerIsolationCutOffsetEE_
double loosephotonHcalTowerIsolationCutSlopeEB_
double loosephotonHcalTowerIsolationCutSlopeEE_
int loosephotonHollowConeNTrkCutEB_
int loosephotonHollowConeNTrkCutEE_
double loosephotonHollowConeTrkIsolationOffsetEB_
double loosephotonHollowConeTrkIsolationOffsetEE_
double loosephotonHollowConeTrkIsolationSlopeEB_
double loosephotonHollowConeTrkIsolationSlopeEE_
double loosephotonR9CutEB_
double loosephotonR9CutEE_
int loosephotonSolidConeNTrkCutEB_
int loosephotonSolidConeNTrkCutEE_
double loosephotonSolidConeTrkIsolationCutEB_
double loosephotonSolidConeTrkIsolationCutEE_
double loosephotonSolidConeTrkIsolationOffsetEB_
double loosephotonSolidConeTrkIsolationOffsetEE_
double loosephotonSolidConeTrkIsolationSlopeEB_
double loosephotonSolidConeTrkIsolationSlopeEE_
double tightphotonEcalIsoRelativeCutOffsetEB_
double tightphotonEcalIsoRelativeCutOffsetEE_
double tightphotonEcalIsoRelativeCutSlopeEB_
double tightphotonEcalIsoRelativeCutSlopeEE_
double tightphotonEtaWidthCutEB_
double tightphotonEtaWidthCutEE_
double tightphotonHadOverEMCutEB_
double tightphotonHadOverEMCutEE_
double tightphotonHcalTowerIsolationCutOffsetEB_
double tightphotonHcalTowerIsolationCutOffsetEE_
double tightphotonHcalTowerIsolationCutSlopeEB_
double tightphotonHcalTowerIsolationCutSlopeEE_
int tightphotonHollowConeNTrkCutEB_
int tightphotonHollowConeNTrkCutEE_
double tightphotonHollowConeTrkIsolationOffsetEB_
double tightphotonHollowConeTrkIsolationOffsetEE_
double tightphotonHollowConeTrkIsolationSlopeEB_
double tightphotonHollowConeTrkIsolationSlopeEE_
double tightphotonR9CutEB_
double tightphotonR9CutEE_
int tightphotonSolidConeNTrkCutEB_
int tightphotonSolidConeNTrkCutEE_
double tightphotonSolidConeTrkIsolationCutEB_
double tightphotonSolidConeTrkIsolationCutEE_
double tightphotonSolidConeTrkIsolationOffsetEB_
double tightphotonSolidConeTrkIsolationOffsetEE_
double tightphotonSolidConeTrkIsolationSlopeEB_
double tightphotonSolidConeTrkIsolationSlopeEE_

Detailed Description

Definition at line 10 of file CutBasedPhotonIDAlgo.h.


Constructor & Destructor Documentation

CutBasedPhotonIDAlgo::CutBasedPhotonIDAlgo ( ) [inline]

Definition at line 14 of file CutBasedPhotonIDAlgo.h.

{};
virtual CutBasedPhotonIDAlgo::~CutBasedPhotonIDAlgo ( ) [inline, virtual]

Definition at line 16 of file CutBasedPhotonIDAlgo.h.

{};

Member Function Documentation

void CutBasedPhotonIDAlgo::decideEB ( const reco::Photon pho,
bool &  LooseEM,
bool &  LoosePhoton,
bool &  TightPhoton 
)

Definition at line 115 of file CutBasedPhotonIDAlgo.cc.

References dophotonEcalRecHitIsolationCut_, dophotonHadOverEMCut_, dophotonHcalTowerIsolationCut_, dophotonHCNTrkCut_, dophotonHCTrkIsolationCut_, dophotonR9Cut_, dophotonSCNTrkCut_, dophotonSCTrkIsolationCut_, dophotonsigmaeeCut_, dorequireFiducial_, reco::Photon::ecalRecHitSumEtConeDR04(), reco::Photon::hadronicOverEm(), reco::Photon::hcalTowerSumEtConeDR04(), reco::Photon::isEBEEGap(), reco::Photon::isEBEtaGap(), reco::Photon::isEBPhiGap(), reco::Photon::isEEDeeGap(), reco::Photon::isEERingGap(), looseEMEcalIsoRelativeCutOffsetEB_, looseEMEcalIsoRelativeCutSlopeEB_, looseEMEtaWidthCutEB_, looseEMHadOverEMCutEB_, looseEMHcalTowerIsolationCutOffsetEB_, looseEMHcalTowerIsolationCutSlopeEB_, looseEMHollowConeNTrkCutEB_, looseEMHollowConeTrkIsolationOffsetEB_, looseEMHollowConeTrkIsolationSlopeEB_, looseEMR9CutEB_, looseEMSolidConeNTrkCutEB_, looseEMSolidConeTrkIsolationOffsetEB_, looseEMSolidConeTrkIsolationSlopeEB_, loosephotonEcalIsoRelativeCutOffsetEB_, loosephotonEcalIsoRelativeCutSlopeEB_, loosephotonEtaWidthCutEB_, loosephotonHadOverEMCutEB_, loosephotonHcalTowerIsolationCutOffsetEB_, loosephotonHcalTowerIsolationCutSlopeEB_, loosephotonHollowConeNTrkCutEB_, loosephotonHollowConeTrkIsolationOffsetEB_, loosephotonHollowConeTrkIsolationSlopeEB_, loosephotonR9CutEB_, loosephotonSolidConeNTrkCutEB_, loosephotonSolidConeTrkIsolationOffsetEB_, loosephotonSolidConeTrkIsolationSlopeEB_, reco::Photon::nTrkHollowConeDR04(), reco::Photon::nTrkSolidConeDR04(), reco::LeafCandidate::pt(), reco::Photon::r9(), reco::Photon::sigmaIetaIeta(), tightphotonEcalIsoRelativeCutOffsetEB_, tightphotonEcalIsoRelativeCutSlopeEB_, tightphotonEtaWidthCutEB_, tightphotonHadOverEMCutEB_, tightphotonHcalTowerIsolationCutOffsetEB_, tightphotonHcalTowerIsolationCutSlopeEB_, tightphotonHollowConeNTrkCutEB_, tightphotonHollowConeTrkIsolationOffsetEB_, tightphotonHollowConeTrkIsolationSlopeEB_, tightphotonR9CutEB_, tightphotonSolidConeNTrkCutEB_, tightphotonSolidConeTrkIsolationOffsetEB_, tightphotonSolidConeTrkIsolationSlopeEB_, reco::Photon::trkSumPtHollowConeDR04(), and reco::Photon::trkSumPtSolidConeDR04().

Referenced by PhotonIDProducer::produce().

                                                                                                             {


  //If one has selected to apply fiducial cuts, they will be
  //applied for all loosePhoton, tightPhoton.
  //Consider yourself warned!
  
  //Require supercluster is within fiducial volume.
  if(dorequireFiducial_){
    if (pho->isEBEEGap()) {
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
    if ( pho->isEBEtaGap() || pho->isEBPhiGap() ){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
    if ( pho->isEERingGap() || pho->isEEDeeGap()  ){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }
  //Done with fiducial cuts.

  //first do looseEM selection,  if Photon is not LooseEM,
  //by definition it is also not LoosePhoton or TightPhoton

  //Cut on the sum of ecal rec hits in a cone
  if(dophotonEcalRecHitIsolationCut_){
    double cutvalue = looseEMEcalIsoRelativeCutSlopeEB_*pho->pt() + looseEMEcalIsoRelativeCutOffsetEB_;
    if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }
  
  //Cut on the sum of hcal rec hits in a cone (HBHE)
  if(dophotonHcalTowerIsolationCut_){
    double cutvalue = looseEMHcalTowerIsolationCutSlopeEB_*pho->pt() + looseEMHcalTowerIsolationCutOffsetEB_;
    if(pho->hcalTowerSumEtConeDR04() > cutvalue){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //Cut on number of tracks within the solid cone.
  if (dophotonSCNTrkCut_){
    if (pho->nTrkSolidConeDR04() > looseEMSolidConeNTrkCutEB_){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //Cut on number of tracks within the hollow cone.
  if (dophotonHCNTrkCut_){
    if (pho->nTrkHollowConeDR04() > looseEMHollowConeNTrkCutEB_){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;    
      return;
    }
  }
 
  //Cut on the sum of tracks within a solid cone
  if (dophotonSCTrkIsolationCut_){
    double cutvalue = looseEMSolidConeTrkIsolationSlopeEB_*pho->pt() + looseEMSolidConeTrkIsolationOffsetEB_;
    if (pho->trkSumPtSolidConeDR04() > cutvalue){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //Cut on the sum of tracks within a hollow cone
  if (dophotonHCTrkIsolationCut_){
    double cutvalue = looseEMHollowConeTrkIsolationSlopeEB_*pho->pt() + looseEMHollowConeTrkIsolationOffsetEB_;
    if (pho->trkSumPtHollowConeDR04() > cutvalue){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }  
  }

  //HadoverEM cut
  if (dophotonHadOverEMCut_){
    float hadoverE = pho->hadronicOverEm();
    if (hadoverE > looseEMHadOverEMCutEB_){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //eta width

  if (dophotonsigmaeeCut_){
 
    double sigmaee = pho->sigmaIetaIeta();
    if (sigmaee > looseEMEtaWidthCutEB_){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }
  //R9 cut
  if (dophotonR9Cut_){
    if (pho->r9() < looseEMR9CutEB_){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;      
      return;
    }
  }
  LooseEM = true;

  //Next do loosephoton selection.
  //If an object is not LoosePhoton, it is also not
  //TightPhoton!
  //Cut on the sum of ecal rec hits in a cone
  if(dophotonEcalRecHitIsolationCut_){
    double cutvalue = loosephotonEcalIsoRelativeCutSlopeEB_*pho->pt() + loosephotonEcalIsoRelativeCutOffsetEB_;
    if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }
  
  //Cut on the sum of hcal rec hits in a cone (HBHE)
  if(dophotonHcalTowerIsolationCut_){
    double cutvalue = loosephotonHcalTowerIsolationCutSlopeEB_*pho->pt() + loosephotonHcalTowerIsolationCutOffsetEB_;
    if(pho->hcalTowerSumEtConeDR04() > cutvalue){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //Cut on number of tracks within the solid cone.
  if (dophotonSCNTrkCut_){
    if (pho->nTrkSolidConeDR04() > loosephotonSolidConeNTrkCutEB_){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //Cut on number of tracks within the hollow cone.
  if (dophotonHCNTrkCut_){
    if (pho->nTrkHollowConeDR04() > loosephotonHollowConeNTrkCutEB_){
      LoosePhoton = false;
      TightPhoton = false;    
      return;
    }
  }
 
  //Cut on the sum of tracks within a solid cone
  if (dophotonSCTrkIsolationCut_){
    double cutvalue = loosephotonSolidConeTrkIsolationSlopeEB_*pho->pt() + loosephotonSolidConeTrkIsolationOffsetEB_;
    if (pho->trkSumPtSolidConeDR04() > cutvalue){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //Cut on the sum of tracks within a hollow cone
  if (dophotonHCTrkIsolationCut_){
    double cutvalue = loosephotonHollowConeTrkIsolationSlopeEB_*pho->pt() + loosephotonHollowConeTrkIsolationOffsetEB_;
    if (pho->trkSumPtHollowConeDR04() > cutvalue){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }  
  }

  //HadoverEM cut
  if (dophotonHadOverEMCut_){
    float hadoverE = pho->hadronicOverEm();
    if (hadoverE > loosephotonHadOverEMCutEB_){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //eta width

  if (dophotonsigmaeeCut_){
 
    double sigmaee = pho->sigmaIetaIeta();
    if (sigmaee > loosephotonEtaWidthCutEB_){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }
  //R9 cut
  if (dophotonR9Cut_){
    if (pho->r9() < loosephotonR9CutEB_){
      LoosePhoton = false;
      TightPhoton = false;      
      return;
    }
  }
  //If one reaches this point, the decision has been made that this object,
  //is indeed loosePhoton.
  LoosePhoton = true;

  //Next do tightphoton selection.
  //This is the tightest critieria,
  //and once more one assumes that these criteria are
  //tighter than loose.
    //Cut on the sum of ecal rec hits in a cone
  if(dophotonEcalRecHitIsolationCut_){
    double cutvalue = tightphotonEcalIsoRelativeCutSlopeEB_*pho->pt() + tightphotonEcalIsoRelativeCutOffsetEB_;
    if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }

  //Cut on the sum of hcal rec hits in a cone (HBHE)
  if(dophotonHcalTowerIsolationCut_){
    double cutvalue = tightphotonHcalTowerIsolationCutSlopeEB_*pho->pt() + tightphotonHcalTowerIsolationCutOffsetEB_;
    if(pho->hcalTowerSumEtConeDR04() > cutvalue){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }

  //Cut on number of tracks within the solid cone.
  if (dophotonSCNTrkCut_){
    if (pho->nTrkSolidConeDR04() > tightphotonSolidConeNTrkCutEB_){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }

  //Cut on number of tracks within the hollow cone.
  if (dophotonHCNTrkCut_){
    if (pho->nTrkHollowConeDR04() > tightphotonHollowConeNTrkCutEB_){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }
  
  //Cut on the sum of tracks within a solid cone
  if (dophotonSCTrkIsolationCut_){
    double cutvalue = tightphotonSolidConeTrkIsolationSlopeEB_*pho->pt() + tightphotonSolidConeTrkIsolationOffsetEB_;
    if (pho->trkSumPtSolidConeDR04() > cutvalue){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }

  //Cut on the sum of tracks within a hollow cone
  if (dophotonHCTrkIsolationCut_){
    double cutvalue = tightphotonHollowConeTrkIsolationSlopeEB_*pho->pt() + tightphotonHollowConeTrkIsolationOffsetEB_;
    if (pho->trkSumPtHollowConeDR04() > cutvalue){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }  
  }

  //HadoverEM cut
  if (dophotonHadOverEMCut_){
    float hadoverE = pho->hadronicOverEm();
    if (hadoverE > tightphotonHadOverEMCutEB_){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }

  //eta width

  if (dophotonsigmaeeCut_){
    double sigmaee = pho->sigmaIetaIeta();
    if (sigmaee > tightphotonEtaWidthCutEB_){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }
  //R9 cut
  if (dophotonR9Cut_){
    if (pho->r9() < tightphotonR9CutEB_){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }

  //if you got here, you must have passed all cuts!
  TightPhoton = true;
  
}
void CutBasedPhotonIDAlgo::decideEE ( const reco::Photon pho,
bool &  LooseEM,
bool &  LoosePhoton,
bool &  TightPhoton 
)

Definition at line 446 of file CutBasedPhotonIDAlgo.cc.

References dophotonEcalRecHitIsolationCut_, dophotonHadOverEMCut_, dophotonHcalTowerIsolationCut_, dophotonHCNTrkCut_, dophotonHCTrkIsolationCut_, dophotonR9Cut_, dophotonSCNTrkCut_, dophotonSCTrkIsolationCut_, dophotonsigmaeeCut_, dorequireFiducial_, reco::Photon::ecalRecHitSumEtConeDR04(), reco::Photon::hadronicOverEm(), reco::Photon::hcalTowerSumEtConeDR04(), reco::Photon::isEBEEGap(), reco::Photon::isEBEtaGap(), reco::Photon::isEBPhiGap(), reco::Photon::isEEDeeGap(), reco::Photon::isEERingGap(), looseEMEcalIsoRelativeCutOffsetEE_, looseEMEcalIsoRelativeCutSlopeEE_, looseEMEtaWidthCutEE_, looseEMHadOverEMCutEE_, looseEMHcalTowerIsolationCutOffsetEE_, looseEMHcalTowerIsolationCutSlopeEE_, looseEMHollowConeNTrkCutEE_, looseEMHollowConeTrkIsolationOffsetEE_, looseEMHollowConeTrkIsolationSlopeEE_, looseEMR9CutEE_, looseEMSolidConeNTrkCutEE_, looseEMSolidConeTrkIsolationOffsetEE_, looseEMSolidConeTrkIsolationSlopeEE_, loosephotonEcalIsoRelativeCutOffsetEE_, loosephotonEcalIsoRelativeCutSlopeEE_, loosephotonEtaWidthCutEE_, loosephotonHadOverEMCutEE_, loosephotonHcalTowerIsolationCutOffsetEE_, loosephotonHcalTowerIsolationCutSlopeEE_, loosephotonHollowConeNTrkCutEE_, loosephotonHollowConeTrkIsolationOffsetEE_, loosephotonHollowConeTrkIsolationSlopeEE_, loosephotonR9CutEE_, loosephotonSolidConeNTrkCutEE_, loosephotonSolidConeTrkIsolationOffsetEE_, loosephotonSolidConeTrkIsolationSlopeEE_, reco::Photon::nTrkHollowConeDR04(), reco::Photon::nTrkSolidConeDR04(), reco::LeafCandidate::pt(), reco::Photon::r9(), reco::Photon::sigmaIetaIeta(), tightphotonEcalIsoRelativeCutOffsetEE_, tightphotonEcalIsoRelativeCutSlopeEE_, tightphotonEtaWidthCutEE_, tightphotonHadOverEMCutEE_, tightphotonHcalTowerIsolationCutOffsetEE_, tightphotonHcalTowerIsolationCutSlopeEE_, tightphotonHollowConeNTrkCutEE_, tightphotonHollowConeTrkIsolationOffsetEE_, tightphotonHollowConeTrkIsolationSlopeEE_, tightphotonR9CutEE_, tightphotonSolidConeNTrkCutEE_, tightphotonSolidConeTrkIsolationOffsetEE_, tightphotonSolidConeTrkIsolationSlopeEE_, reco::Photon::trkSumPtHollowConeDR04(), and reco::Photon::trkSumPtSolidConeDR04().

Referenced by PhotonIDProducer::produce().

                                                                                                             {
  
  //If one has selected to apply fiducial cuts, they will be
  //applied for all , loosePhoton, tightPhoton.
  //Consider yourself warned!

  //Require supercluster is within fiducial volume.
  if(dorequireFiducial_){
    if (pho->isEBEEGap()) {
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      
      return;
    }
    if ( pho->isEBEtaGap() ||  pho->isEBPhiGap() ){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
    if (pho->isEERingGap() || pho->isEEDeeGap() ){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }
  //Done with fiducial cuts.
  //Do LooseEM selection.  By definition, if a photon does not pass LooseEM, it does not pass LoosePhoton or TightPhoton!
  if(dophotonEcalRecHitIsolationCut_){
    double cutvalue = looseEMEcalIsoRelativeCutSlopeEE_*pho->pt() + looseEMEcalIsoRelativeCutOffsetEE_;
    if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }
  
  //Cut on the sum of hcal towers in a cone (HBHE)
  if(dophotonHcalTowerIsolationCut_){
    double cutvalue = looseEMHcalTowerIsolationCutSlopeEE_*pho->pt() + looseEMHcalTowerIsolationCutOffsetEE_;
    if(pho->hcalTowerSumEtConeDR04() > cutvalue){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //Cut on number of tracks within the solid cone.
  if (dophotonSCNTrkCut_){
    if (pho->nTrkSolidConeDR04() > looseEMSolidConeNTrkCutEE_){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;  
      return;
    }
  }

  //Cut on number of tracks within the hollow cone.
  if (dophotonHCNTrkCut_){
    if (pho->nTrkHollowConeDR04() > looseEMHollowConeNTrkCutEE_){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;  
      return;
    }
  }
  

  //Cut on the sum of tracks within a solid cone
  if (dophotonSCTrkIsolationCut_){
    double cutvalue = looseEMSolidConeTrkIsolationSlopeEE_*pho->pt() + looseEMSolidConeTrkIsolationOffsetEE_;
    if (pho->trkSumPtSolidConeDR04() > cutvalue){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //Cut on the sum of tracks within a hollow cone
  if (dophotonHCTrkIsolationCut_){
    double cutvalue = looseEMHollowConeTrkIsolationSlopeEE_*pho->pt() + looseEMHollowConeTrkIsolationOffsetEE_;
    if (pho->trkSumPtHollowConeDR04() > cutvalue){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }  
  }

  //HadoverEM cut
  if (dophotonHadOverEMCut_){
    float hadoverE = pho->hadronicOverEm();
    if (hadoverE > looseEMHadOverEMCutEE_){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;  
      return;
    }
  }

  //eta width

  if (dophotonsigmaeeCut_){
    
    double sigmaee = pho->sigmaIetaIeta();
  
    if (sigmaee > looseEMEtaWidthCutEE_){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;  
      return;
    }
  }
  //R9 cut
  if (dophotonR9Cut_){
    if (pho->r9() < looseEMR9CutEE_){
      LooseEM     = false;
      LoosePhoton = false;
      TightPhoton = false;  
      return;
    }
  }
  LooseEM = true;
  //Next do loosephoton selection.
  //If an object is not LoosePhoton, it is also not
  //TightPhoton!

  if(dophotonEcalRecHitIsolationCut_){
    double cutvalue = loosephotonEcalIsoRelativeCutSlopeEE_*pho->pt() + loosephotonEcalIsoRelativeCutOffsetEE_;
    if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }
  
  //Cut on the sum of hcal rec hits in a cone (HBHE)
  if(dophotonHcalTowerIsolationCut_){
    double cutvalue = loosephotonHcalTowerIsolationCutSlopeEE_*pho->pt() + loosephotonHcalTowerIsolationCutOffsetEE_;
    if(pho->hcalTowerSumEtConeDR04() > cutvalue){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //Cut on number of tracks within the solid cone.
  if (dophotonSCNTrkCut_){
    if (pho->nTrkSolidConeDR04() > loosephotonSolidConeNTrkCutEE_){
      LoosePhoton = false;
      TightPhoton = false;  
      return;
    }
  }

  //Cut on number of tracks within the hollow cone.
  if (dophotonHCNTrkCut_){
    if (pho->nTrkHollowConeDR04() > loosephotonHollowConeNTrkCutEE_){
      LoosePhoton = false;
      TightPhoton = false;  
      return;
    }
  }
  

  //Cut on the sum of tracks within a solid cone
  if (dophotonSCTrkIsolationCut_){
    double cutvalue = loosephotonSolidConeTrkIsolationSlopeEE_*pho->pt() + loosephotonSolidConeTrkIsolationOffsetEE_;
    if (pho->trkSumPtSolidConeDR04() > cutvalue){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }
  }

  //Cut on the sum of tracks within a hollow cone
  if (dophotonHCTrkIsolationCut_){
    double cutvalue = loosephotonHollowConeTrkIsolationSlopeEE_*pho->pt() + loosephotonHollowConeTrkIsolationOffsetEE_;
    if (pho->trkSumPtHollowConeDR04() > cutvalue){
      LoosePhoton = false;
      TightPhoton = false;
      return;
    }  
  }

  //HadoverEM cut
  if (dophotonHadOverEMCut_){
    float hadoverE = pho->hadronicOverEm();
    if (hadoverE > loosephotonHadOverEMCutEE_){
      LoosePhoton = false;
      TightPhoton = false;  
      return;
    }
  }

  //eta width

  if (dophotonsigmaeeCut_){
    
    double sigmaee = pho->sigmaIetaIeta();
  
    if (sigmaee > loosephotonEtaWidthCutEE_){
      LoosePhoton = false;
      TightPhoton = false;  
      return;
    }
  }
  //R9 cut
  if (dophotonR9Cut_){
    if (pho->r9() < loosephotonR9CutEE_){
      LoosePhoton = false;
      TightPhoton = false;  
      return;
    }
  }
  //If one reaches this point, the decision has been made that this object,
  //is indeed loosePhoton.
  LoosePhoton = true;
  //Next do tightphoton selection.
  //This is the tightest critieria,
  //and once more one assumes that these criteria are
  //tighter than loose.
  if(dophotonEcalRecHitIsolationCut_){
    double cutvalue = tightphotonEcalIsoRelativeCutSlopeEE_*pho->pt() + tightphotonEcalIsoRelativeCutOffsetEE_;
    if(pho->ecalRecHitSumEtConeDR04() > cutvalue){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }

  //Cut on the sum of hcal rec hits in a cone (HBHE)
  if(dophotonHcalTowerIsolationCut_){
    double cutvalue = tightphotonHcalTowerIsolationCutSlopeEE_*pho->pt() + tightphotonHcalTowerIsolationCutOffsetEE_;
    if(pho->hcalTowerSumEtConeDR04() > cutvalue){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }

  //Cut on number of tracks within the solid cone.
  if (dophotonSCNTrkCut_){
    if (pho->nTrkSolidConeDR04() > tightphotonSolidConeNTrkCutEE_){
      LoosePhoton = true;
      TightPhoton = false;  
      return;
    }
  }

  //Cut on number of tracks within the hollow cone.
  if (dophotonHCNTrkCut_){
    if (pho->nTrkHollowConeDR04() > tightphotonHollowConeNTrkCutEE_){
      LoosePhoton = true;
      TightPhoton = false;  
      return;
    }
  }
  

  //Cut on the sum of tracks within a solid cone
  if (dophotonSCTrkIsolationCut_){
    double cutvalue = tightphotonSolidConeTrkIsolationSlopeEE_*pho->pt() + tightphotonSolidConeTrkIsolationOffsetEE_;
    if (pho->trkSumPtSolidConeDR04() > cutvalue){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }
  }

  //Cut on the sum of tracks within a hollow cone
  if (dophotonHCTrkIsolationCut_){
    double cutvalue = tightphotonHollowConeTrkIsolationSlopeEE_*pho->pt() + tightphotonHollowConeTrkIsolationOffsetEE_;
    if (pho->trkSumPtHollowConeDR04() > cutvalue){
      LoosePhoton = true;
      TightPhoton = false;
      return;
    }  
  }


  //HadoverEM cut
  if (dophotonHadOverEMCut_){
    float hadoverE = pho->hadronicOverEm();
    if (hadoverE > tightphotonHadOverEMCutEE_){
      LoosePhoton = true;
      TightPhoton = false;  
      return;
    }
  }

  //eta width

  if (dophotonsigmaeeCut_){
   
    double sigmaee = pho->sigmaIetaIeta();
        
    if (sigmaee > tightphotonEtaWidthCutEE_){
      LoosePhoton = true;
      TightPhoton = false;  
      return;
    }
  }
  //R9 cut
  if (dophotonR9Cut_){
    if (pho->r9() < tightphotonR9CutEE_){
      LoosePhoton = true;
      TightPhoton = false;  
      return;
    }
  }

  //if you got here, you must have passed all cuts!
  TightPhoton = true;   
  
}
void CutBasedPhotonIDAlgo::setup ( const edm::ParameterSet conf)

Definition at line 7 of file CutBasedPhotonIDAlgo.cc.

References dophotonEcalRecHitIsolationCut_, dophotonHadOverEMCut_, dophotonHcalTowerIsolationCut_, dophotonHCNTrkCut_, dophotonHCTrkIsolationCut_, dophotonR9Cut_, dophotonSCNTrkCut_, dophotonSCTrkIsolationCut_, dophotonsigmaeeCut_, dorequireFiducial_, edm::ParameterSet::getParameter(), looseEMEcalIsoRelativeCutOffsetEB_, looseEMEcalIsoRelativeCutOffsetEE_, looseEMEcalIsoRelativeCutSlopeEB_, looseEMEcalIsoRelativeCutSlopeEE_, looseEMEtaWidthCutEB_, looseEMEtaWidthCutEE_, looseEMHadOverEMCutEB_, looseEMHadOverEMCutEE_, looseEMHcalTowerIsolationCutOffsetEB_, looseEMHcalTowerIsolationCutOffsetEE_, looseEMHcalTowerIsolationCutSlopeEB_, looseEMHcalTowerIsolationCutSlopeEE_, looseEMHollowConeNTrkCutEB_, looseEMHollowConeNTrkCutEE_, looseEMHollowConeTrkIsolationOffsetEB_, looseEMHollowConeTrkIsolationOffsetEE_, looseEMHollowConeTrkIsolationSlopeEB_, looseEMHollowConeTrkIsolationSlopeEE_, looseEMR9CutEB_, looseEMR9CutEE_, looseEMSolidConeNTrkCutEB_, looseEMSolidConeNTrkCutEE_, looseEMSolidConeTrkIsolationCutEB_, looseEMSolidConeTrkIsolationCutEE_, looseEMSolidConeTrkIsolationOffsetEB_, looseEMSolidConeTrkIsolationOffsetEE_, looseEMSolidConeTrkIsolationSlopeEB_, looseEMSolidConeTrkIsolationSlopeEE_, loosephotonEcalIsoRelativeCutOffsetEB_, loosephotonEcalIsoRelativeCutOffsetEE_, loosephotonEcalIsoRelativeCutSlopeEB_, loosephotonEcalIsoRelativeCutSlopeEE_, loosephotonEtaWidthCutEB_, loosephotonEtaWidthCutEE_, loosephotonHadOverEMCutEB_, loosephotonHadOverEMCutEE_, loosephotonHcalTowerIsolationCutOffsetEB_, loosephotonHcalTowerIsolationCutOffsetEE_, loosephotonHcalTowerIsolationCutSlopeEB_, loosephotonHcalTowerIsolationCutSlopeEE_, loosephotonHollowConeNTrkCutEB_, loosephotonHollowConeNTrkCutEE_, loosephotonHollowConeTrkIsolationOffsetEB_, loosephotonHollowConeTrkIsolationOffsetEE_, loosephotonHollowConeTrkIsolationSlopeEB_, loosephotonHollowConeTrkIsolationSlopeEE_, loosephotonR9CutEB_, loosephotonR9CutEE_, loosephotonSolidConeNTrkCutEB_, loosephotonSolidConeNTrkCutEE_, loosephotonSolidConeTrkIsolationCutEB_, loosephotonSolidConeTrkIsolationCutEE_, loosephotonSolidConeTrkIsolationOffsetEB_, loosephotonSolidConeTrkIsolationOffsetEE_, loosephotonSolidConeTrkIsolationSlopeEB_, loosephotonSolidConeTrkIsolationSlopeEE_, tightphotonEcalIsoRelativeCutOffsetEB_, tightphotonEcalIsoRelativeCutOffsetEE_, tightphotonEcalIsoRelativeCutSlopeEB_, tightphotonEcalIsoRelativeCutSlopeEE_, tightphotonEtaWidthCutEB_, tightphotonEtaWidthCutEE_, tightphotonHadOverEMCutEB_, tightphotonHadOverEMCutEE_, tightphotonHcalTowerIsolationCutOffsetEB_, tightphotonHcalTowerIsolationCutOffsetEE_, tightphotonHcalTowerIsolationCutSlopeEB_, tightphotonHcalTowerIsolationCutSlopeEE_, tightphotonHollowConeNTrkCutEB_, tightphotonHollowConeNTrkCutEE_, tightphotonHollowConeTrkIsolationOffsetEB_, tightphotonHollowConeTrkIsolationOffsetEE_, tightphotonHollowConeTrkIsolationSlopeEB_, tightphotonHollowConeTrkIsolationSlopeEE_, tightphotonR9CutEB_, tightphotonR9CutEE_, tightphotonSolidConeNTrkCutEB_, tightphotonSolidConeNTrkCutEE_, tightphotonSolidConeTrkIsolationOffsetEB_, tightphotonSolidConeTrkIsolationOffsetEE_, tightphotonSolidConeTrkIsolationSlopeEB_, and tightphotonSolidConeTrkIsolationSlopeEE_.

                                                            {
  

  //Decision cuts
  dophotonEcalRecHitIsolationCut_ = conf.getParameter<bool>("DoEcalRecHitIsolationCut");
  dophotonHcalTowerIsolationCut_ = conf.getParameter<bool>("DoHcalTowerIsolationCut");
  dophotonHCTrkIsolationCut_ = conf.getParameter<bool>("DoHollowConeTrackIsolationCut");
  dophotonSCTrkIsolationCut_ = conf.getParameter<bool>("DoSolidConeTrackIsolationCut");
  dophotonHCNTrkCut_ = conf.getParameter<bool>("DoHollowConeNTrkCut");
  dophotonSCNTrkCut_ = conf.getParameter<bool>("DoSolidConeNTrkCut");
  dophotonHadOverEMCut_ = conf.getParameter<bool>("DoHadOverEMCut");
  dophotonsigmaeeCut_ = conf.getParameter<bool>("DoEtaWidthCut");
  dophotonR9Cut_ = conf.getParameter<bool>("DoR9Cut");
  dorequireFiducial_ = conf.getParameter<bool>("RequireFiducial");

  looseEMEcalIsoRelativeCutSlopeEB_ = conf.getParameter<double>("LooseEMEcalIsoRelativeCutSlopeEB");
  looseEMEcalIsoRelativeCutOffsetEB_ = conf.getParameter<double>("LooseEMEcalIsoRelativeCutOffsetEB");
  looseEMHcalTowerIsolationCutSlopeEB_ = conf.getParameter<double>("LooseEMHcalTowerIsoSlopeEB");
  looseEMHcalTowerIsolationCutOffsetEB_ = conf.getParameter<double>("LooseEMHcalTowerIsoOffsetEB");
  looseEMHollowConeTrkIsolationSlopeEB_ = conf.getParameter<double>("LooseEMHollowTrkSlopeEB");
  looseEMHollowConeTrkIsolationOffsetEB_ = conf.getParameter<double>("LooseEMHollowTrkOffsetEB");
  looseEMSolidConeTrkIsolationSlopeEB_ = conf.getParameter<double>("LooseEMSolidTrkSlopeEB");
  looseEMSolidConeTrkIsolationOffsetEB_ = conf.getParameter<double>("LooseEMSolidTrkOffsetEB");
  looseEMSolidConeTrkIsolationCutEB_ = conf.getParameter<double>("LooseEMSolidTrkEB");
  looseEMSolidConeNTrkCutEB_ = conf.getParameter<int>("LooseEMSolidNTrkEB");
  looseEMHollowConeNTrkCutEB_ = conf.getParameter<int>("LooseEMHollowNTrkEB");
  looseEMEtaWidthCutEB_ = conf.getParameter<double>("LooseEMEtaWidthEB");
  looseEMHadOverEMCutEB_ = conf.getParameter<double>("LooseEMHadOverEMEB");
  looseEMR9CutEB_ = conf.getParameter<double>("LooseEMR9CutEB");

  loosephotonEcalIsoRelativeCutSlopeEB_ = conf.getParameter<double>("LoosePhotonEcalIsoRelativeCutSlopeEB");
  loosephotonEcalIsoRelativeCutOffsetEB_ = conf.getParameter<double>("LoosePhotonEcalIsoRelativeCutOffsetEB");
  loosephotonHcalTowerIsolationCutSlopeEB_ = conf.getParameter<double>("LoosePhotonHcalTowerIsoSlopeEB");
  loosephotonHcalTowerIsolationCutOffsetEB_ = conf.getParameter<double>("LoosePhotonHcalTowerIsoOffsetEB");
  loosephotonHollowConeTrkIsolationSlopeEB_ = conf.getParameter<double>("LoosePhotonHollowTrkSlopeEB");
  loosephotonHollowConeTrkIsolationOffsetEB_ = conf.getParameter<double>("LoosePhotonHollowTrkOffsetEB");
  loosephotonSolidConeTrkIsolationSlopeEB_ = conf.getParameter<double>("LoosePhotonSolidTrkSlopeEB");
  loosephotonSolidConeTrkIsolationOffsetEB_ = conf.getParameter<double>("LoosePhotonSolidTrkOffsetEB");
  loosephotonSolidConeTrkIsolationCutEB_ = conf.getParameter<double>("LoosePhotonSolidTrkEB");
  loosephotonSolidConeNTrkCutEB_ = conf.getParameter<int>("LoosePhotonSolidNTrkEB");
  loosephotonHollowConeNTrkCutEB_ = conf.getParameter<int>("LoosePhotonHollowNTrkEB");
  loosephotonEtaWidthCutEB_ = conf.getParameter<double>("LoosePhotonEtaWidthEB");
  loosephotonHadOverEMCutEB_ = conf.getParameter<double>("LoosePhotonHadOverEMEB");
  loosephotonR9CutEB_ = conf.getParameter<double>("LoosePhotonR9CutEB");


  tightphotonEcalIsoRelativeCutSlopeEB_ = conf.getParameter<double>("TightPhotonEcalIsoRelativeCutSlopeEB");
  tightphotonEcalIsoRelativeCutOffsetEB_ = conf.getParameter<double>("TightPhotonEcalIsoRelativeCutOffsetEB");
  tightphotonHcalTowerIsolationCutSlopeEB_ = conf.getParameter<double>("TightPhotonHcalTowerIsoSlopeEB");
  tightphotonHcalTowerIsolationCutOffsetEB_ = conf.getParameter<double>("TightPhotonHcalTowerIsoOffsetEB");
  tightphotonHollowConeTrkIsolationSlopeEB_ = conf.getParameter<double>("TightPhotonHollowTrkSlopeEB");
  tightphotonHollowConeTrkIsolationOffsetEB_ = conf.getParameter<double>("TightPhotonHollowTrkOffsetEB");
  tightphotonSolidConeTrkIsolationSlopeEB_ = conf.getParameter<double>("TightPhotonSolidTrkSlopeEB");
  tightphotonSolidConeTrkIsolationOffsetEB_ = conf.getParameter<double>("TightPhotonSolidTrkOffsetEB");
  tightphotonSolidConeNTrkCutEB_ = conf.getParameter<int>("TightPhotonSolidNTrkEB");
  tightphotonHollowConeNTrkCutEB_ = conf.getParameter<int>("TightPhotonHollowNTrkEB");
  tightphotonEtaWidthCutEB_ = conf.getParameter<double>("TightPhotonEtaWidthEB");
  tightphotonHadOverEMCutEB_ = conf.getParameter<double>("TightPhotonHadOverEMEB");
  tightphotonR9CutEB_ = conf.getParameter<double>("TightPhotonR9CutEB");

  //get cuts here EE

  looseEMEcalIsoRelativeCutSlopeEE_ = conf.getParameter<double>("LooseEMEcalIsoRelativeCutSlopeEE");
  looseEMEcalIsoRelativeCutOffsetEE_ = conf.getParameter<double>("LooseEMEcalIsoRelativeCutOffsetEE");
  looseEMHcalTowerIsolationCutSlopeEE_ = conf.getParameter<double>("LooseEMHcalTowerIsoSlopeEE");
  looseEMHcalTowerIsolationCutOffsetEE_ = conf.getParameter<double>("LooseEMHcalTowerIsoOffsetEE");
  looseEMHollowConeTrkIsolationSlopeEE_ = conf.getParameter<double>("LooseEMHollowTrkSlopeEE");
  looseEMHollowConeTrkIsolationOffsetEE_ = conf.getParameter<double>("LooseEMHollowTrkOffsetEE");
  looseEMSolidConeTrkIsolationSlopeEE_ = conf.getParameter<double>("LooseEMSolidTrkSlopeEE");
  looseEMSolidConeTrkIsolationOffsetEE_ = conf.getParameter<double>("LooseEMSolidTrkOffsetEE");
  looseEMSolidConeTrkIsolationCutEE_ = conf.getParameter<double>("LooseEMSolidTrkEE");
  looseEMSolidConeNTrkCutEE_ = conf.getParameter<int>("LooseEMSolidNTrkEE");
  looseEMHollowConeNTrkCutEE_ = conf.getParameter<int>("LooseEMHollowNTrkEE");
  looseEMEtaWidthCutEE_ = conf.getParameter<double>("LooseEMEtaWidthEE");
  looseEMHadOverEMCutEE_ = conf.getParameter<double>("LooseEMHadOverEMEE");
  looseEMR9CutEE_ = conf.getParameter<double>("LooseEMR9CutEE");

  loosephotonEcalIsoRelativeCutSlopeEE_ = conf.getParameter<double>("LoosePhotonEcalIsoRelativeCutSlopeEE");
  loosephotonEcalIsoRelativeCutOffsetEE_ = conf.getParameter<double>("LoosePhotonEcalIsoRelativeCutOffsetEE");
  loosephotonHcalTowerIsolationCutSlopeEE_ = conf.getParameter<double>("LoosePhotonHcalTowerIsoSlopeEE");
  loosephotonHcalTowerIsolationCutOffsetEE_ = conf.getParameter<double>("LoosePhotonHcalTowerIsoOffsetEE");
  loosephotonHollowConeTrkIsolationSlopeEE_ = conf.getParameter<double>("LoosePhotonHollowTrkSlopeEE");
  loosephotonHollowConeTrkIsolationOffsetEE_ = conf.getParameter<double>("LoosePhotonHollowTrkOffsetEE");
  loosephotonSolidConeTrkIsolationSlopeEE_ = conf.getParameter<double>("LoosePhotonSolidTrkSlopeEE");
  loosephotonSolidConeTrkIsolationOffsetEE_ = conf.getParameter<double>("LoosePhotonSolidTrkOffsetEE");
  loosephotonSolidConeTrkIsolationCutEE_ = conf.getParameter<double>("LoosePhotonSolidTrkEE");
  loosephotonSolidConeNTrkCutEE_ = conf.getParameter<int>("LoosePhotonSolidNTrkEE");
  loosephotonHollowConeNTrkCutEE_ = conf.getParameter<int>("LoosePhotonHollowNTrkEE");
  loosephotonEtaWidthCutEE_ = conf.getParameter<double>("LoosePhotonEtaWidthEE");
  loosephotonHadOverEMCutEE_ = conf.getParameter<double>("LoosePhotonHadOverEMEE");
  loosephotonR9CutEE_ = conf.getParameter<double>("LoosePhotonR9CutEE");

  tightphotonEcalIsoRelativeCutSlopeEE_ = conf.getParameter<double>("TightPhotonEcalIsoRelativeCutSlopeEE");
  tightphotonEcalIsoRelativeCutOffsetEE_ = conf.getParameter<double>("TightPhotonEcalIsoRelativeCutOffsetEE");
  tightphotonHcalTowerIsolationCutSlopeEE_ = conf.getParameter<double>("TightPhotonHcalTowerIsoSlopeEE");
  tightphotonHcalTowerIsolationCutOffsetEE_ = conf.getParameter<double>("TightPhotonHcalTowerIsoOffsetEE");
  tightphotonHollowConeTrkIsolationSlopeEE_ = conf.getParameter<double>("TightPhotonHollowTrkSlopeEE");
  tightphotonHollowConeTrkIsolationOffsetEE_ = conf.getParameter<double>("TightPhotonHollowTrkOffsetEE");
  tightphotonSolidConeTrkIsolationSlopeEE_ = conf.getParameter<double>("TightPhotonSolidTrkSlopeEE");
  tightphotonSolidConeTrkIsolationOffsetEE_ = conf.getParameter<double>("TightPhotonSolidTrkOffsetEE");
  tightphotonSolidConeNTrkCutEE_ = conf.getParameter<int>("TightPhotonSolidNTrkEE");
  tightphotonHollowConeNTrkCutEE_ = conf.getParameter<int>("TightPhotonHollowNTrkEE");
  tightphotonEtaWidthCutEE_ = conf.getParameter<double>("TightPhotonEtaWidthEE");
  tightphotonHadOverEMCutEE_ = conf.getParameter<double>("TightPhotonHadOverEMEE");
  tightphotonR9CutEE_ = conf.getParameter<double>("TightPhotonR9CutEE");

}

Member Data Documentation

Definition at line 32 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

Definition at line 39 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

Definition at line 33 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

Definition at line 36 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

Definition at line 34 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

Definition at line 41 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

Definition at line 37 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

Definition at line 35 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

Definition at line 40 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

Definition at line 38 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), decideEE(), and setup().

Definition at line 44 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 89 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 43 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 88 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 54 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 99 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 55 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 100 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 46 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 91 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 45 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 90 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 53 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 98 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 48 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 93 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 47 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 92 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 56 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 101 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 52 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 97 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 51 of file CutBasedPhotonIDAlgo.h.

Referenced by setup().

Definition at line 96 of file CutBasedPhotonIDAlgo.h.

Referenced by setup().

Definition at line 50 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 95 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 49 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 94 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 59 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 104 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 58 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 103 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 69 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 114 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 70 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 115 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 61 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 106 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 60 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 105 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 68 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 113 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 63 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 108 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 62 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 107 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 71 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 116 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 67 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 112 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 66 of file CutBasedPhotonIDAlgo.h.

Referenced by setup().

Definition at line 111 of file CutBasedPhotonIDAlgo.h.

Referenced by setup().

Definition at line 65 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 110 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 64 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 109 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 74 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 119 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 73 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 118 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 84 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 129 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 85 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 130 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 76 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 121 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 75 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 120 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 83 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 128 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 78 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 123 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 77 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 122 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 86 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 131 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 82 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 127 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 81 of file CutBasedPhotonIDAlgo.h.

Definition at line 126 of file CutBasedPhotonIDAlgo.h.

Definition at line 80 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 125 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().

Definition at line 79 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEB(), and setup().

Definition at line 124 of file CutBasedPhotonIDAlgo.h.

Referenced by decideEE(), and setup().