50 {
51
52 bool callV0Finder = false;
53
57 if(vertContainer->
size() == 0) {
58 ATH_MSG_DEBUG(
"Container VertexContainer (" << str <<
") is empty");
59 }else{
60 callV0Finder = true;
61 ATH_MSG_DEBUG(
"Container VertexContainer (" << str <<
") has events N= " << vertContainer->
size());
62 break;
63 }
64 }
65
66
67
68 SG::WriteHandle<xAOD::VertexContainer> h_V0(
m_v0Key, ctx );
69 if ( h_V0.record(std::make_unique<xAOD::VertexContainer>() ,std::make_unique<xAOD::VertexAuxContainer>()).isFailure()){
71 return StatusCode::FAILURE;
72 }
73
74 SG::WriteHandle<xAOD::VertexContainer> h_Ks(
m_ksKey, ctx );
75 if ( h_Ks.record(std::make_unique<xAOD::VertexContainer>() ,std::make_unique<xAOD::VertexAuxContainer>()).isFailure()){
77 return StatusCode::FAILURE;
78 }
79
80 SG::WriteHandle<xAOD::VertexContainer> h_La(
m_laKey, ctx );
81 if( h_La.record(std::make_unique<xAOD::VertexContainer>() ,std::make_unique<xAOD::VertexAuxContainer>()).isFailure()){
83 return StatusCode::FAILURE;
84
85 }
86 SG::WriteHandle<xAOD::VertexContainer> h_Lb(
m_lbKey, ctx );
87 if(h_Lb.record(std::make_unique<xAOD::VertexContainer>() ,std::make_unique<xAOD::VertexAuxContainer>()).isFailure()){
89 return StatusCode::FAILURE;
90 }
91
96
97 if (callV0Finder) {
99 SG::ReadHandle<xAOD::VertexContainer> importedVxContainer(
m_vertexKey, ctx );
100 ATH_CHECK(importedVxContainer.isValid());
101
102 if (importedVxContainer->size()==0){
103 ATH_MSG_WARNING(
"You have no primary vertices: " << importedVxContainer->size());
104 } else {
105 primaryVertex = (*importedVxContainer)[0];
106 }
108 h_Ks.ptr(),
109 h_La.ptr(),
110 h_Lb.ptr(),
111 primaryVertex, importedVxContainer.cptr(), ctx));
112
113 ATH_MSG_DEBUG(
"Reco_V0Finder v0Container->size() " << v0Container->size());
114 ATH_MSG_DEBUG(
"Reco_V0Finder ksContainer->size() " << ksContainer->size());
115 ATH_MSG_DEBUG(
"Reco_V0Finder laContainer->size() " << laContainer->size());
116 ATH_MSG_DEBUG(
"Reco_V0Finder lbContainer->size() " << lbContainer->size());
117
118
123 }
124
125 return StatusCode::SUCCESS;
126 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
size_type size() const noexcept
Returns the number of elements in the collection.
SG::WriteHandleKey< xAOD::VertexContainer > m_v0Key
ToolHandle< InDet::V0MainDecorator > m_v0DecoTool
SG::WriteHandleKey< xAOD::VertexContainer > m_ksKey
SG::WriteHandleKey< xAOD::VertexContainer > m_lbKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexKey
SG::WriteHandleKey< xAOD::VertexContainer > m_laKey
retrieve(aClass, aKey=None)
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.