#ifndef STNTUPLE_TStnPhotonID #define STNTUPLE_TStnPhotonID /////////////////////////////////////////////////////////////////////////////// // class representing photon ID cuts // Author: P. Murat (CDF/FNAL) // Date: /////////////////////////////////////////////////////////////////////////////// #include "TNamed.h" #include "TString.h" class TStnPhoton; class TStnPhotonID: public TNamed { public: enum { fCentralBit = 0x00000001, fPlugBit = 0x00000002, fEtBit = 0x00000004, fDetEtaBit = 0x00000008, fEtaBit = 0x00000010, fHadEmBit = 0x00000020, fCesAvgChi2Bit = 0x00000040, fXCesBit = 0x00000080, fZCesBit = 0x00000100, fLshrBit = 0x00000200, fIsoBit = 0x00000400, fN3DBit = 0x00000800, fPtBit = 0x00001000, fTIsoBit = 0x00002000, fCes2Bit = 0x00004000, fPesEBit = 0x00008000, fPesFidBit = 0x00010000, fPemChi2Bit = 0x00020000, fPes5By9Bit = 0x00040000, fPemHadEmBit = 0x00080000 }; protected: Float_t fMinEt; Float_t fMaxDetEta; Float_t fMaxEta; Float_t fMaxHadEm; Float_t fHadEmSlope; Float_t fMaxCesAvgChi2; Float_t fMaxCesAvgChi2Break; Float_t fMaxCesAvgChi2High; Float_t fMaxXCes; Float_t fMinZCes; Float_t fMaxZCes; Float_t fMaxLshr; Float_t fMaxIso4; Float_t fMaxIso4Slide; Float_t fMaxIso4Break; Float_t fMaxIso4Low; Float_t fMaxIso4SlideLow; Int_t fMaxN3D; Float_t fMaxPt; Float_t fMaxPtSlide; Float_t fMaxSumPt4; Float_t fMaxSumPt4Slide; Float_t fMinPesE; Float_t fMinPesFid; Float_t fMaxPesFid; Float_t fMaxPemChi2; Float_t fMinPes5By9; //----------------------------------------------------------------------------- // methods //----------------------------------------------------------------------------- public: // ****** constructors and destructor TStnPhotonID(const char* Name="PhotonID", const char* Title="PhotonID"); virtual ~TStnPhotonID(); // ****** accessors Float_t MinEt() { return fMinEt;} Float_t MaxDetEta() { return fMaxDetEta;} Float_t MaxEta() { return fMaxEta;} Float_t MaxHadEm() { return fMaxHadEm;} Float_t HadEmSlope() { return fHadEmSlope;} Float_t MaxCesAvgChi2() { return fMaxCesAvgChi2;} Float_t MaxCesAvgChi2Break(){ return fMaxCesAvgChi2Break;} Float_t MaxCesAvgChi2High() { return fMaxCesAvgChi2High;} Float_t MaxXCes() { return fMaxXCes;} Float_t MinZCes() { return fMinZCes;} Float_t MaxZCes() { return fMaxZCes;} Float_t MaxLshr() { return fMaxLshr;} Float_t MaxIso4() { return fMaxIso4;} Float_t MaxIso4Slide() { return fMaxIso4Slide;} Float_t MaxIso4Break() { return fMaxIso4Break;} Float_t MaxIso4Low() { return fMaxIso4Low;} Float_t MaxIso4SlideLow() { return fMaxIso4SlideLow;} Int_t MaxN3D() { return fMaxN3D;} Float_t MaxPt() { return fMaxPt;} Float_t MaxPtSlide() { return fMaxPtSlide;} Float_t MaxSumPt4() { return fMaxSumPt4;} Float_t MaxSumPt4Slide() { return fMaxSumPt4Slide;} Float_t MinPesE() { return fMinPesE;} Float_t MinPesFid() { return fMinPesFid;} Float_t MaxPesFid() { return fMaxPesFid;} Float_t MaxPemChi2() { return fMaxPemChi2;} Float_t MaxPes5By9() { return fMinPes5By9;} Int_t UseMask() { return fUseMask; } // ****** modifiers void SetMinEt(Float_t x) { fMinEt=x;} void SetMaxDetEta(Float_t x) { fMaxDetEta=x;} void SetMaxEta(Float_t x) { fMaxEta=x;} void SetMaxHadEm(Float_t x) { fMaxHadEm=x;} void SetHadEmSlope(Float_t x) { fHadEmSlope=x;} void SetMaxCesAvgChi2(Float_t x) { fMaxCesAvgChi2=x;} void SetMaxCesAvgChi2Break(Float_t x) { fMaxCesAvgChi2Break=x;} void SetMaxCesAvgChi2High(Float_t x) { fMaxCesAvgChi2High=x;} void SetMaxXCes(Float_t x) { fMaxXCes=x;} void SetMinZCes(Float_t x) { fMinZCes=x;} void SetMaxZCes(Float_t x) { fMaxZCes=x;} void SetMaxLshr(Float_t x) { fMaxLshr=x;} void SetMaxIso4(Float_t x) { fMaxIso4=x;} void SetMaxIso4Slide(Float_t x) { fMaxIso4Slide=x;} void SetMaxIso4Break(Float_t x) { fMaxIso4Break=x;} void SetMaxIso4Low(Float_t x) { fMaxIso4Low=x;} void SetMaxIso4SlideLow(Float_t x) { fMaxIso4SlideLow=x;} void SetMaxN3D(Int_t x) { fMaxN3D=x;} void SetMaxPt(Float_t x) { fMaxPt=x;} void SetMaxPtSlide(Float_t x) { fMaxPtSlide=x;} void SetMaxSumPt4(Float_t x) { fMaxSumPt4=x;} void SetMaxSumPt4Slide(Float_t x){ fMaxSumPt4Slide=x;} void SetMinPesE(Float_t x) { fMinPesE=x;} void SetMinPesFid(Float_t x) { fMinPesFid=x;} void SetMaxPesFid(Float_t x) { fMaxPesFid=x;} void SetMaxPemChi2(Float_t x) { fMaxPemChi2=x;} void SetMinPes5By9(Float_t x) { fMinPes5By9=x;} // only consider these bits void SetUseMask(Int_t mask) { fUseMask = mask;} void ClearBits(Int_t bits) { fUseMask = (fUseMask & (~bits));} void SetPrintLevel(Int_t i) { fPrintLevel=i;} int GetPrintLevel() { return fPrintLevel;} Int_t IDWord(TStnPhoton* Photon); Int_t StdCentralIDWord(); Int_t StdCentralLooseIDWord(); Float_t CentralIDWordVersion(){ return 2.1;} Int_t StdPlugIDWord(); Int_t StdPlugLooseIDWord(); Float_t PlugIDWordVersion(){ return 0.0;} void Reset(); Int_t fUseMask; Int_t fPrintLevel; void Print (Option_t* Option = "") const ; ClassDef(TStnPhotonID,2) }; #endif