From 666d4ec70abf8845df9ee389e1c807264b6707fe Mon Sep 17 00:00:00 2001 From: Bastian Schlag <bastian.schlag@cern.ch> Date: Sun, 8 Mar 2020 13:10:43 +0100 Subject: [PATCH] replace find_if by for loop for finding closest track in z --- .../Vertexing/AdaptiveMultiVertexFinder.ipp | 21 +++++++++---------- .../Vertexing/AdaptiveMultiVertexFitter.hpp | 4 ++-- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp index d39f233ce..b89c6509b 100644 --- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp +++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp @@ -420,17 +420,16 @@ auto Acts::AdaptiveMultiVertexFinder<vfitter_t, sfinder_t>:: // method to remove a track from seed tracks: Closest track in z to // vtx candidate double smallestDeltaZ = std::numeric_limits<double>::max(); - auto smallestDzSeedIter = std::find_if( - seedTracks.begin(), seedTracks.end(), - [&vtx, &smallestDeltaZ, this](auto trk) { - double zDistance = std::abs(m_extractParameters(*trk).position()[eZ] - - vtx.position()[eZ]); - if (zDistance < smallestDeltaZ) { - smallestDeltaZ = zDistance; - return true; - } - return false; - }); + auto smallestDzSeedIter = seedTracks.end(); + for (auto trkIter = seedTracks.begin(); trkIter != seedTracks.end(); + trkIter++) { + double zDistance = std::abs( + m_extractParameters(**trkIter).position()[eZ] - vtx.position()[eZ]); + if (zDistance < smallestDeltaZ) { + smallestDeltaZ = zDistance; + smallestDzSeedIter = trkIter; + } + } if (smallestDzSeedIter != seedTracks.end()) { seedTracks.erase(smallestDzSeedIter); } else { diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.hpp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.hpp index bd6301374..839cb7e07 100644 --- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.hpp +++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.hpp @@ -77,7 +77,7 @@ class AdaptiveMultiVertexFitter { for (auto& vtx : vtxList) { // Add vertex link for each track for (auto& trk : vtxInfoMap[&vtx].trackLinks) { - trackToVerticesMultiMap.insert(std::make_pair(trk, &vtx)); + trackToVerticesMultiMap.emplace(trk, &vtx); } } } @@ -88,7 +88,7 @@ class AdaptiveMultiVertexFitter { for (auto vtx : vtxList) { // Add vertex link for each track for (auto trk : vtxInfoMap[vtx].trackLinks) { - trackToVerticesMultiMap.insert(std::make_pair(trk, vtx)); + trackToVerticesMultiMap.emplace(trk, vtx); } } } -- GitLab