CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/DataFormats/ParticleFlowReco/src/PFRecTrack.cc

Go to the documentation of this file.
00001 #include "DataFormats/ParticleFlowReco/interface/PFRecTrack.h"
00002 #include "Math/GenVector/PositionVector3D.h" 
00003 #include "DataFormats/Math/interface/Point3D.h" 
00004 // #include "FWCore/MessageLogger/interface/MessageLogger.h"
00005 
00006 using namespace reco;
00007 
00008 
00009 PFRecTrack::PFRecTrack() :
00010   PFTrack(),
00011   algoType_(PFRecTrack::Unknown),
00012   trackId_(-1)
00013 {}
00014 
00015 
00016 
00017 PFRecTrack::PFRecTrack(double charge, 
00018                        AlgoType_t algoType, 
00019                        int trackId, 
00020                        const reco::TrackRef& trackRef ) : 
00021   PFTrack(charge), 
00022   algoType_(algoType),
00023   trackId_(trackId), 
00024   trackRef_(trackRef)
00025 {}
00026 
00027 
00028 
00029 PFRecTrack::PFRecTrack(double charge, AlgoType_t algoType) : 
00030   PFTrack(charge), 
00031   algoType_(algoType),
00032   trackId_(-1)
00033 {}
00034   
00035 
00036 std::ostream& reco::operator<<(std::ostream& out, 
00037                                const PFRecTrack& track) {  
00038   if (!out) return out;  
00039   
00040   const reco::PFTrajectoryPoint& closestApproach = 
00041     track.trajectoryPoint(reco::PFTrajectoryPoint::ClosestApproach);
00042   
00043   out << "Reco track charge = " << track.charge() 
00044       << ", type = " << track.algoType()
00045       << ", Pt = " << closestApproach.momentum().Pt() 
00046       << ", P = " << closestApproach.momentum().P() << std::endl
00047       << "\tR0 = " << closestApproach.position().Rho()
00048       <<" Z0 = " << closestApproach.position().Z() << std::endl
00049       << "\tnumber of tracker measurements = " 
00050       << track.nTrajectoryMeasurements() << std::endl
00051       <<"\tnumber of points total = "
00052       << track.trajectoryPoints_.size()<< std::endl;
00053 
00054   for(unsigned i=0; i<track.trajectoryPoints_.size(); i++) 
00055     out<<track.trajectoryPoints_[i]<<std::endl;
00056 
00057 
00058   return out;
00059 }