Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:35:57

0001 #ifndef DataFormats_TauReco_HLTTau_h
0002 #define DataFormats_TauReco_HLTTau_h
0003 
0004 /* class HLTTau
0005  * authors: Simone Gennai (simone.gennai@cern.ch)
0006  * created: Oct 25 2007,
0007  */
0008 
0009 //Very simple class to be used in HLT-Open environment for rate computation.
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_; }  //Lead PF Cluster Et /or simple cluster/or crystal
0057     std::vector<double> getEcalClusterShape() const {
0058       return ecalClusterShape_;
0059     }  //cluster shapes eta [0], Phi[0] DeltaR [1]
0060     int getNEcalHits() const { return nEcalHits_; }  //N Ecal PF Clusters or simple clusters or crystals
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 }  // namespace reco
0101 #endif