32 m_numEventsProcessed(0),
33 m_totalNumVerticesWithoutDummy(0)
52 ATH_MSG_ERROR(
"AMVF finding and vertex merging is not possible");
53 return StatusCode::FAILURE;
68 return StatusCode::SUCCESS;
76 const EventContext& ctx = Gaudi::Hive::currentContext();
82 std::pair<xAOD::VertexContainer*,xAOD::VertexAuxContainer*> theXAODContainers
83 = std::make_pair( theXAODContainer, theXAODAuxContainer );
89 if(vtxCont.isValid()){
109 ATH_MSG_WARNING(
"couldn't retrieve Primary vertex, keeping privtx_z0 = 0 ");
112 std::unique_ptr<Trk::VxSecVertexInfo> foundVrts;
115 if(trackParticleCollection.isValid()){
130 return StatusCode::SUCCESS;
135 if(trackCollection.isValid()){
141 ATH_MSG_WARNING(
"Please use ISV for vertex finding with trackCollection ");
148 return StatusCode::SUCCESS;
157 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> myVxContainers = std::make_pair( myVertexContainer, myVertexAuxContainer );
158 ATH_MSG_DEBUG(
"Vertexing done, sorting the vertex container");
159 if (theXAODContainers.first) {
164 delete theXAODContainers.first;
165 delete theXAODContainers.second;
166 theXAODContainers = myVxContainers;
169 myVxContainers.first = theXAODContainers.first;
170 myVxContainers.second = theXAODContainers.second;
172 if (myVxContainers.first == 0) {
175 return StatusCode::SUCCESS;
178 if (not myVxContainers.first->hasStore()) {
181 return StatusCode::SUCCESS;
184 ATH_MSG_DEBUG(
"Successfully reconstructed " << myVxContainers.first->size()-1 <<
" vertices (excluding dummy)");
189 ATH_CHECK(outputVertices.record(std::unique_ptr<xAOD::VertexContainer>(myVxContainers.first),std::unique_ptr<xAOD::VertexAuxContainer>(myVxContainers.second)));
194 return StatusCode::SUCCESS;
199 ATH_MSG_DEBUG(
"Summary from Secondary Vertex Finder (InnerDetector/InDetRecAlgs/InDetSecVtxFinder)");
206 return StatusCode::SUCCESS;