Partially fix thread-safe issues of InDetTrackSelectionTool
Partially fix thread-safe issues of InDetTrackSelectionTool
http://goetz.web.cern.ch/goetz/mutable_2019-05-11.html#InnerDetector_Other
nightly/master/2019-05-11T2151:InnerDetector/InDetRecTools/InDetTrackSelectionTool/InDetTrackSelectionTool/InDetTrackSelectionTool.h +89
89 private:
90 bool m_isInitialized = false; // flag whether or not the tool has been initialized, to check erroneous use cases.
91 mutable bool m_warnInit = false; // flag to keep track of whether we have warned about a lack of initialization
92
93 // this is the setCutLevel function that actually does the work, so that it doesn't warn if called in athena.
nightly/master/2019-05-11T2151:InnerDetector/InDetRecTools/InDetTrackSelectionTool/InDetTrackSelectionTool/InDetTrackSelectionTool.h +99
99 std::map< std::string, std::vector< std::unique_ptr<TrackCut> > > m_trackCuts; //!< First element is the name of the cut family, second element is the set of cuts
100
101 mutable ULong64_t m_numTracksProcessed = 0; //!< a counter of the number of tracks proccessed
102 mutable ULong64_t m_numTracksPassed = 0; //!< a counter of the number of tracks that passed all cuts
103 mutable std::vector<ULong64_t> m_numTracksPassedCuts; //!< tracks the number of tracks that passed each cut family
nightly/master/2019-05-11T2151:InnerDetector/InDetRecTools/InDetTrackSelectionTool/InDetTrackSelectionTool/InDetTrackSelectionTool.h +100
100
101 mutable ULong64_t m_numTracksProcessed = 0; //!< a counter of the number of tracks proccessed
102 mutable ULong64_t m_numTracksPassed = 0; //!< a counter of the number of tracks that passed all cuts
103 mutable std::vector<ULong64_t> m_numTracksPassedCuts; //!< tracks the number of tracks that passed each cut family
104
nightly/master/2019-05-11T2151:InnerDetector/InDetRecTools/InDetTrackSelectionTool/Root/InDetTrackSelectionTool.cxx +845
845 // unfortunately the const must be cast away because the tool needs
846 // to update the track to make a summary (it is a friend of the track)
847 Trk::Track& nonConstTrack = const_cast<Trk::Track&>(track);
848 m_trackSumTool->updateTrack(nonConstTrack);
849 // now get the summary from the track (the track has ownership)
RunTier0Tests.py was fine. RunTier0Tests.log
Edited by Susumu Oda