diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuPatCandidateTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuPatCandidateTool.cxx index 086c1b5be455e0765c219ecc14468ad53db5893b..4bf8325d4afe37b624477a2d797723e8ce8902fd 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuPatCandidateTool.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuPatCandidateTool.cxx @@ -58,6 +58,13 @@ namespace Muon { } StatusCode MuPatCandidateTool::finalize() { + + // Clean up all garbage now. + // If we leave it for the dtor, we may end up with dangling references + // to Surface objects that have already been deleted. + for (CacheEntry& ent : m_cache) { + ent.cleanUp(); + } return StatusCode::SUCCESS; }