81 bool acceptEvent =
false;
85 if( !
m_fourMuonTool->performSearch(pairContainer, pairAuxContainer, quadContainer, quadAuxContainer, acceptEvent).isSuccess() ) {
87 return StatusCode::FAILURE;
109 return StatusCode::FAILURE;
120 refPvContainer->setStore(refPvAuxContainer);
126 if(quadContainer->
size() >0){
129 ATH_MSG_FATAL(
"refitting failed - check the vertices you passed");
130 return StatusCode::FAILURE;
133 if(pairContainer->
size()>0) {
136 ATH_MSG_FATAL(
"refitting failed - check the vertices you passed");
137 return StatusCode::FAILURE;
141 if(quadContainer->
size() >0){
145 if(pairContainer->
size() >0)
156 std::vector<double> muonPairMasses = std::vector<double>(2, 105.658);
157 std::vector<double> muonQuadMasses = std::vector<double>(4, 105.658);
167 for(; pairItr!=pairContainer->
end(); ++pairItr) {
175 if( !pairHelper.setMass(muonPairMasses) )
ATH_MSG_WARNING(
"Decoration pair.setMass failed");
177 double massErr =
m_v0Tools->invariantMassError(pairHelper.vtx(), muonPairMasses);
178 if( !pairHelper.setMassErr(massErr) )
ATH_MSG_WARNING(
"Decoration pair.setMassErr failed");
187 ATH_MSG_DEBUG(CombinationCodeAcc(**pairItr) <<
" : " << pairHelper.mass() <<
" +/- " << pairHelper.massErr());
193 for(; quadItr!=quadContainer->
end(); ++quadItr) {
201 if( !quadHelper.setMass(muonQuadMasses) )
ATH_MSG_WARNING(
"Decoration quad.setMass failed");
203 double massErr =
m_v0Tools->invariantMassError(quadHelper.vtx(), muonQuadMasses);
204 if( !quadHelper.setMassErr(massErr) )
ATH_MSG_WARNING(
"Decoration quad.setMassErr failed");
213 ATH_MSG_DEBUG(CombinationCodeAcc(**quadItr) <<
" : " << quadHelper.mass() <<
" +/- " << quadHelper.massErr());
220 if (!evtStore()->contains<xAOD::VertexContainer>(
m_pairName))
221 evtStore()->record(pairContainer,
m_pairName).ignore();
222 if (!evtStore()->contains<xAOD::VertexAuxContainer>(
m_pairName+
"Aux."))
223 evtStore()->record(pairAuxContainer,
m_pairName+
"Aux.").ignore();
226 if (!evtStore()->contains<xAOD::VertexContainer>(
m_quadName))
227 evtStore()->record(quadContainer,
m_quadName).ignore();
228 if (!evtStore()->contains<xAOD::VertexAuxContainer>(
m_quadName+
"Aux."))
229 evtStore()->record(quadAuxContainer,
m_quadName+
"Aux.").ignore();
237 return StatusCode::SUCCESS;