00001 #ifndef DataFormats_TauReco_HLTTau_h 00002 #define DataFormats_TauReco_HLTTau_h 00003 00004 /* class HLTTau 00005 * authors: Simone Gennai (simone.gennai@cern.ch) 00006 * created: Oct 25 2007, 00007 */ 00008 00009 //Very simple class to be used in HLT-Open environment for rate computation. 00010 00011 00012 #include "DataFormats/TauReco/interface/HLTTauFwd.h" 00013 00014 namespace reco { 00015 00016 class HLTTau { 00017 public: 00018 HLTTau() { 00019 emIsolation_ = -1000.; 00020 sumPtTracksL25_ = -1000.; 00021 sumPtTracksL3_ = -1000.; 00022 trackIsolationL25_ = -1; 00023 nTrackIsolationL25_ = -1; 00024 leadTrackPtL25_ = 0.; 00025 trackIsolationL3_ = -1; 00026 nTrackIsolationL3_ = -1; 00027 leadTrackPtL3_ = 0.; 00028 eta_ = 0.; 00029 phi_ = 0.; 00030 pt_ = -1.; 00031 seedEcalHitEt_ = -1.; 00032 ecalClusterShape_.clear(); 00033 nEcalHits_ = -1; 00034 hcalIsolEt_ =-1.; 00035 seedHcalHitEt_ =-1.; 00036 hcalClusterShape_.clear(); 00037 nHcalHits_=-1; 00038 } 00039 00040 HLTTau(float eta, float phi, float pt, float emIsolation, int trackIsolationL25, float leadTrackPtL25, int trackIsolationL3, float leadTrackPtL3) { 00041 eta_ = eta; 00042 phi_ = phi; 00043 pt_ = pt; 00044 emIsolation_ = emIsolation; 00045 trackIsolationL25_ = trackIsolationL25; 00046 leadTrackPtL25_ = leadTrackPtL25; 00047 trackIsolationL3_ = trackIsolationL3 ; 00048 leadTrackPtL3_ = leadTrackPtL3; 00049 } 00050 00051 virtual ~HLTTau() { } 00052 00053 float getEta() const { return eta_; } 00054 float getPhi() const { return phi_; } 00055 float getPt() const { return pt_; } 00056 00057 float getEMIsolationValue() const { return emIsolation_;} 00058 int getL25TrackIsolationResponse() const { return trackIsolationL25_; } 00059 int getNL25TrackIsolation() const { return nTrackIsolationL25_; } 00060 float getL25LeadTrackPtValue() const { return leadTrackPtL25_; } 00061 int getL3TrackIsolationResponse()const { return trackIsolationL3_; } 00062 int getNL3TrackIsolation() const { return nTrackIsolationL3_; } 00063 float getL3LeadTrackPtValue() const { return leadTrackPtL3_; } 00064 float getSumPtTracksL25() const {return sumPtTracksL25_;} 00065 float getSumPtTracksL3() const {return sumPtTracksL3_;} 00066 00067 double getSeedEcalHitEt() const {return seedEcalHitEt_;} //Lead PF Cluster Et /or simple cluster/or crystal 00068 std::vector<double> getEcalClusterShape() const {return ecalClusterShape_;} //cluster shapes eta [0], Phi[0] DeltaR [1] 00069 int getNEcalHits() const {return nEcalHits_;} //N Ecal PF Clusters or simple clusters or crystals 00070 00071 double getHcalIsolEt() const {return hcalIsolEt_;} 00072 double getSeedHcalHitEt() const {return seedHcalHitEt_;} 00073 std::vector<double> getHcalClusterShape() const {return hcalClusterShape_;} 00074 int getNHcalHits() const {return nHcalHits_;} 00075 00076 00077 void setNL25TrackIsolation(int nTracks) { nTrackIsolationL25_ = nTracks; } 00078 void setNL3TrackIsolation(int nTracks) { nTrackIsolationL3_ = nTracks; } 00079 void setSumPtTracksL25(double sumPt) {sumPtTracksL25_ = sumPt;} 00080 void setSumPtTracksL3(double sumPt) {sumPtTracksL3_ = sumPt;} 00081 void setSeedEcalHitEt(double seed) {seedEcalHitEt_ = seed;} 00082 void setEcalClusterShape(std::vector<double> clusters) {ecalClusterShape_ = clusters;} 00083 void setNEcalHits(int nhits) { nEcalHits_ = nhits;} 00084 00085 void setHcalIsolEt(double hcalIso) { hcalIsolEt_ = hcalIso;} 00086 void setSeedHcalHitEt(double seed) { seedHcalHitEt_ = seed;} 00087 void setHcalClusterShape(std::vector<double> clusters) { hcalClusterShape_ = clusters;} 00088 void setNHcalHits(int nhits) { nHcalHits_ = nhits;} 00089 00090 00091 private: 00092 float eta_, phi_, pt_; 00093 float emIsolation_; 00094 int trackIsolationL25_; 00095 float leadTrackPtL25_; 00096 int nTrackIsolationL25_; 00097 int trackIsolationL3_; 00098 int nTrackIsolationL3_; 00099 float leadTrackPtL3_; 00100 double seedEcalHitEt_; 00101 std::vector<double> ecalClusterShape_; 00102 int nEcalHits_; 00103 double hcalIsolEt_; 00104 double seedHcalHitEt_; 00105 std::vector<double> hcalClusterShape_; 00106 int nHcalHits_; 00107 double sumPtTracksL25_; 00108 double sumPtTracksL3_; 00109 }; 00110 00111 } 00112 #endif