CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_8_patch3/src/DataFormats/HcalIsolatedTrack/interface/EcalIsolatedParticleCandidate.h

Go to the documentation of this file.
00001 #ifndef HcalIsolatedTrack_EcalIsolatedParticleCandidate_h
00002 #define HcalIsolatedTrack_EcalIsolatedParticleCandidate_h
00003 
00007 #include "DataFormats/Candidate/interface/LeafCandidate.h"
00008 #include "DataFormats/Candidate/interface/OverlapChecker.h"
00009 #include "DataFormats/L1Trigger/interface/L1JetParticle.h"
00010 #include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h"
00011 #include "DataFormats/HcalIsolatedTrack/interface/EcalIsolatedParticleCandidateFwd.h"
00012 
00013 namespace reco {
00014   
00015   class EcalIsolatedParticleCandidate: public LeafCandidate {
00016     
00017   public:
00018     
00019     // default constructor
00020     EcalIsolatedParticleCandidate() : LeafCandidate() { }
00021       // constructor from a tau jet
00022       EcalIsolatedParticleCandidate(const l1extra::L1JetParticleRef& l1tau, double etatau, double phitau,  double enIn, double enOut, int nhitIn, int nhitOut): 
00023         LeafCandidate( 0, LorentzVector() ),
00024         l1tau_(l1tau), eta_(etatau),phi_(phitau),enIn_(enIn), enOut_(enOut), nhitIn_(nhitIn), nhitOut_(nhitOut){}
00025         
00026         //constructor with null candidate
00027         EcalIsolatedParticleCandidate(double etatau, double phitau,  double enIn, double enOut, int nhitIn, int nhitOut):
00028           LeafCandidate( 0, LorentzVector() ), eta_(etatau),phi_(phitau),enIn_(enIn), enOut_(enOut), nhitIn_(nhitIn), nhitOut_(nhitOut) {} 
00030         virtual ~EcalIsolatedParticleCandidate();
00032         virtual EcalIsolatedParticleCandidate * clone() const;
00033         
00035         virtual l1extra::L1JetParticleRef l1TauJet() const;
00036         
00038         double eta() const {return eta_; }
00039         
00041         double phi() const {return phi_; }
00042 
00044         double energyIn() const {return enIn_; }
00045         
00047         double energyOut() const {return enOut_;}
00048 
00050         int nHitIn() const {return nhitIn_;}
00051 
00053         int nHitOut() const {return nhitOut_;}
00054         
00056         void setL1TauJet( const l1extra::L1JetParticleRef & l1tau ) { l1tau_ = l1tau; }
00057         
00058 
00059   private:
00061     l1extra::L1JetParticleRef l1tau_;
00063     double eta_;
00065     double phi_;
00067     double enIn_;
00069     double enOut_;
00071     int nhitIn_;
00073     int nhitOut_;
00074 
00075   };
00076 
00077 
00078 }
00079 
00080 #endif // HcalIsolatedTrack_EcalIsolatedParticleCandidate_h