![]() |
![]() |
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