From 5d9bded9ab8ed6677cf2431a2f79ef7621bfee68 Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Wed, 8 Jul 2020 17:19:45 +0100
Subject: [PATCH] TRT_CalibTools fix thread safety warnings

---
 .../InDetCalibTools/TRT_CalibTools/src/FillAlignTrkInfo.cxx | 6 ++----
 .../TRT_CalibTools/src/TRTCalibTrackSelectionTool.cxx       | 2 +-
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/InnerDetector/InDetCalibTools/TRT_CalibTools/src/FillAlignTrkInfo.cxx b/InnerDetector/InDetCalibTools/TRT_CalibTools/src/FillAlignTrkInfo.cxx
index 1375c3e2de6..bf70599abd1 100755
--- a/InnerDetector/InDetCalibTools/TRT_CalibTools/src/FillAlignTrkInfo.cxx
+++ b/InnerDetector/InDetCalibTools/TRT_CalibTools/src/FillAlignTrkInfo.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 /********************************************************************
@@ -70,13 +70,11 @@ bool FillAlignTrkInfo::fill(const Trk::Track* aTrack, TRT::TrackInfo* output,
   (*output)[TRT::Track::degreesOfFreedom]=aTrack->fitQuality()->numberDoF();
 
   // implicit memory allocation in createSummary, need to clean up later 
-  const Trk::TrackSummary* summary = m_TrackSummaryTool->createSummary(*aTrack);
+  std::unique_ptr<Trk::TrackSummary> summary = m_TrackSummaryTool->summary(*aTrack);
   (*output)[TRT::Track::numberOfPixelHits]=summary->get(Trk::numberOfPixelHits) ;
   (*output)[TRT::Track::numberOfSCTHits]=summary->get(Trk::numberOfSCTHits) ;
   (*output)[TRT::Track::numberOfTRTHits]=summary->get(Trk::numberOfTRTHits) ;
 
-  // fix to coverity 118333
-  delete summary;
 
   // All ok
   if (msgLvl(MSG::DEBUG)) msg() << "Track info filled .... " << endmsg;
diff --git a/InnerDetector/InDetCalibTools/TRT_CalibTools/src/TRTCalibTrackSelectionTool.cxx b/InnerDetector/InDetCalibTools/TRT_CalibTools/src/TRTCalibTrackSelectionTool.cxx
index 588fe02932a..1160ac28842 100755
--- a/InnerDetector/InDetCalibTools/TRT_CalibTools/src/TRTCalibTrackSelectionTool.cxx
+++ b/InnerDetector/InDetCalibTools/TRT_CalibTools/src/TRTCalibTrackSelectionTool.cxx
@@ -72,7 +72,7 @@ bool TRTCalibTrackSelectionTool::isAccepted(const Trk::Track* pTrack) const
   float eta=-log(tan(theta/2));
   if (m_EtaMin< m_EtaMax && (eta < m_EtaMin || eta > m_EtaMax) ) return false;
 
-  std::unique_ptr<const Trk::TrackSummary> summary(m_TrackSummaryTool->createSummary(*pTrack));
+  std::unique_ptr<const Trk::TrackSummary> summary = m_TrackSummaryTool->summary(*pTrack);
   if(summary->get(Trk::numberOfTRTHits)<m_MinTRTHits) return false;
   if(summary->get(Trk::numberOfPixelHits)<m_MinPixelHits) return false;
   if(summary->get(Trk::numberOfSCTHits)<m_MinSCTHits) return false;
-- 
GitLab