From 1e35fc1b65b97f7331f1ae80d6a9690d816a2fdf Mon Sep 17 00:00:00 2001 From: Walter Lampl <Walter.Lampl@cern.ch> Date: Wed, 9 Dec 2020 16:11:39 +0100 Subject: [PATCH] call cleanUp through MuonCombinedAlg -> MuonCombinedTool -> MuonCombinedFitTagTool -> CombinedMuonTrackBuilder -> MuonSegmentRegionRecoveryTool -> MooCandidateMatchingTool -> MuPatCandidateTool -> MuPatHitTool --- .../MuonCombinedAlgs/src/MuonCombinedAlg.cxx | 2 ++ .../MuonCombinedBaseTools/src/MuonCombinedFitTagTool.cxx | 4 ++++ .../MuonCombinedBaseTools/src/MuonCombinedFitTagTool.h | 2 ++ .../MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.cxx | 6 ++++++ .../MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.h | 2 ++ .../MuonCombinedBaseTools/src/MuonCombinedTool.cxx | 6 ++++++ .../MuonCombinedBaseTools/src/MuonCombinedTool.h | 2 ++ .../MuonCombinedToolInterfaces/IMuonCombinedTagTool.h | 4 +++- .../MuonCombinedToolInterfaces/IMuonCombinedTool.h | 2 ++ 9 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedAlg.cxx b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedAlg.cxx index 2815d4a3cbf4..971dc6536cde 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedAlg.cxx +++ b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedAlg.cxx @@ -63,6 +63,8 @@ StatusCode MuonCombinedAlg::execute() //note that STACO does not create new Trk::Tracks so it doesn't need collections here m_muonCombinedTool->combine(*muonCandidateCollection,*inDetCandidateCollection,maps,muidCombTracks.ptr(),muidMETracks.ptr()); + m_muonCombinedTool->cleanUp(); + return StatusCode::SUCCESS; } diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.cxx index c9b468236d84..f32a1bfcb7d6 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.cxx +++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.cxx @@ -790,6 +790,10 @@ namespace MuonCombined { return false; } } + + void MuonCombinedFitTagTool::cleanUp() const { + m_trackBuilder->cleanUp(); + } } // end of namespace diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.h b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.h index 17cb7d85fd74..06f8e31120a0 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.h +++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedFitTagTool.h @@ -47,6 +47,8 @@ namespace MuonCombined { void combine( const MuonCandidate& muonCandidate, const std::vector<const InDetCandidate*>& indetCandidates, InDetCandidateToTagMap& tagMap, TrackCollection* combTracks, TrackCollection* METracks) const override; + void cleanUp() const override; + private: Trk::Track* buildCombinedTrack(const Trk::Track& indetTrack, diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.cxx index 33496cb470ac..825344385060 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.cxx +++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.cxx @@ -171,4 +171,10 @@ namespace MuonCombined { covCB ) ); } + + void MuonCombinedStacoTagTool::cleanUp() const { + //Nothing to clean up here .. hopefully + return; + } + } // end of namespace diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.h b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.h index 4ad43e4796ec..b8737f738a3c 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.h +++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedStacoTagTool.h @@ -39,6 +39,8 @@ namespace MuonCombined { void combine( const MuonCandidate& muonCandidate, const std::vector<const InDetCandidate*>& indetCandidates, InDetCandidateToTagMap& tagMap, TrackCollection* combTracks, TrackCollection* METracks) const override; + void cleanUp() const override; + private: std::unique_ptr<const Trk::Perigee> theCombIdMu( const Trk::Perigee& indetPerigee, const Trk::Perigee& extrPerigee, double& chi2 ) const; diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedTool.cxx index 64ea1e1a46df..fe0554923c3c 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedTool.cxx +++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedTool.cxx @@ -111,4 +111,10 @@ namespace MuonCombined { } } + void MuonCombinedTool::cleanUp() const { + for(auto& tool : m_muonCombinedTagTools){ + tool->cleanUp(); + } + } + } // end of namespace diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedTool.h b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedTool.h index b9a189a20e7c..848754504049 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedTool.h +++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCombinedTool.h @@ -30,6 +30,8 @@ namespace MuonCombined { void combine(const MuonCandidateCollection& muonCandidates,const InDetCandidateCollection& inDetCandidates, std::vector<InDetCandidateToTagMap*> tagMaps, TrackCollection* combinedTracks, TrackCollection* METracks) const; + void cleanUp() const override; + private: void associate( const MuonCandidate& muonCandidate, const InDetCandidateCollection& inDetCandidates, diff --git a/Reconstruction/MuonIdentification/MuonCombinedToolInterfaces/MuonCombinedToolInterfaces/IMuonCombinedTagTool.h b/Reconstruction/MuonIdentification/MuonCombinedToolInterfaces/MuonCombinedToolInterfaces/IMuonCombinedTagTool.h index bdb76be9f9b6..9e4cf30fb777 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedToolInterfaces/MuonCombinedToolInterfaces/IMuonCombinedTagTool.h +++ b/Reconstruction/MuonIdentification/MuonCombinedToolInterfaces/MuonCombinedToolInterfaces/IMuonCombinedTagTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -35,6 +35,8 @@ namespace MuonCombined { virtual void combine( const MuonCandidate& muonCandidate, const std::vector<const InDetCandidate*>& indetCandidates, InDetCandidateToTagMap& tagMap, TrackCollection* combTracks, TrackCollection* METracks) const = 0; + + virtual void cleanUp() const = 0; }; inline const InterfaceID& IMuonCombinedTagTool::interfaceID() diff --git a/Reconstruction/MuonIdentification/MuonCombinedToolInterfaces/MuonCombinedToolInterfaces/IMuonCombinedTool.h b/Reconstruction/MuonIdentification/MuonCombinedToolInterfaces/MuonCombinedToolInterfaces/IMuonCombinedTool.h index 23b1fcd5313a..0672d5d47786 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedToolInterfaces/MuonCombinedToolInterfaces/IMuonCombinedTool.h +++ b/Reconstruction/MuonIdentification/MuonCombinedToolInterfaces/MuonCombinedToolInterfaces/IMuonCombinedTool.h @@ -34,6 +34,8 @@ namespace MuonCombined { virtual void combine( const MuonCandidateCollection& muonCandidates, const InDetCandidateCollection& inDetCandidates, std::vector<InDetCandidateToTagMap*> tagMaps, TrackCollection* combTracks, TrackCollection* METracks) const = 0; + virtual void cleanUp() const = 0; + }; inline const InterfaceID& IMuonCombinedTool::interfaceID() -- GitLab