31 trackJetDecayLen_(0) {}
37 TVector3 jetDir3(jetDir.x(), jetDir.y(), jetDir.z());
45 }
else if (packed_candidate && packed_candidate->hasTrackDetails()) {
48 track_ptr = &(packed_candidate->pseudoTrack());
72 double trackMag =
std::sqrt(trackMom.Mag2());
73 TVector3 trackMom3(trackMom.x(), trackMom.y(), trackMom.z());
void buildTrackInfo(const reco::Candidate *candidate, const math::XYZVector &jetDir, GlobalVector refjetdirection, const reco::Vertex &pv)
const reco::Track * bestTrack() const override
double etaRel(const math::XYZVector &dir, const math::XYZVector &track)
edm::ESHandle< TransientTrackBuilder > builder_
reco::TransientTrack build(const reco::Track *p) const
virtual double p() const =0
magnitude of momentum vector
virtual Vector momentum() const =0
spatial momentum vector
TrackInfoBuilder(edm::ESHandle< TransientTrackBuilder > &build)
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
XYZVectorD XYZVector
spatial vector with cartesian internal representation
double significance() const
Particle reconstructed by the particle flow algorithm.
virtual double eta() const =0
momentum pseudorapidity