CMS 3D CMS Logo

Typedefs | Functions
TrackingParticleFwd.h File Reference
#include <vector>
#include "DataFormats/Common/interface/Ptr.h"
#include "DataFormats/Common/interface/Ref.h"
#include "DataFormats/Common/interface/RefVector.h"
#include "DataFormats/Common/interface/RefProd.h"

Go to the source code of this file.

Typedefs

typedef std::vector< TrackingParticleTrackingParticleCollection
 
typedef edm::RefVector< TrackingParticleCollectionTrackingParticleContainer
 
typedef edm::Ptr< TrackingParticleTrackingParticlePtr
 
typedef edm::Ref< TrackingParticleCollectionTrackingParticleRef
 
typedef edm::RefProd< TrackingParticleCollectionTrackingParticleRefProd
 
typedef edm::RefVector< TrackingParticleCollectionTrackingParticleRefVector
 

Functions

std::ostream & operator<< (std::ostream &s, TrackingParticle const &tp)
 

Typedef Documentation

◆ TrackingParticleCollection

Definition at line 9 of file TrackingParticleFwd.h.

◆ TrackingParticleContainer

Definition at line 15 of file TrackingParticleFwd.h.

◆ TrackingParticlePtr

Definition at line 11 of file TrackingParticleFwd.h.

◆ TrackingParticleRef

Definition at line 12 of file TrackingParticleFwd.h.

◆ TrackingParticleRefProd

Definition at line 14 of file TrackingParticleFwd.h.

◆ TrackingParticleRefVector

Definition at line 13 of file TrackingParticleFwd.h.

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  s,
TrackingParticle const &  tp 
)

Definition at line 55 of file TrackingParticle.cc.

References alignCSCRings::s, and cmsswSequenceInfo::tp.

55  {
56  s << "TP momentum, q, ID, & Event #: " << tp.p4() << " " << tp.charge() << " " << tp.pdgId() << " "
57  << tp.eventId().bunchCrossing() << "." << tp.eventId().event() << std::endl;
58 
59  for (TrackingParticle::genp_iterator hepT = tp.genParticle_begin(); hepT != tp.genParticle_end(); ++hepT) {
60  s << " HepMC Track Momentum " << (*hepT)->momentum().rho() << std::endl;
61  }
62 
63  for (TrackingParticle::g4t_iterator g4T = tp.g4Track_begin(); g4T != tp.g4Track_end(); ++g4T) {
64  s << " Geant Track Momentum " << g4T->momentum() << std::endl;
65  s << " Geant Track ID & type " << g4T->trackId() << " " << g4T->type() << std::endl;
66  if (g4T->type() != tp.pdgId()) {
67  s << " Mismatch b/t TrackingParticle and Geant types" << std::endl;
68  }
69  }
70  // Loop over decay vertices
71  s << " TP Vertex " << tp.vertex() << std::endl;
72  s << " Source vertex: " << tp.parentVertex()->position() << std::endl;
73  s << " " << tp.decayVertices().size() << " Decay vertices" << std::endl;
74  for (tv_iterator iTV = tp.decayVertices_begin(); iTV != tp.decayVertices_end(); ++iTV) {
75  s << " Decay vertices: " << (**iTV).position() << std::endl;
76  }
77 
78  return s;
79 }
std::vector< SimTrack >::const_iterator g4t_iterator