diff --git a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.cxx b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.cxx index b6b4fba6864763ee4381f9929cb51dbb03fe9a2b..c898fd39e4121fef1fb43b0cf7505bbfed6dedb1 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.cxx +++ b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.cxx @@ -7,7 +7,7 @@ #include "MuonCombinedEvent/MuonCandidateCollection.h" MuonCombinedInDetExtensionAlg::MuonCombinedInDetExtensionAlg(const std::string& name, ISvcLocator* pSvcLocator) - : AthReentrantAlgorithm(name, pSvcLocator) { + : AthAlgorithm(name, pSvcLocator) { } StatusCode @@ -31,8 +31,9 @@ MuonCombinedInDetExtensionAlg::initialize() } StatusCode -MuonCombinedInDetExtensionAlg::execute(const EventContext& ctx) const -{ +MuonCombinedInDetExtensionAlg::execute() { + + const EventContext& ctx = Gaudi::Hive::currentContext(); SG::ReadHandle<InDetCandidateCollection> indetCandidateCollection(m_indetCandidateCollectionName, ctx); if (!indetCandidateCollection.isValid()) { diff --git a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.h b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.h index 0d88f16967fba66153edbbeadbae905f9b35a8c0..aace58bb052c5de0ea208a231376724bd1bbbe0d 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.h +++ b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.h @@ -6,7 +6,7 @@ #define MUONCOMBINEDALGS_MUONCOMBINEDINDETEXTENSIONALG_H -#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "AthenaBaseComps/AthAlgorithm.h" #include "GaudiKernel/ToolHandle.h" #include "MuonCombinedEvent/InDetCandidateCollection.h" #include "MuonCombinedEvent/InDetCandidateToTagMap.h" @@ -20,13 +20,15 @@ #include <string> -class MuonCombinedInDetExtensionAlg : public AthReentrantAlgorithm { +// uses (further down the call chain) the MuPatHitTool that has a mutable cache of pointers to-be-deleted and the end of the event +// thus, currently, the MuonCombinedInDetExtensionAlg cannot become an AthReentrantAlgorithm +class MuonCombinedInDetExtensionAlg : public AthAlgorithm { public: MuonCombinedInDetExtensionAlg(const std::string& name, ISvcLocator* pSvcLocator); ~MuonCombinedInDetExtensionAlg()=default; StatusCode initialize(); - StatusCode execute(const EventContext& ctx) const; + StatusCode execute(); private: ToolHandleArray<MuonCombined::IMuonCombinedInDetExtensionTool> m_muonCombinedInDetExtensionTools{this,"MuonCombinedInDetExtensionTools",{}};