CMS 3D CMS Logo

IsolatedPixelTrackCandidate.h

Go to the documentation of this file.
00001 #ifndef HcalIsolatedTrack_IsolatedPixelTrackCandidate_h
00002 #define HcalIsolatedTrack_IsolatedPixelTrackCandidate_h
00003 
00008 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
00009 #include "DataFormats/TrackReco/interface/Track.h"
00010 #include "DataFormats/L1Trigger/interface/L1JetParticle.h"
00011 #include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h"
00012 
00013 #include "DataFormats/HcalIsolatedTrack/interface/IsolatedPixelTrackCandidateFwd.h"
00014 
00015 namespace reco {
00016 
00017   class IsolatedPixelTrackCandidate: public RecoCandidate {
00018     
00019   public:
00020     
00022   IsolatedPixelTrackCandidate() : RecoCandidate() { }
00024   IsolatedPixelTrackCandidate(const reco::TrackRef & tr, const l1extra::L1JetParticleRef & tauRef, double max, double sum): 
00025     RecoCandidate( 0, LorentzVector(tr->px(),tr->py(),tr->pz(),tr->p()) ),
00026       track_(tr), l1tauJet_(tauRef), maxPtPxl_(max), sumPtPxl_(sum) 
00027     {
00028       enIn_=-1;
00029       enOut_=-1;
00030       nhitIn_=-1;
00031       nhitOut_=-1;
00032     }
00033     
00035   IsolatedPixelTrackCandidate(const l1extra::L1JetParticleRef & tauRef, double enIn, double enOut, int nhitIn, int nhitOut):
00036     RecoCandidate( 0, LorentzVector(tauRef->px(),tauRef->py(),tauRef->pz(),tauRef->p()) ), 
00037       l1tauJet_(tauRef), enIn_(enIn), enOut_(enOut), nhitIn_(nhitIn), nhitOut_(nhitOut) 
00038     {
00039       maxPtPxl_=-1;
00040       sumPtPxl_=-1;
00041     }
00042     
00044     virtual ~IsolatedPixelTrackCandidate();
00046     virtual IsolatedPixelTrackCandidate * clone() const;
00048     virtual reco::TrackRef track() const;
00050     double maxPtPxl() const {return maxPtPxl_;}
00052     double sumPtPxl() const {return sumPtPxl_;}
00053     
00055     void setTrack( const reco::TrackRef & tr ) { track_ = tr; }
00056 
00058     virtual l1extra::L1JetParticleRef l1tau() const;
00059 
00061     double energyIn() const {return enIn_; }
00062     void SetEnergyIn(double a) {enIn_=a;}
00063     
00065     double energyOut() const {return enOut_;}
00066     void SetEnergyOut(double a) {enOut_=a;}
00067     
00069     int nHitIn() const {return nhitIn_;}
00070     void SetNHitIn(int a) {nhitIn_=a;}
00071     
00073     int nHitOut() const {return nhitOut_;}
00074     void SetNHitOut(int a) {nhitOut_=a;}
00075   
00077     void setL1TauJet( const l1extra::L1JetParticleRef & tauRef ) { l1tauJet_ = tauRef; }
00078 
00079   private:
00081     virtual bool overlap( const Candidate & ) const;
00083     reco::TrackRef track_;
00085     l1extra::L1JetParticleRef l1tauJet_;
00087     double maxPtPxl_;
00089     double sumPtPxl_;
00091     double enIn_;
00093     double enOut_;
00095     int nhitIn_;
00097     int nhitOut_;
00098     
00099   };
00100 
00101 
00102 }
00103 
00104 #endif

Generated on Tue Jun 9 17:31:00 2009 for CMSSW by  doxygen 1.5.4