CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/DataFormats/TauReco/src/BaseTau.cc

Go to the documentation of this file.
00001 #include "DataFormats/TauReco/interface/BaseTau.h"
00002 
00003 using namespace reco;
00004 
00005 BaseTau::BaseTau() {
00006   alternatLorentzVect_.SetPx(NAN);
00007   alternatLorentzVect_.SetPy(NAN);
00008   alternatLorentzVect_.SetPz(NAN);
00009   alternatLorentzVect_.SetE(NAN);
00010     
00011 }
00012 
00013 BaseTau::BaseTau(Charge q,const LorentzVector& p4,const Point& vtx) : RecoCandidate(q,p4,vtx,-15*q){
00014   alternatLorentzVect_.SetPx(NAN);
00015   alternatLorentzVect_.SetPy(NAN);
00016   alternatLorentzVect_.SetPz(NAN);
00017   alternatLorentzVect_.SetE(NAN);
00018     
00019 }
00020 
00021 BaseTau* BaseTau::clone()const{return new BaseTau(*this);}
00022 
00023 math::XYZTLorentzVector BaseTau::alternatLorentzVect()const{return(alternatLorentzVect_);} 
00024 void BaseTau::setalternatLorentzVect(math::XYZTLorentzVector x){alternatLorentzVect_=x;}
00025     
00026 TrackRef BaseTau::leadTrack() const {return leadTrack_;}
00027 void BaseTau::setleadTrack(const TrackRef& myTrack) { leadTrack_ = myTrack;}
00028 const TrackRefVector& BaseTau::signalTracks() const {return signalTracks_;}
00029 void BaseTau::setsignalTracks(const TrackRefVector& myTracks)  { signalTracks_ = myTracks;}
00030 const TrackRefVector& BaseTau::isolationTracks() const {return isolationTracks_;}
00031 void BaseTau::setisolationTracks(const TrackRefVector& myTracks)  { isolationTracks_ = myTracks;}
00032 
00033 bool BaseTau::overlap(const Candidate& theCand)const{
00034   const RecoCandidate* theRecoCand=dynamic_cast<const RecoCandidate *>(&theCand);
00035   return (theRecoCand!=0 && (checkOverlap(track(),theRecoCand->track())));
00036 }