CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoEgamma/PhotonIdentification/interface/CutBasedPhotonIDAlgo.h

Go to the documentation of this file.
00001 #ifndef CutBasedPhotonIDAlgo_H
00002 #define CutBasedPhotonIDAlgo_H
00003 
00004 #include "DataFormats/EgammaCandidates/interface/Photon.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 #include "FWCore/Framework/interface/EventSetup.h"
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 
00009 
00010 class CutBasedPhotonIDAlgo  {
00011 
00012 public:
00013 
00014   CutBasedPhotonIDAlgo(){};
00015 
00016   virtual ~CutBasedPhotonIDAlgo(){};
00017 
00018   void setup(const edm::ParameterSet& conf);
00019   void decideEB(const reco::Photon* pho,
00020                 bool &LooseEM,
00021                 bool &LoosePhoton, 
00022                 bool &TightPhoton 
00023                 );
00024   void decideEE(const reco::Photon* pho,
00025                 bool &LooseEM,
00026                 bool &LoosePhoton,
00027                 bool &TightPhoton);
00028  private:
00029   
00030   //Which cuts to do?
00031 
00032   bool dophotonEcalRecHitIsolationCut_;
00033   bool dophotonHcalTowerIsolationCut_;
00034   bool dophotonHCTrkIsolationCut_;
00035   bool dophotonSCTrkIsolationCut_;
00036   bool dophotonHCNTrkCut_;
00037   bool dophotonSCNTrkCut_;
00038   bool dorequireFiducial_;
00039   bool dophotonHadOverEMCut_;
00040   bool dophotonsigmaeeCut_;
00041   bool dophotonR9Cut_;
00042 
00043   double looseEMEcalIsoRelativeCutSlopeEB_;
00044   double looseEMEcalIsoRelativeCutOffsetEB_;
00045   double looseEMHcalTowerIsolationCutSlopeEB_;
00046   double looseEMHcalTowerIsolationCutOffsetEB_;
00047   double looseEMHollowConeTrkIsolationSlopeEB_;
00048   double looseEMHollowConeTrkIsolationOffsetEB_;
00049   double looseEMSolidConeTrkIsolationSlopeEB_;
00050   double looseEMSolidConeTrkIsolationOffsetEB_;
00051   double looseEMSolidConeTrkIsolationCutEB_;
00052   int looseEMSolidConeNTrkCutEB_;
00053   int looseEMHollowConeNTrkCutEB_;
00054   double looseEMEtaWidthCutEB_;
00055   double looseEMHadOverEMCutEB_;
00056   double looseEMR9CutEB_;
00057 
00058   double loosephotonEcalIsoRelativeCutSlopeEB_;
00059   double loosephotonEcalIsoRelativeCutOffsetEB_;
00060   double loosephotonHcalTowerIsolationCutSlopeEB_;
00061   double loosephotonHcalTowerIsolationCutOffsetEB_;
00062   double loosephotonHollowConeTrkIsolationSlopeEB_;
00063   double loosephotonHollowConeTrkIsolationOffsetEB_;
00064   double loosephotonSolidConeTrkIsolationSlopeEB_;
00065   double loosephotonSolidConeTrkIsolationOffsetEB_;
00066   double loosephotonSolidConeTrkIsolationCutEB_;
00067   int loosephotonSolidConeNTrkCutEB_;
00068   int loosephotonHollowConeNTrkCutEB_;
00069   double loosephotonEtaWidthCutEB_;
00070   double loosephotonHadOverEMCutEB_;
00071   double loosephotonR9CutEB_;
00072 
00073   double tightphotonEcalIsoRelativeCutSlopeEB_;
00074   double tightphotonEcalIsoRelativeCutOffsetEB_;
00075   double tightphotonHcalTowerIsolationCutSlopeEB_;
00076   double tightphotonHcalTowerIsolationCutOffsetEB_;
00077   double tightphotonHollowConeTrkIsolationSlopeEB_;
00078   double tightphotonHollowConeTrkIsolationOffsetEB_;
00079   double tightphotonSolidConeTrkIsolationSlopeEB_;
00080   double tightphotonSolidConeTrkIsolationOffsetEB_;
00081   double tightphotonSolidConeTrkIsolationCutEB_;
00082   int tightphotonSolidConeNTrkCutEB_;
00083   int tightphotonHollowConeNTrkCutEB_;
00084   double tightphotonEtaWidthCutEB_;
00085   double tightphotonHadOverEMCutEB_;
00086   double tightphotonR9CutEB_;
00087 
00088   double looseEMEcalIsoRelativeCutSlopeEE_;
00089   double looseEMEcalIsoRelativeCutOffsetEE_;
00090   double looseEMHcalTowerIsolationCutSlopeEE_;
00091   double looseEMHcalTowerIsolationCutOffsetEE_;
00092   double looseEMHollowConeTrkIsolationSlopeEE_;
00093   double looseEMHollowConeTrkIsolationOffsetEE_;
00094   double looseEMSolidConeTrkIsolationSlopeEE_;
00095   double looseEMSolidConeTrkIsolationOffsetEE_;
00096   double looseEMSolidConeTrkIsolationCutEE_;
00097   int looseEMSolidConeNTrkCutEE_;
00098   int looseEMHollowConeNTrkCutEE_;
00099   double looseEMEtaWidthCutEE_;
00100   double looseEMHadOverEMCutEE_;
00101   double looseEMR9CutEE_;
00102 
00103   double loosephotonEcalIsoRelativeCutSlopeEE_;
00104   double loosephotonEcalIsoRelativeCutOffsetEE_;
00105   double loosephotonHcalTowerIsolationCutSlopeEE_;
00106   double loosephotonHcalTowerIsolationCutOffsetEE_;
00107   double loosephotonHollowConeTrkIsolationSlopeEE_;
00108   double loosephotonHollowConeTrkIsolationOffsetEE_;
00109   double loosephotonSolidConeTrkIsolationSlopeEE_;
00110   double loosephotonSolidConeTrkIsolationOffsetEE_;
00111   double loosephotonSolidConeTrkIsolationCutEE_;
00112   int loosephotonSolidConeNTrkCutEE_;
00113   int loosephotonHollowConeNTrkCutEE_;
00114   double loosephotonEtaWidthCutEE_;
00115   double loosephotonHadOverEMCutEE_;
00116   double loosephotonR9CutEE_;
00117 
00118   double tightphotonEcalIsoRelativeCutSlopeEE_;
00119   double tightphotonEcalIsoRelativeCutOffsetEE_;
00120   double tightphotonHcalTowerIsolationCutSlopeEE_;
00121   double tightphotonHcalTowerIsolationCutOffsetEE_;
00122   double tightphotonHollowConeTrkIsolationSlopeEE_;
00123   double tightphotonHollowConeTrkIsolationOffsetEE_;
00124   double tightphotonSolidConeTrkIsolationSlopeEE_;
00125   double tightphotonSolidConeTrkIsolationOffsetEE_;
00126   double tightphotonSolidConeTrkIsolationCutEE_;
00127   int tightphotonSolidConeNTrkCutEE_;
00128   int tightphotonHollowConeNTrkCutEE_;
00129   double tightphotonEtaWidthCutEE_;
00130   double tightphotonHadOverEMCutEE_;
00131   double tightphotonR9CutEE_;
00132 
00133  
00134 };
00135 
00136 #endif // CutBasedPhotonIDAlgo_H