CMS 3D CMS Logo

TrackingVertex Class Reference

A simulated Vertex with links to TrackingParticles for analysis of track and vertex reconstruction. More...

#include <SimDataFormats/TrackingAnalysis/interface/TrackingVertex.h>

List of all members.

Public Types

typedef std::vector< SimVertex >
::const_iterator 
g4v_iterator
typedef
GenVertexRefVector::iterator 
genv_iterator
typedef edm::Ref
< edm::HepMCProduct,
HepMC::GenVertex > 
GenVertexRef
typedef edm::RefVector
< edm::HepMCProduct,
HepMC::GenVertex > 
GenVertexRefVector
typedef math::XYZTLorentzVectorD LorentzVector
typedef
TrackingParticleRefVector::iterator 
tp_iterator

Public Member Functions

void addDaughterTrack (const TrackingParticleRef &)
void addG4Vertex (const SimVertex &)
void addGenVertex (const GenVertexRef &)
void addParentTrack (const TrackingParticleRef &)
void clearDaughterTracks ()
void clearParentTracks ()
const TrackingParticleRefVectordaughterTracks () const
tp_iterator daughterTracks_begin () const
tp_iterator daughterTracks_end () const
const EncodedEventIdeventId () const
const std::vector< SimVertex > & g4Vertices () const
g4v_iterator g4Vertices_begin () const
g4v_iterator g4Vertices_end () const
const GenVertexRefVectorgenVertices () const
genv_iterator genVertices_begin () const
genv_iterator genVertices_end () const
const bool inVolume () const
unsigned int nDaughterTracks () const
unsigned int nG4Vertices () const
unsigned int nGenVertices () const
unsigned int nSourceTracks () const
const LorentzVectorposition () const
void setEventId (EncodedEventId e)
const TrackingParticleRefVectorsourceTracks () const
tp_iterator sourceTracks_begin () const
tp_iterator sourceTracks_end () const
 TrackingVertex (const LorentzVector &position, const bool inVolume, const EncodedEventId e=EncodedEventId(0))
 TrackingVertex ()

Private Attributes

TrackingParticleRefVector daughterTracks_
EncodedEventId eId_
std::vector< SimVertexg4Vertices_
GenVertexRefVector genVertices_
bool inVolume_
LorentzVector position_
TrackingParticleRefVector sourceTracks_

Friends

std::ostream & operator<< (std::ostream &s, const TrackingVertex &tv)


Detailed Description

A simulated Vertex with links to TrackingParticles for analysis of track and vertex reconstruction.

Version:
Id
TrackingVertex.h,v 1.22 2008/02/01 20:47:08 ewv Exp

Definition at line 23 of file TrackingVertex.h.


Member Typedef Documentation

typedef std::vector<SimVertex>::const_iterator TrackingVertex::g4v_iterator

Definition at line 33 of file TrackingVertex.h.

typedef GenVertexRefVector::iterator TrackingVertex::genv_iterator

Definition at line 32 of file TrackingVertex.h.

typedef edm::Ref<edm::HepMCProduct, HepMC::GenVertex > TrackingVertex::GenVertexRef

Definition at line 30 of file TrackingVertex.h.

typedef edm::RefVector<edm::HepMCProduct, HepMC::GenVertex > TrackingVertex::GenVertexRefVector

Definition at line 29 of file TrackingVertex.h.

typedef math::XYZTLorentzVectorD TrackingVertex::LorentzVector

Definition at line 31 of file TrackingVertex.h.

typedef TrackingParticleRefVector::iterator TrackingVertex::tp_iterator

Definition at line 34 of file TrackingVertex.h.


Constructor & Destructor Documentation

TrackingVertex::TrackingVertex (  ) 

Definition at line 9 of file TrackingVertex.cc.

00009                                : position_(LorentzVector(0,0,0,0)), eId_(0) {
00010 //  daughterTracks_.clear();
00011 }

