From 773eed5efa1c721b6d5fd5b0228bbfb8b0020cb2 Mon Sep 17 00:00:00 2001
From: Bastian Schlag <bastian.schlag@cern.ch>
Date: Thu, 5 Nov 2020 11:33:08 +0100
Subject: [PATCH] create single perigee surface shared ptr with current
 transform outside of track loop in EDM conversion

---
 .../src/ActsAdaptiveMultiPriVtxFinderTool.cxx              | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/Tracking/Acts/ActsPriVtxFinder/src/ActsAdaptiveMultiPriVtxFinderTool.cxx b/Tracking/Acts/ActsPriVtxFinder/src/ActsAdaptiveMultiPriVtxFinderTool.cxx
index 887db81be00..2611ff9fe02 100755
--- a/Tracking/Acts/ActsPriVtxFinder/src/ActsAdaptiveMultiPriVtxFinderTool.cxx
+++ b/Tracking/Acts/ActsPriVtxFinder/src/ActsAdaptiveMultiPriVtxFinderTool.cxx
@@ -223,11 +223,10 @@ ActsAdaptiveMultiPriVtxFinderTool::findVertex(const EventContext& ctx, std::vect
     // Convert tracks to Acts::BoundParameters
     std::vector<TrackWrapper> allTracks;
 
-    for (const auto& trk : trackVector) {
-
-      std::shared_ptr<Acts::PerigeeSurface> perigeeSurface =
-      Acts::Surface::makeShared<Acts::PerigeeSurface>(trk->parameters()->associatedSurface().transform());
+    std::shared_ptr<Acts::PerigeeSurface> perigeeSurface =
+      Acts::Surface::makeShared<Acts::PerigeeSurface>((trackVector[0])->parameters()->associatedSurface().transform());
 
+    for (const auto& trk : trackVector) {
       const auto& trkParams = trk->parameters();
       const auto& params = trkParams->parameters();
 
-- 
GitLab