ATLAS Offline Software
Loading...
Searching...
No Matches
PrimaryVertexSelector.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6// PrimaryVertexSelector, (c) ATLAS Detector software
8
9#ifndef TRKEVENTUTILS_PRIMARYVERTEXSELECTOR_H
10#define TRKEVENTUTILS_PRIMARYVERTEXSELECTOR_H
11
12//Trk
15
19
20inline const Trk::VxCandidate* PrimaryVertexSelector(const VxContainer& vxContainer){
21 // the return vertex
22 const Trk::VxCandidate* primaryVxCandidate = 0;
23 // simple loop through and get the primary vertex
24 VxContainer::const_iterator vxIter = vxContainer.begin();
25 VxContainer::const_iterator vxIterEnd = vxContainer.end();
26 for ( size_t ivtx = 0; vxIter != vxIterEnd; ++vxIter, ++ivtx ){
27 // the first and only primary vertex candidate is picked
28 if ( (*vxIter)->vertexType() == Trk::PriVtx){
29 primaryVxCandidate = (*vxIter);
30 break;
31 }
32 }
33 // return what you have - users need to check
34 return primaryVxCandidate;
35}
36
37#endif
38
39
const Trk::VxCandidate * PrimaryVertexSelector(const VxContainer &vxContainer)
Simple Global Function to wrap around the VxCandidate container.
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.
@ PriVtx
Primary Vertex.
Definition VertexType.h:27