CMS 3D CMS Logo

TrackToCandidate.h
Go to the documentation of this file.
1 #ifndef RecoAlgos_TrackToCandidate_h
2 #define RecoAlgos_TrackToCandidate_h
9 
10 namespace converter {
11 
18  }
20  const reco::Track & trk = * trkRef;
21  c.setCharge(trk.charge());
22  c.setVertex(trk.vertex());
23  const reco::Track::Vector& p = trk.momentum();
24  double t = sqrt(massSqr_ + p.mag2());
25  c.setP4(reco::Candidate::LorentzVector(p.x(), p.y(), p.z(), t));
26  c.setTrack(trkRef);
28  }
29  };
30 
31  namespace helper {
32  template<>
33  struct CandConverter<reco::Track> {
35  };
36  }
37 
38 }
39 
40 #endif
TrackToCandidate(const edm::ParameterSet &cfg)
Definition: helper.py:1
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:15
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:708
void setVertex(const Point &vertex) override
set vertex
void setCharge(Charge q) final
set electric charge
Definition: LeafCandidate.h:93
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead ...
Definition: TrackBase.h:732
T sqrt(T t)
Definition: SSEVec.h:18
void convert(reco::TrackRef trkRef, reco::RecoChargedCandidate &c) const
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
reco::RecoChargedCandidate Candidate
int charge() const
track electric charge
Definition: TrackBase.h:600
reco::TrackCollection Components
void setTrack(const reco::TrackRef &r)
set reference to track
void setPdgId(int pdgId) final
math::XYZVector Vector
spatial vector
Definition: TrackBase.h:80
void setP4(const LorentzVector &p4) final
set 4-momentum
int pdgId() const
PDG id.
Definition: PdtEntry.cc:7