CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/DataFormats/TauReco/interface/HLTTau.h

Go to the documentation of this file.
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(const 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(const 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