15 const std::vector<TIDA::Track*>* trackCollection,
17 bool require_tracks ) {
19 std::vector<TIDA::Vertex> vertices;
23 for ( ; vtxitr != xAODVertices->
end(); ++vtxitr ) {
25 if ( require_tracks && (*vtxitr)->nTrackParticles()==0 )
continue;
27 if ( (*vtxitr)->vertexType()!=0 || useType0 ) {
30 if ( trackCollection ) {
31 std::vector< unsigned long > trackIds;
33 const std::vector< ElementLink< xAOD::TrackParticleContainer > >& xAODtracks = (*vtxitr)->trackParticleLinks();
35 for (
const auto& track : xAODtracks ) {
37 if (track.isValid())
id =
getTrackId( *track );
38 trackIds.push_back(
id );
41 vertex.selectTracks( *trackCollection, trackIds );
44 vertices.push_back( vertex );
55 const std::vector<TIDA::Track*>* trackCollection,
57 bool require_tracks ) {
59 std::vector<TIDA::Vertex> vertices;
63 for ( ; vtxitr!=enditr; ++vtxitr ) {
65 if ( require_tracks && (*vtxitr)->nTrackParticles()==0 )
continue;
67 if ( (*vtxitr)->vertexType()!=0 || useType0 ) {
71 if( trackCollection ) {
72 std::vector< unsigned long > trackIds;
74 const std::vector< ElementLink< xAOD::TrackParticleContainer > >& xAODtracks = (*vtxitr)->trackParticleLinks();
76 for(
const auto& track : xAODtracks ) {
78 trackIds.push_back(
id );
81 vertex.selectTracks( *trackCollection, trackIds );
84 vertices.push_back( vertex );
102 v->nTrackParticles(),
112 unsigned long id = (
unsigned long)track;
DataModel_detail::const_iterator< DataVector > const_iterator
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 std::vector< TIDA::Vertex > select(const xAOD::VertexContainer *xAODVertices, const std::vector< TIDA::Track * > *trackCollection=0, bool useType0=false, bool require_tracks=true)
static TIDA::Vertex selectVertex(const xAOD::Vertex *v)
static unsigned long getTrackId(const xAOD::TrackParticle *track)
@ z
global position (cartesian)
TrackParticle_v1 TrackParticle
Reference the current persistent version:
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.