TrackingVertex::TrackingVertex ( const LorentzVector position,
const bool  inVolume,
const EncodedEventId  e = EncodedEventId(0) 
)

Definition at line 13 of file TrackingVertex.cc.

00013                                                                                                     :
00014     position_(p), inVolume_(inVolume), eId_(eId) {
00015 //  daughterTracks_.clear();
00016 }


Member Function Documentation

void TrackingVertex::addDaughterTrack ( const TrackingParticleRef ref  ) 

Definition at line 30 of file TrackingVertex.cc.

References daughterTracks_, and edm::RefVector< C, T, F >::push_back().

00030                                                                    {
00031   daughterTracks_.push_back(ref);
00032 }

void TrackingVertex::addG4Vertex ( const SimVertex v  ) 

Definition at line 20 of file TrackingVertex.cc.

References g4Vertices_.

00020                                                    {
00021   g4Vertices_.push_back(v);
00022 }

void TrackingVertex::addGenVertex ( const GenVertexRef ref  ) 

Definition at line 24 of file TrackingVertex.cc.

References genVertices_, and edm::RefVector< C, T, F >::push_back().

00024                                                         {
00025   genVertices_.push_back(ref);
00026 }

void TrackingVertex::addParentTrack ( const TrackingParticleRef ref  ) 

Definition at line 34 of file TrackingVertex.cc.

References edm::RefVector< C, T, F >::push_back(), and sourceTracks_.

Referenced by TrackingTruthProducer::mergeBremsstrahlung().

00034                                                                  {
00035   sourceTracks_.push_back(ref);
00036 }

void TrackingVertex::clearDaughterTracks (  ) 

Definition at line 38 of file TrackingVertex.cc.

References edm::RefVector< C, T, F >::clear(), and daughterTracks_.

Referenced by TrackingTruthProducer::mergeBremsstrahlung(), and MergedTruthProducer::produce().

00038                                          {
00039   daughterTracks_.clear();
00040 }

void TrackingVertex::clearParentTracks (  ) 

Definition at line 42 of file TrackingVertex.cc.

References edm::RefVector< C, T, F >::clear(), and sourceTracks_.

Referenced by TrackingTruthProducer::mergeBremsstrahlung(), and MergedTruthProducer::produce().

00042                                        {
00043   sourceTracks_.clear();
00044 }

const TrackingParticleRefVector & TrackingVertex::daughterTracks (  )  const

Definition at line 64 of file TrackingVertex.cc.

References daughterTracks_.

Referenced by TkNavigableSimElectronAssembler::checkVertex(), VertexFitterResult::fill(), and operator<<().

00064 { return  daughterTracks_; }

TrackingVertex::tp_iterator TrackingVertex::daughterTracks_begin (  )  const

Definition at line 54 of file TrackingVertex.cc.

References edm::RefVector< C, T, F >::begin(), and daughterTracks_.

Referenced by TkNavigableSimElectronAssembler::checkVertex(), VertexFitterResult::fill(), TrackingTruthProducer::isBremsstrahlungVertex(), and operator<<().

00054 { return daughterTracks_.begin(); }

TrackingVertex::tp_iterator TrackingVertex::daughterTracks_end (  )  const

Definition at line 55 of file TrackingVertex.cc.

References daughterTracks_, and edm::RefVector< C, T, F >::end().

Referenced by TkNavigableSimElectronAssembler::checkVertex(), VertexFitterResult::fill(), TrackingTruthProducer::isBremsstrahlungVertex(), and operator<<().

00055 { return daughterTracks_.end();   }

const EncodedEventId& TrackingVertex::eventId (  )  const [inline]

Definition at line 76 of file TrackingVertex.h.

References eId_.

Referenced by operator<<().

00076 { return eId_;      };

const std::vector< SimVertex > & TrackingVertex::g4Vertices (  )  const

Definition at line 61 of file TrackingVertex.cc.

References g4Vertices_.

00061 { return  g4Vertices_;     }

TrackingVertex::g4v_iterator TrackingVertex::g4Vertices_begin (  )  const

Definition at line 51 of file TrackingVertex.cc.

References g4Vertices_.

Referenced by operator<<().

00051 { return  g4Vertices_.begin(); }

TrackingVertex::g4v_iterator TrackingVertex::g4Vertices_end (  )  const

Definition at line 52 of file TrackingVertex.cc.

References g4Vertices_.

Referenced by operator<<().

00052 { return  g4Vertices_.end();   }

const GenVertexRefVector & TrackingVertex::genVertices (  )  const

Definition at line 62 of file TrackingVertex.cc.

References genVertices_.

00062 { return  genVertices_;    }

TrackingVertex::genv_iterator TrackingVertex::genVertices_begin (  )  const

Definition at line 49 of file TrackingVertex.cc.

References edm::RefVector< C, T, F >::begin(), and genVertices_.

Referenced by operator<<().

00049 { return genVertices_.begin(); }

TrackingVertex::genv_iterator TrackingVertex::genVertices_end (  )  const

Definition at line 50 of file TrackingVertex.cc.

References edm::RefVector< C, T, F >::end(), and genVertices_.

Referenced by operator<<().

00050 { return genVertices_.end();   }

const bool TrackingVertex::inVolume (  )  const [inline]

Definition at line 77 of file TrackingVertex.h.

00077 { return inVolume_; };

unsigned int TrackingVertex::nDaughterTracks (  )  const [inline]

Definition at line 57 of file TrackingVertex.h.

References daughterTracks_, and edm::RefVector< C, T, F >::size().

00057 { return daughterTracks_.size(); };

unsigned int TrackingVertex::nG4Vertices (  )  const [inline]

Definition at line 55 of file TrackingVertex.h.

References g4Vertices_.

00055 { return     g4Vertices_.size(); };

unsigned int TrackingVertex::nGenVertices (  )  const [inline]

Definition at line 56 of file TrackingVertex.h.

References genVertices_, and edm::RefVector< C, T, F >::size().

00056 { return    genVertices_.size(); };

unsigned int TrackingVertex::nSourceTracks (  )  const [inline]

Definition at line 58 of file TrackingVertex.h.

References edm::RefVector< C, T, F >::size(), and sourceTracks_.

00058 { return   sourceTracks_.size(); };

const LorentzVector& TrackingVertex::position ( void   )  const [inline]

Definition at line 75 of file TrackingVertex.h.

References position_.

Referenced by VertexFitterResult::fill(), and operator<<().

00075 { return position_; };

void TrackingVertex::setEventId ( EncodedEventId  e  )  [inline]

Definition at line 42 of file TrackingVertex.h.

References eId_.

00042 {eId_=e;};

const TrackingParticleRefVector & TrackingVertex::sourceTracks (  )  const

Definition at line 63 of file TrackingVertex.cc.

References sourceTracks_.

Referenced by TkNavigableSimElectronAssembler::checkVertex(), TrackingTruthProducer::isBremsstrahlungVertex(), and TrackingTruthProducer::mergeBremsstrahlung().

00063 { return  sourceTracks_;   }

TrackingVertex::tp_iterator TrackingVertex::sourceTracks_begin (  )  const

Definition at line 56 of file TrackingVertex.cc.

References edm::RefVector< C, T, F >::begin(), and sourceTracks_.

Referenced by operator<<().

00056 { return sourceTracks_.begin();   }

TrackingVertex::tp_iterator TrackingVertex::sourceTracks_end (  )  const

Definition at line 57 of file TrackingVertex.cc.

References edm::RefVector< C, T, F >::end(), and sourceTracks_.

Referenced by operator<<().

00057 { return sourceTracks_.end();     }


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
const TrackingVertex tv 
) [friend]

