1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include "DataFormats/TauReco/interface/BaseTau.h"
using namespace reco;
BaseTau::BaseTau() {
alternatLorentzVect_.SetPx(NAN);
alternatLorentzVect_.SetPy(NAN);
alternatLorentzVect_.SetPz(NAN);
alternatLorentzVect_.SetE(NAN);
}
BaseTau::BaseTau(Charge q, const LorentzVector& p4, const Point& vtx) : RecoCandidate(q, p4, vtx, -15 * q) {
alternatLorentzVect_.SetPx(NAN);
alternatLorentzVect_.SetPy(NAN);
alternatLorentzVect_.SetPz(NAN);
alternatLorentzVect_.SetE(NAN);
}
BaseTau* BaseTau::clone() const { return new BaseTau(*this); }
math::XYZTLorentzVector BaseTau::alternatLorentzVect() const { return (alternatLorentzVect_); }
void BaseTau::setalternatLorentzVect(const math::XYZTLorentzVector& x) { alternatLorentzVect_ = x; }
TrackRef BaseTau::leadTrack() const { return leadTrack_; }
void BaseTau::setleadTrack(const TrackRef& myTrack) { leadTrack_ = myTrack; }
const TrackRefVector& BaseTau::signalTracks() const { return signalTracks_; }
void BaseTau::setsignalTracks(const TrackRefVector& myTracks) { signalTracks_ = myTracks; }
const TrackRefVector& BaseTau::isolationTracks() const { return isolationTracks_; }
void BaseTau::setisolationTracks(const TrackRefVector& myTracks) { isolationTracks_ = myTracks; }
bool BaseTau::overlap(const Candidate& theCand) const {
const RecoCandidate* theRecoCand = dynamic_cast<const RecoCandidate*>(&theCand);
return (theRecoCand != nullptr && (checkOverlap(track(), theRecoCand->track())));
}
|