diff --git a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZmumu.cxx b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZmumu.cxx index ba5d26005be5a47e9905155072e6766d09893bc2..57fce31c17943d9d3da114f8a819c5746866b9b0 100755 --- a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZmumu.cxx +++ b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZmumu.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ //================================================================================== @@ -182,31 +182,32 @@ StatusCode IDPerfMonZmumu::initialize() } } - // Retrieve fitter - if (m_TrackRefitter1.retrieve().isSuccess()) { - ATH_MSG_INFO("Retrieved tool m_TrackRefitter1: " << m_TrackRefitter1 << " SUCCESS "); - } - else { - ATH_MSG_FATAL("Unable to retrieve m_TrackRefitter1 " << m_TrackRefitter1 << " FAILURE "); - return StatusCode::FAILURE; - } - - // Retrieve the second fitter - if (m_TrackRefitter2.retrieve().isSuccess()) { - ATH_MSG_INFO("Retrieved tool m_TrackRefitter2: " << m_TrackRefitter2 << " SUCCESS "); - } - else { - ATH_MSG_FATAL("Unable to retrieve m_TrackRefitter2 " << m_TrackRefitter2 << " FAILURE "); - return StatusCode::FAILURE; - } + // Retrieve Track fitter and track to vertex + if (m_doRefit) { // only if track refit is requested + if (m_TrackRefitter1.retrieve().isSuccess()) { + ATH_MSG_INFO("Retrieved tool m_TrackRefitter1: " << m_TrackRefitter1 << " SUCCESS "); + } + else { + ATH_MSG_FATAL("Unable to retrieve m_TrackRefitter1 " << m_TrackRefitter1 << " FAILURE "); + return StatusCode::FAILURE; + } + // Retrieve the second fitter + if (m_TrackRefitter2.retrieve().isSuccess()) { + ATH_MSG_INFO("Retrieved tool m_TrackRefitter2: " << m_TrackRefitter2 << " SUCCESS "); + } + else { + ATH_MSG_FATAL("Unable to retrieve m_TrackRefitter2 " << m_TrackRefitter2 << " FAILURE "); + return StatusCode::FAILURE; + } - if (m_trackToVertexTool.retrieve().isSuccess()) { - ATH_MSG_INFO("Retrieved tool m_trackToVertexTool " << m_trackToVertexTool << " SUCCESS "); - } - else { - ATH_MSG_FATAL("Unable to retrieve m_trackToVertexTool " << m_trackToVertexTool << " FAILURE "); - return StatusCode::FAILURE; + if (m_trackToVertexTool.retrieve().isSuccess()) { + ATH_MSG_INFO("Retrieved tool m_trackToVertexTool " << m_trackToVertexTool << " SUCCESS "); + } + else { + ATH_MSG_FATAL("Unable to retrieve m_trackToVertexTool " << m_trackToVertexTool << " FAILURE "); + return StatusCode::FAILURE; + } } if(m_useTrackSelectionTool){ @@ -231,7 +232,7 @@ StatusCode IDPerfMonZmumu::initialize() ATH_CHECK (m_EventInfoKey.initialize()); // initializing the eventInfo "accessor" - ATH_CHECK (m_extrapolator.retrieve()); + if (m_isMC) ATH_CHECK (m_extrapolator.retrieve()); // this is only used for the truth particles ATH_CHECK (m_vertexKey.initialize());