From aba9a0a3559b45d69af367e3194eb01fcc17d2bb Mon Sep 17 00:00:00 2001 From: scott snyder <snyder@bnl.gov> Date: Wed, 8 Jul 2020 17:54:23 +0200 Subject: [PATCH] InDetAlignmentMonitoring: createSummary -> summary Use ITrackSummaryTool::summary instead of createSummary to resolve thread-safety issues. --- .../src/IDAlignMonEfficiencies.cxx | 6 ++---- .../InDetAlignmentMonitoring/src/IDAlignMonSivsTRT.cxx | 8 +++----- .../src/IDAlignMonTrackSegments.cxx | 8 ++------ .../InDetAlignmentMonitoring/src/TrackSelectionAlg.cxx | 8 ++------ 4 files changed, 9 insertions(+), 21 deletions(-) diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonEfficiencies.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonEfficiencies.cxx index 190c97da5a76..a3651a9ff7bd 100755 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonEfficiencies.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonEfficiencies.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ // ********************************************************************** @@ -1237,13 +1237,11 @@ StatusCode IDAlignMonEfficiencies::fillHistograms() } // end of outliers } // TSOS on track - const Trk::TrackSummary* summary = m_trackSumTool->createSummary(**trksItr); + std::unique_ptr<Trk::TrackSummary> summary = m_trackSumTool->summary(**trksItr); if( !summary->get(Trk::numberOfPixelHits) && !summary->get(Trk::numberOfSCTHits) && (summary->get(Trk::numberOfPixelHoles)==0) && (summary->get(Trk::numberOfSCTHoles)==0) && (m_doHoleSearch)){ if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "No Pixel or SCT hits skip hole search" << endmsg; - delete summary; continue; } - delete summary; const DataVector<const Trk::TrackStateOnSurface>* HTSOS; HTSOS = m_holeSearchTool->getHolesOnTrack(**trksItr); diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonSivsTRT.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonSivsTRT.cxx index 23b83e689896..35c72f34082e 100644 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonSivsTRT.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonSivsTRT.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ // ********************************************************************** @@ -276,15 +276,13 @@ StatusCode IDAlignMonSivsTRT::fillHistograms() continue; } - const Trk::TrackSummary* summary = NULL; - summary = m_trackSumTool->createSummary(*trackTRT); + std::unique_ptr<Trk::TrackSummary> summary = m_trackSumTool->summary(*trackTRT); int nhpix=0, nhsct=0, nhtrt=0; - if ( summary != NULL ){ + if ( summary ){ nhpix = summary->get(Trk::numberOfPixelHits); nhsct = summary->get(Trk::numberOfSCTHits); nhtrt = summary->get(Trk::numberOfTRTHits); - delete summary; } diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonTrackSegments.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonTrackSegments.cxx index 25a6de7bcc24..7c4f54fc87e9 100644 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonTrackSegments.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonTrackSegments.cxx @@ -681,8 +681,7 @@ StatusCode IDAlignMonTrackSegments::fillHistograms() }else if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Got the "<< nTracksUpper << " Upper Track" << endmsg; - const Trk::TrackSummary* summary = NULL; - summary = m_trackSumTool->createSummary(*trackUpper); + std::unique_ptr<Trk::TrackSummary> summary = m_trackSumTool->summary(*trackUpper); unsigned int nHitsPixUp = 0; unsigned int nHitsSCTUp=0; unsigned int nHitsTRTUp=0; @@ -690,7 +689,6 @@ StatusCode IDAlignMonTrackSegments::fillHistograms() nHitsSCTUp = summary->get(Trk::numberOfSCTHits); nHitsTRTUp = summary->get(Trk::numberOfTRTHits); unsigned int nHitsUp = nHitsPixUp + nHitsSCTUp + nHitsTRTUp; - delete summary; const Trk::Perigee* measUpperPer = trackUpper->perigeeParameters(); @@ -797,8 +795,7 @@ StatusCode IDAlignMonTrackSegments::fillHistograms() continue; } - const Trk::TrackSummary* summary = NULL; - summary = m_trackSumTool->createSummary(*trackLower); + std::unique_ptr<Trk::TrackSummary> summary = m_trackSumTool->summary(*trackLower); unsigned int nHitsPixLow = 0; unsigned int nHitsSCTLow = 0; unsigned int nHitsTRTLow = 0; @@ -806,7 +803,6 @@ StatusCode IDAlignMonTrackSegments::fillHistograms() nHitsSCTLow = summary->get(Trk::numberOfSCTHits); nHitsTRTLow = summary->get(Trk::numberOfTRTHits); nHitsLow = nHitsPixLow + nHitsSCTLow + nHitsTRTLow; - delete summary; const Trk::Perigee* measLowerPer = trackLower->perigeeParameters(); diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/TrackSelectionAlg.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/TrackSelectionAlg.cxx index 1f03f22ba693..8c30ca9ee67e 100644 --- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/TrackSelectionAlg.cxx +++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/TrackSelectionAlg.cxx @@ -164,8 +164,7 @@ bool TrackSelectionAlg::makeTrackCuts(const Trk::Track* track, float zVtx) if(z0zVtx > m_trackMaxVtxZ0) trackPassed = false; if(fabs(d0) > m_trackMaxD0) trackPassed = false; - const Trk::TrackSummary* summary = NULL; - summary = m_trackSumTool->createSummary(*track); + std::unique_ptr<Trk::TrackSummary> summary = m_trackSumTool->summary(*track); int nhtrt = 0; int nhtrtHT = 0; @@ -173,7 +172,7 @@ bool TrackSelectionAlg::makeTrackCuts(const Trk::Track* track, float zVtx) int nhsct = 0; int nhblay = 0; - if(summary==0){ + if(!summary){ if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "Could not create TrackSummary - Track will likely fail hits requirements" << endmsg;} else{ @@ -191,8 +190,5 @@ bool TrackSelectionAlg::makeTrackCuts(const Trk::Track* track, float zVtx) if(nhtrt < m_minTRTHits) trackPassed = false; if(nhtrtHT < m_minTRTHitsHT) trackPassed = false; - - delete summary; - return trackPassed; } -- GitLab