#include <SimDataFormats/TrackingAnalysis/interface/TrackingVertex.h>
Definition at line 23 of file TrackingVertex.h.
typedef std::vector<SimVertex>::const_iterator TrackingVertex::g4v_iterator |
Definition at line 33 of file TrackingVertex.h.
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.
Definition at line 31 of file TrackingVertex.h.
Definition at line 34 of file TrackingVertex.h.
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) | |||
) |
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 }
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] |
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] |
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(); }
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 }
Definition at line 89 of file TrackingVertex.h.
Referenced by addDaughterTrack(), clearDaughterTracks(), daughterTracks(), daughterTracks_begin(), daughterTracks_end(), and nDaughterTracks().
EncodedEventId TrackingVertex::eId_ [private] |
std::vector<SimVertex> TrackingVertex::g4Vertices_ [private] |
Definition at line 87 of file TrackingVertex.h.
Referenced by addG4Vertex(), g4Vertices(), g4Vertices_begin(), g4Vertices_end(), and nG4Vertices().
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 90 of file TrackingVertex.h.
Referenced by addParentTrack(), clearParentTracks(), nSourceTracks(), sourceTracks(), sourceTracks_begin(), and sourceTracks_end().