From f0930ec16fcc59b58750329188ddef192a8b3195 Mon Sep 17 00:00:00 2001 From: Savanna Marie Shaw <savanna.marie.shaw@cern.ch> Date: Tue, 30 Jun 2020 09:06:44 +0000 Subject: [PATCH] Protect against invalid detector elements in MDT decoding Adding some protection against invalid detector elements in the MDT decoding which arise when trying to access chambers that don't exist when running the NSW trigger test. Fixes ATR-21606. --- .../MuonMDT_CnvTools/src/MdtRdoToPrepDataToolCore.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataToolCore.cxx b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataToolCore.cxx index 5ef7c5f25e3..d7ebd8e5deb 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataToolCore.cxx +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataToolCore.cxx @@ -221,7 +221,10 @@ bool Muon::MdtRdoToPrepDataToolCore::handlePRDHash( IdentifierHash hash, const M if (m_BMEpresent) { // after BMEs were installed, the RDOs are indexed by the detectorElement hash of a multilayer Identifier elementId; IdContext tmp_context = m_idHelperSvc->mdtIdHelper().module_context(); - m_idHelperSvc->mdtIdHelper().get_id(hash, elementId, &tmp_context); + if(m_idHelperSvc->mdtIdHelper().get_id(hash, elementId, &tmp_context)){ + ATH_MSG_DEBUG("Found invalid elementId"); + return false; + } Identifier multilayerId = m_idHelperSvc->mdtIdHelper().multilayerID(elementId, 1); //first multilayer IdentifierHash multilayerHash; -- GitLab