Definition at line 66 of file TrackingVertex.cc.

00066                                                                  {
00067 
00068   using std::endl;
00069   typedef        GenVertexRefVector::iterator                  genv_iterator;
00070   typedef    std::vector<SimVertex>::const_iterator            g4v_iterator;
00071   typedef TrackingParticleRefVector::iterator                  tp_iterator;
00072   typedef       std::vector<SimTrack>::const_iterator             g4t_iterator;
00073 
00074   s << "Vertex Position & Event #" << v.position() << " " << v.eventId().bunchCrossing() << "." << v.eventId().event() << endl;
00075   s << " Associated with " << v.daughterTracks().size() << " tracks" << endl;
00076   for (genv_iterator genV = v.genVertices_begin(); genV != v.genVertices_end(); ++genV) {
00077     s << " HepMC vertex position " << (*(*genV)).position().x() << ","<< (*(*genV)).position().y() << (*(*genV)).position().z()  << endl;
00078   }
00079 
00080   for (g4v_iterator g4V = v.g4Vertices_begin(); g4V != v.g4Vertices_end(); ++g4V) {
00081     s << " Geant vertex position " << (*g4V).position() << endl;
00082     // Probably empty all the time, currently
00083   }
00084 
00085   // Loop over daughter track(s)
00086   for (tp_iterator iTP = v.daughterTracks_begin(); iTP != v.daughterTracks_end(); ++iTP) {
00087     s << " Daughter starts:      " << (*(*iTP)).vertex();
00088     for (g4t_iterator g4T  = (*(*iTP)).g4Track_begin(); g4T != (*(*iTP)).g4Track_end(); ++g4T) {
00089       s << " p " << g4T->momentum();
00090     }
00091     s << endl;
00092   }
00093 
00094   // Loop over source track(s) (can be multiple since vertices are collapsed)
00095   for (tp_iterator iTP = v.sourceTracks_begin(); iTP != v.sourceTracks_end(); ++iTP) {
00096     s << " Source   starts: " << (*(*iTP)).vertex();
00097     for (g4t_iterator g4T  = (*iTP)->g4Track_begin(); g4T != (*iTP)->g4Track_end(); ++g4T) {
00098       s << ", p " <<  g4T ->momentum();
00099     }
00100     s << endl;
00101   }
00102   return s;
00103 }


Member Data Documentation

TrackingParticleRefVector TrackingVertex::daughterTracks_ [private]

Definition at line 89 of file TrackingVertex.h.

Referenced by addDaughterTrack(), clearDaughterTracks(), daughterTracks(), daughterTracks_begin(), daughterTracks_end(), and nDaughterTracks().

EncodedEventId TrackingVertex::eId_ [private]

Definition at line 83 of file TrackingVertex.h.

Referenced by eventId(), and setEventId().

std::vector<SimVertex> TrackingVertex::g4Vertices_ [private]

Definition at line 87 of file TrackingVertex.h.

Referenced by addG4Vertex(), g4Vertices(), g4Vertices_begin(), g4Vertices_end(), and nG4Vertices().

GenVertexRefVector TrackingVertex::genVertices_ [private]

Definition at line 88 of file TrackingVertex.h.

Referenced by addGenVertex(), genVertices(), genVertices_begin(), genVertices_end(), and nGenVertices().

bool TrackingVertex::inVolume_ [private]

Definition at line 82 of file TrackingVertex.h.

LorentzVector TrackingVertex::position_ [private]

Definition at line 77 of file TrackingVertex.h.

Referenced by position().

TrackingParticleRefVector TrackingVertex::sourceTracks_ [private]

Definition at line 90 of file TrackingVertex.h.

Referenced by addParentTrack(), clearParentTracks(), nSourceTracks(), sourceTracks(), sourceTracks_begin(), and sourceTracks_end().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:34:14 2009 for CMSSW by  doxygen 1.5.4