CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFRecTrack.cc
Go to the documentation of this file.
2 #include "Math/GenVector/PositionVector3D.h"
4 // #include "FWCore/MessageLogger/interface/MessageLogger.h"
5 
6 using namespace reco;
7 
8 
10  PFTrack(),
11  algoType_(PFRecTrack::Unknown),
12  trackId_(-1),
13  STIP_(-99.)
14 {}
15 
16 
17 
18 PFRecTrack::PFRecTrack(double charge,
19  AlgoType_t algoType,
20  int trackId,
21  const reco::TrackRef& trackRef ) :
22  PFTrack(charge),
23  algoType_(algoType),
24  trackId_(trackId),
25  trackRef_(trackRef),
26  STIP_(-99.)
27 {}
28 
29 
30 
31 PFRecTrack::PFRecTrack(double charge, AlgoType_t algoType) :
32  PFTrack(charge),
33  algoType_(algoType),
34  trackId_(-1),
35  STIP_(-99.)
36 {}
37 
38 
39 std::ostream& reco::operator<<(std::ostream& out,
40  const PFRecTrack& track) {
41  if (!out) return out;
42 
43  const reco::PFTrajectoryPoint& closestApproach =
45 
46  out << "Reco track charge = " << track.charge()
47  << ", type = " << track.algoType()
48  << ", Pt = " << closestApproach.momentum().Pt()
49  << ", P = " << closestApproach.momentum().P() << std::endl
50  << "\tR0 = " << closestApproach.position().Rho()
51  <<" Z0 = " << closestApproach.position().Z() << std::endl
52  << "\tnumber of tracker measurements = "
53  << track.nTrajectoryMeasurements() << std::endl
54  <<"\tnumber of points total = "
55  << track.trajectoryPoints_.size()<< std::endl;
56 
57  for(unsigned i=0; i<track.trajectoryPoints_.size(); i++)
58  out<<track.trajectoryPoints_[i]<<std::endl;
59 
60 
61  return out;
62 }
reconstructed track used as an input to particle flow
Definition: PFRecTrack.h:22
int i
Definition: DBlmapReader.cc:9
const math::XYZPoint & position() const
cartesian position (x, y, z)
Base class for particle flow input reconstructed tracks and simulated particles.
Definition: PFTrack.h:63
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:71
Point of closest approach from beam axis (initial point in the case of PFSimParticle) ...
std::vector< reco::PFTrajectoryPoint > trajectoryPoints_
vector of trajectory points
Definition: PFTrack.h:136
tuple out
Definition: dbtoconf.py:99
const math::XYZTLorentzVector & momentum() const
4-momenta quadrivector
const reco::PFTrajectoryPoint & trajectoryPoint(unsigned index) const
Definition: PFTrack.h:102
unsigned int nTrajectoryMeasurements() const
Definition: PFTrack.h:94
AlgoType_t
different types of fitting algorithms
Definition: PFRecTrack.h:27
unsigned int algoType() const
Definition: PFRecTrack.h:47
A PFTrack holds several trajectory points, which basically contain the position and momentum of a tra...
double charge() const
Definition: PFTrack.h:87