File indexing completed on 2023-03-17 10:51:27
0001 #include "DataFormats/TauReco/interface/BaseTau.h"
0002
0003 using namespace reco;
0004
0005 BaseTau::BaseTau() {
0006 alternatLorentzVect_.SetPx(NAN);
0007 alternatLorentzVect_.SetPy(NAN);
0008 alternatLorentzVect_.SetPz(NAN);
0009 alternatLorentzVect_.SetE(NAN);
0010 }
0011
0012 BaseTau::BaseTau(Charge q, const LorentzVector& p4, const Point& vtx) : RecoCandidate(q, p4, vtx, -15 * q) {
0013 alternatLorentzVect_.SetPx(NAN);
0014 alternatLorentzVect_.SetPy(NAN);
0015 alternatLorentzVect_.SetPz(NAN);
0016 alternatLorentzVect_.SetE(NAN);
0017 }
0018
0019 BaseTau* BaseTau::clone() const { return new BaseTau(*this); }
0020
0021 math::XYZTLorentzVector BaseTau::alternatLorentzVect() const { return (alternatLorentzVect_); }
0022 void BaseTau::setalternatLorentzVect(const math::XYZTLorentzVector& x) { alternatLorentzVect_ = x; }
0023
0024 TrackRef BaseTau::leadTrack() const { return leadTrack_; }
0025 void BaseTau::setleadTrack(const TrackRef& myTrack) { leadTrack_ = myTrack; }
0026 const TrackRefVector& BaseTau::signalTracks() const { return signalTracks_; }
0027 void BaseTau::setsignalTracks(const TrackRefVector& myTracks) { signalTracks_ = myTracks; }
0028 const TrackRefVector& BaseTau::isolationTracks() const { return isolationTracks_; }
0029 void BaseTau::setisolationTracks(const TrackRefVector& myTracks) { isolationTracks_ = myTracks; }
0030
0031 bool BaseTau::overlap(const Candidate& theCand) const {
0032 const RecoCandidate* theRecoCand = dynamic_cast<const RecoCandidate*>(&theCand);
0033 return (theRecoCand != nullptr && (checkOverlap(track(), theRecoCand->track())));
0034 }