diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonTrackBuilder.h b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonTrackBuilder.h index 59ac1cd14fa1ac96a9ec2681eaddb98b57443156..e3f2d54b50b04693de73d2b3ccaa0942fd2573c3 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonTrackBuilder.h +++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonTrackBuilder.h @@ -45,6 +45,8 @@ namespace Muon { */ virtual std::vector<std::unique_ptr<MuPatTrack> > find( MuPatCandidateBase& candidate, const std::vector<MuPatSegment*>& segments ) const = 0; + + virtual void cleanUp() const {}; }; inline const InterfaceID& IMuonTrackBuilder::interfaceID() diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MooTrackBuilder.cxx b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MooTrackBuilder.cxx index cfcdbfdefc4cb8bbbfe9209877712f8256b41f93..16904d597d0171ae7d90bb02969facf4b4b3193e 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MooTrackBuilder.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MooTrackBuilder.cxx @@ -1518,4 +1518,9 @@ namespace Muon { return newTracks; } + void MooTrackBuilder::cleanUp() const { + m_candidateHandler->cleanUp(); + + } + } diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MooTrackBuilder.h b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MooTrackBuilder.h index cb0243f379c6d22d598645a7a6fbc94ec755dcde..dcac0e533570744afaca645f57853fd701c0e152 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MooTrackBuilder.h +++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MooTrackBuilder.h @@ -246,6 +246,9 @@ namespace Muon { */ virtual void refine( MuPatTrack& track ) const override; + void cleanUp() const; + + private: void removeDuplicateWithReference( std::unique_ptr<Trk::SegmentCollection>& segments, diff --git a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuonTrackSteering.cxx b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuonTrackSteering.cxx index 8f48e5efb22cb12b44eaaa7a5f6350c1cff9795a..f090d9a3b98a88fc12ea2f552d492c6f97c27d22 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuonTrackSteering.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonTrackMakers/MuonTrackMakerTools/MuonTrackSteeringTools/src/MuonTrackSteering.cxx @@ -138,6 +138,11 @@ namespace Muon { // clean up entry handler tool m_candidateTool->cleanUp(); + + // clean up track builder tools + m_mooBTool->cleanUp(); + m_trackBTool->cleanUp(); + } //-----------------------------------------------------------------------------------------------------------