ATLAS Offline Software
Loading...
Searching...
No Matches
TIDAVertexBuilder Class Reference

#include <TIDAVertexBuilder.h>

Collaboration diagram for TIDAVertexBuilder:

Public Member Functions

 TIDAVertexBuilder ()
 ~TIDAVertexBuilder ()

Static Public Member Functions

static std::vector< TIDA::Vertexselect (const xAOD::VertexContainer *xAODVertices, const std::vector< TIDA::Track * > *trackCollection=0, bool useType0=false, bool require_tracks=true)
static std::vector< TIDA::Vertexselect (xAOD::VertexContainer::const_iterator itr, xAOD::VertexContainer::const_iterator enditr, const std::vector< TIDA::Track * > *trackCollection=0, bool useType0=false, bool require_tracks=true)

Static Private Member Functions

static TIDA::Vertex selectVertex (const xAOD::Vertex *v)
static unsigned long getTrackId (const xAOD::TrackParticle *track)

Detailed Description

Definition at line 22 of file TIDAVertexBuilder.h.

Constructor & Destructor Documentation

◆ TIDAVertexBuilder()

TIDAVertexBuilder::TIDAVertexBuilder ( )
inline

Definition at line 27 of file TIDAVertexBuilder.h.

27{ }

◆ ~TIDAVertexBuilder()

TIDAVertexBuilder::~TIDAVertexBuilder ( )
inline

Definition at line 30 of file TIDAVertexBuilder.h.

30{ }

Member Function Documentation

◆ getTrackId()

unsigned long TIDAVertexBuilder::getTrackId ( const xAOD::TrackParticle * track)
staticprivate

Definition at line 111 of file TIDAVertexBuilder.cxx.

111 {
112 unsigned long id = (unsigned long)track;
113 return id;
114}

◆ select() [1/2]

std::vector< TIDA::Vertex > TIDAVertexBuilder::select ( const xAOD::VertexContainer * xAODVertices,
const std::vector< TIDA::Track * > * trackCollection = 0,
bool useType0 = false,
bool require_tracks = true )
static

Definition at line 13 of file TIDAVertexBuilder.cxx.

17 {
18
19 std::vector<TIDA::Vertex> vertices;
20
21 xAOD::VertexContainer::const_iterator vtxitr = xAODVertices->begin();
22
23 for ( ; vtxitr != xAODVertices->end(); ++vtxitr ) {
24
25 if ( require_tracks && (*vtxitr)->nTrackParticles()==0 ) continue;
26
27 if ( (*vtxitr)->vertexType()!=0 || useType0 ) {
28 TIDA::Vertex vertex = selectVertex( *vtxitr );
29
30 if ( trackCollection ) {
31 std::vector< unsigned long > trackIds;
32
33 const std::vector< ElementLink< xAOD::TrackParticleContainer > >& xAODtracks = (*vtxitr)->trackParticleLinks();
34
35 for ( const auto& track : xAODtracks ) {
36 unsigned long id = 0;
37 if (track.isValid()) id = getTrackId( *track );
38 trackIds.push_back( id );
39 }
40
41 vertex.selectTracks( *trackCollection, trackIds );
42 }
43
44 vertices.push_back( vertex );
45 }
46 }
47
48 return vertices;
49}
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
static TIDA::Vertex selectVertex(const xAOD::Vertex *v)
static unsigned long getTrackId(const xAOD::TrackParticle *track)

◆ select() [2/2]

std::vector< TIDA::Vertex > TIDAVertexBuilder::select ( xAOD::VertexContainer::const_iterator itr,
xAOD::VertexContainer::const_iterator enditr,
const std::vector< TIDA::Track * > * trackCollection = 0,
bool useType0 = false,
bool require_tracks = true )
static

Definition at line 52 of file TIDAVertexBuilder.cxx.

57 {
58
59 std::vector<TIDA::Vertex> vertices;
60
62
63 for ( ; vtxitr!=enditr; ++vtxitr ) {
64
65 if ( require_tracks && (*vtxitr)->nTrackParticles()==0 ) continue;
66
67 if ( (*vtxitr)->vertexType()!=0 || useType0 ) {
68
69 TIDA::Vertex vertex = selectVertex( *vtxitr );
70
71 if( trackCollection ) {
72 std::vector< unsigned long > trackIds;
73
74 const std::vector< ElementLink< xAOD::TrackParticleContainer > >& xAODtracks = (*vtxitr)->trackParticleLinks();
75
76 for( const auto& track : xAODtracks ) {
77 unsigned long id = getTrackId( *track );
78 trackIds.push_back( id );
79 }
80
81 vertex.selectTracks( *trackCollection, trackIds );
82 }
83
84 vertices.push_back( vertex );
85 }
86 }
87
88 return vertices;
89}

◆ selectVertex()

TIDA::Vertex TIDAVertexBuilder::selectVertex ( const xAOD::Vertex * v)
staticprivate

variances

quality

Definition at line 92 of file TIDAVertexBuilder.cxx.

92 {
93
94 // convert xAOD::Vertex into TIDA::Vertex
95 TIDA::Vertex tidav( v->x(),
96 v->y(),
97 v->z(),
99 v->covariancePosition()(Trk::x,Trk::x),
100 v->covariancePosition()(Trk::y,Trk::y),
101 v->covariancePosition()(Trk::z,Trk::z),
102 v->nTrackParticles(),
104 v->chiSquared(),
105 v->numberDoF() );
106
107 return tidav;
108}
@ x
Definition ParamDefs.h:55
@ z
global position (cartesian)
Definition ParamDefs.h:57
@ y
Definition ParamDefs.h:56

The documentation for this class was generated from the following files: