31 m_numEventsProcessed(0),
32 m_totalNumVerticesWithoutDummy(0)
51 ATH_MSG_ERROR(
"AMVF finding and vertex merging is not possible");
52 return StatusCode::FAILURE;
67 return StatusCode::SUCCESS;
75 const EventContext& ctx = Gaudi::Hive::currentContext();
81 std::pair<xAOD::VertexContainer*,xAOD::VertexAuxContainer*> theXAODContainers
82 = std::make_pair( theXAODContainer, theXAODAuxContainer );
88 if(vtxCont.isValid()){
107 ATH_MSG_WARNING(
"couldn't retrieve Primary vertex, keeping privtx_z0 = 0 ");
110 std::unique_ptr<Trk::VxSecVertexInfo> foundVrts;
113 if(trackParticleCollection.isValid()){
128 return StatusCode::SUCCESS;
133 if(trackCollection.isValid()){
139 ATH_MSG_WARNING(
"Please use ISV for vertex finding with trackCollection ");
146 return StatusCode::SUCCESS;
155 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> myVxContainers = std::make_pair( myVertexContainer, myVertexAuxContainer );
156 ATH_MSG_DEBUG(
"Vertexing done, sorting the vertex container");
157 if (theXAODContainers.first) {
162 delete theXAODContainers.first;
163 delete theXAODContainers.second;
164 theXAODContainers = myVxContainers;
167 myVxContainers.first = theXAODContainers.first;
168 myVxContainers.second = theXAODContainers.second;
170 if (myVxContainers.first == 0) {
173 return StatusCode::SUCCESS;
176 if (not myVxContainers.first->hasStore()) {
179 return StatusCode::SUCCESS;
182 ATH_MSG_DEBUG(
"Successfully reconstructed " << myVxContainers.first->size()-1 <<
" vertices (excluding dummy)");
187 ATH_CHECK(outputVertices.record(std::unique_ptr<xAOD::VertexContainer>(myVxContainers.first),std::unique_ptr<xAOD::VertexAuxContainer>(myVxContainers.second)));
192 return StatusCode::SUCCESS;
197 ATH_MSG_DEBUG(
"Summary from Secondary Vertex Finder (InnerDetector/InDetRecAlgs/InDetSecVtxFinder)");
204 return StatusCode::SUCCESS;