File indexing completed on 2024-09-07 04:35:57
0001 #ifndef DataFormats_TauReco_HLTTau_h
0002 #define DataFormats_TauReco_HLTTau_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "DataFormats/TauReco/interface/HLTTauFwd.h"
0012
0013 namespace reco {
0014
0015 class HLTTau {
0016 public:
0017 HLTTau() {
0018 ecalClusterShape_.clear();
0019 hcalClusterShape_.clear();
0020 }
0021
0022 HLTTau(float eta,
0023 float phi,
0024 float pt,
0025 float emIsolation,
0026 int trackIsolationL25,
0027 float leadTrackPtL25,
0028 int trackIsolationL3,
0029 float leadTrackPtL3) {
0030 eta_ = eta;
0031 phi_ = phi;
0032 pt_ = pt;
0033 emIsolation_ = emIsolation;
0034 trackIsolationL25_ = trackIsolationL25;
0035 leadTrackPtL25_ = leadTrackPtL25;
0036 trackIsolationL3_ = trackIsolationL3;
0037 leadTrackPtL3_ = leadTrackPtL3;
0038 }
0039
0040 virtual ~HLTTau() {}
0041
0042 float getEta() const { return eta_; }
0043 float getPhi() const { return phi_; }
0044 float getPt() const { return pt_; }
0045
0046 float getEMIsolationValue() const { return emIsolation_; }
0047 int getL25TrackIsolationResponse() const { return trackIsolationL25_; }
0048 int getNL25TrackIsolation() const { return nTrackIsolationL25_; }
0049 float getL25LeadTrackPtValue() const { return leadTrackPtL25_; }
0050 int getL3TrackIsolationResponse() const { return trackIsolationL3_; }
0051 int getNL3TrackIsolation() const { return nTrackIsolationL3_; }
0052 float getL3LeadTrackPtValue() const { return leadTrackPtL3_; }
0053 float getSumPtTracksL25() const { return sumPtTracksL25_; }
0054 float getSumPtTracksL3() const { return sumPtTracksL3_; }
0055
0056 double getSeedEcalHitEt() const { return seedEcalHitEt_; }
0057 std::vector<double> getEcalClusterShape() const {
0058 return ecalClusterShape_;
0059 }
0060 int getNEcalHits() const { return nEcalHits_; }
0061
0062 double getHcalIsolEt() const { return hcalIsolEt_; }
0063 double getSeedHcalHitEt() const { return seedHcalHitEt_; }
0064 std::vector<double> getHcalClusterShape() const { return hcalClusterShape_; }
0065 int getNHcalHits() const { return nHcalHits_; }
0066
0067 void setNL25TrackIsolation(int nTracks) { nTrackIsolationL25_ = nTracks; }
0068 void setNL3TrackIsolation(int nTracks) { nTrackIsolationL3_ = nTracks; }
0069 void setSumPtTracksL25(double sumPt) { sumPtTracksL25_ = sumPt; }
0070 void setSumPtTracksL3(double sumPt) { sumPtTracksL3_ = sumPt; }
0071 void setSeedEcalHitEt(double seed) { seedEcalHitEt_ = seed; }
0072 void setEcalClusterShape(const std::vector<double>& clusters) { ecalClusterShape_ = clusters; }
0073 void setNEcalHits(int nhits) { nEcalHits_ = nhits; }
0074
0075 void setHcalIsolEt(double hcalIso) { hcalIsolEt_ = hcalIso; }
0076 void setSeedHcalHitEt(double seed) { seedHcalHitEt_ = seed; }
0077 void setHcalClusterShape(const std::vector<double>& clusters) { hcalClusterShape_ = clusters; }
0078 void setNHcalHits(int nhits) { nHcalHits_ = nhits; }
0079
0080 private:
0081 float eta_ = 0., phi_ = 0., pt_ = -1.;
0082 float emIsolation_ = -1000.;
0083 int trackIsolationL25_ = -1;
0084 float leadTrackPtL25_ = 0.;
0085 int nTrackIsolationL25_ = -1;
0086 int trackIsolationL3_ = -1;
0087 int nTrackIsolationL3_ = -1;
0088 float leadTrackPtL3_ = 0.;
0089 double seedEcalHitEt_ = -1;
0090 std::vector<double> ecalClusterShape_;
0091 int nEcalHits_ = -1;
0092 double hcalIsolEt_ = -1;
0093 double seedHcalHitEt_ = -1;
0094 std::vector<double> hcalClusterShape_;
0095 int nHcalHits_ = -1;
0096 double sumPtTracksL25_ = -1000.;
0097 double sumPtTracksL3_ = -1000.;
0098 };
0099
0100 }
0101 #endif