00001 #ifndef PhotonID_h
00002 #define PhotonID_h
00003 #include "DataFormats/EgammaCandidates/interface/PhotonIDFwd.h"
00004 namespace reco {
00005
00006 class PhotonID
00007 {
00008 public:
00009
00010 PhotonID();
00011
00012
00013 PhotonID(bool LooseEM, bool LoosePho, bool TightPho,
00014 float TrkCone4, float HollowCone, int nTrkCone, int nHollow,
00015 float EcalRecHitIso, float HcalRecHitIso, float r9,
00016 bool EBPho, bool EEPho, bool EBGap, bool EEGap, bool EBEEGap,
00017 bool isAlsoElectron);
00018
00019
00020
00021
00022
00023
00024 bool isLooseEM() const{return isLooseEM_;}
00025 bool isLoosePhoton() const{return isLoosePhoton_;}
00026 bool isTightPhoton() const{return isTightPhoton_;}
00027
00028
00029 float isolationEcalRecHit() const{return isolationEcalRecHit_;}
00030
00031 float isolationHcalRecHit() const{return isolationHcalRecHit_;}
00032
00033 float isolationSolidTrkCone() const{return isolationSolidTrkCone_;}
00034
00035 float isolationHollowTrkCone() const{return isolationHollowTrkCone_;}
00036
00037 int nTrkSolidCone() const{return nTrkSolidCone_;}
00038
00039 int nTrkHollowCone() const{return nTrkHollowTrkCone_;}
00040
00041 float r9() const{return r9_;}
00042
00043 bool isEBPho() const{return isEBPho_;}
00044
00045 bool isEEPho() const{return isEEPho_;}
00046
00047 bool isEBGap() const{return isEBGap_;}
00048
00049 bool isEEGap() const{return isEEGap_;}
00050
00051 bool isEBEEGap() const{return isEBEEGap_;}
00052
00053 bool isAlsoElectron() const{return isAlsoElectron_;}
00054
00055
00056 void setFiducialFlags(bool EBPho, bool EEPho, bool EBGap, bool EEGap, bool EBEEGap);
00057 void setDecision(bool decisionLooseEM, bool decisionLoosePho, bool decisionTightPho);
00058
00059 private:
00060
00061
00062 bool isLooseEM_;
00063 bool isLoosePhoton_;
00064 bool isTightPhoton_;
00065
00066
00067
00068 float isolationEcalRecHit_;
00069
00070 float isolationHcalRecHit_;
00071
00072 float isolationSolidTrkCone_;
00073
00074 float isolationHollowTrkCone_;
00075
00076 int nTrkSolidCone_;
00077
00078 int nTrkHollowTrkCone_;
00079
00080 float r9_;
00081
00082 bool isEBPho_;
00083 bool isEEPho_;
00084 bool isEBGap_;
00085 bool isEEGap_;
00086 bool isEBEEGap_;
00087
00088
00089 bool isAlsoElectron_;
00090 };
00091
00092 }
00093
00094 #endif