From c49a7a478fef8e45745a07667e465fbad062b903 Mon Sep 17 00:00:00 2001 From: russofel Date: Thu, 10 Aug 2023 10:50:57 +0200 Subject: [PATCH 01/20] add struct FittedMomentum to TrackAtVertex and use fill it in FullBilloir --- .../Vertexing/FullBilloirVertexFitter.ipp | 11 +++++++--- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 22 +++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp index 28996413bf6..ae0d0e229ff 100644 --- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp +++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp @@ -214,6 +214,7 @@ Acts::FullBilloirVertexFitter::fit( // start momentum related calculations std::vector> covDeltaP(nTracks); + std::vector>> covP(nTracks); // Update track momenta and calculate the covariance of the track parameters // after the fit (TODO: parameters -> momenta). @@ -264,7 +265,7 @@ Acts::FullBilloirVertexFitter::fit( ActsMatrix<4, 3> covVP = billoirTrack.B; // cov(P,P), 3x3 matrix - ActsSymMatrix<3> covP = + ActsSymMatrix<3> covPDummy = billoirTrack.Cinv + billoirTrack.BCinv.transpose() * covV * billoirTrack.BCinv; @@ -273,7 +274,9 @@ Acts::FullBilloirVertexFitter::fit( cov.block<4, 4>(0, 0) = covV; cov.block<4, 3>(0, 4) = covVP; cov.block<3, 4>(4, 0) = covVP.transpose(); - cov.block<3, 3>(4, 4) = covP; + cov.block<3, 3>(4, 4) = covPDummy; + + covP[iTrack] = covPDummy; covDeltaP[iTrack] = transMat * cov * transMat.transpose(); } @@ -328,8 +331,10 @@ Acts::FullBilloirVertexFitter::fit( paramVec[eBoundTime] = linPoint[FreeIndices::eFreeTime]; BoundTrackParameters refittedParams(perigee, paramVec, covDeltaP[iTrack]); + FittedMomentum fittedMomentum(trackMomenta[iTrack], covP[iTrack]); TrackAtVertex trackAtVertex( - billoirTrack.chi2, refittedParams, billoirTrack.originalTrack); + billoirTrack.chi2, refittedParams, fittedMomentum, + billoirTrack.originalTrack); tracksAtVertex.push_back(std::move(trackAtVertex)); } diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index 40f0b750657..7c06bce9422 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -21,6 +21,17 @@ namespace Acts { /// /// @tparam input_track_t Track object type +struct FittedMomentum { + FittedMomentum(Vector3 mom, std::optional> cov) + : momentum(mom), covariance(cov) {} + + FittedMomentum() : momentum(Vector3::Zero()), covariance(std::nullopt) {} + + Vector3 momentum; + // TODO: do we even need the optional? + std::optional> covariance; +}; + template struct TrackAtVertex { @@ -38,6 +49,14 @@ struct TrackAtVertex { originalParams(originalTrack), chi2Track(chi2perTrack) {} + TrackAtVertex(double chi2perTrack, const BoundTrackParameters& paramsAtVertex, + const input_track_t* originalTrack, + const FittedMomentum& fittedMom) + : fittedParams(paramsAtVertex), + fittedMomentum(fittedMom), + originalParams(originalTrack), + chi2Track(chi2perTrack) {} + /// @brief Constructor with default chi2 /// /// @param paramsAtVertex Fitted perigee parameter @@ -49,6 +68,9 @@ struct TrackAtVertex { /// Fitted perigee BoundTrackParameters fittedParams; + /// Momentum after vertex fit + FittedMomentum fittedMomentum; + /// Original input parameters const input_track_t* originalParams; From 59a494b3da82452eab15e8f946640db0ef6cceb9 Mon Sep 17 00:00:00 2001 From: russofel Date: Thu, 10 Aug 2023 11:10:23 +0200 Subject: [PATCH 02/20] revert last commit --- .../Acts/Vertexing/FullBilloirVertexFitter.ipp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp index ae0d0e229ff..28996413bf6 100644 --- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp +++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp @@ -214,7 +214,6 @@ Acts::FullBilloirVertexFitter::fit( // start momentum related calculations std::vector> covDeltaP(nTracks); - std::vector>> covP(nTracks); // Update track momenta and calculate the covariance of the track parameters // after the fit (TODO: parameters -> momenta). @@ -265,7 +264,7 @@ Acts::FullBilloirVertexFitter::fit( ActsMatrix<4, 3> covVP = billoirTrack.B; // cov(P,P), 3x3 matrix - ActsSymMatrix<3> covPDummy = + ActsSymMatrix<3> covP = billoirTrack.Cinv + billoirTrack.BCinv.transpose() * covV * billoirTrack.BCinv; @@ -274,9 +273,7 @@ Acts::FullBilloirVertexFitter::fit( cov.block<4, 4>(0, 0) = covV; cov.block<4, 3>(0, 4) = covVP; cov.block<3, 4>(4, 0) = covVP.transpose(); - cov.block<3, 3>(4, 4) = covPDummy; - - covP[iTrack] = covPDummy; + cov.block<3, 3>(4, 4) = covP; covDeltaP[iTrack] = transMat * cov * transMat.transpose(); } @@ -331,10 +328,8 @@ Acts::FullBilloirVertexFitter::fit( paramVec[eBoundTime] = linPoint[FreeIndices::eFreeTime]; BoundTrackParameters refittedParams(perigee, paramVec, covDeltaP[iTrack]); - FittedMomentum fittedMomentum(trackMomenta[iTrack], covP[iTrack]); TrackAtVertex trackAtVertex( - billoirTrack.chi2, refittedParams, fittedMomentum, - billoirTrack.originalTrack); + billoirTrack.chi2, refittedParams, billoirTrack.originalTrack); tracksAtVertex.push_back(std::move(trackAtVertex)); } From ee9de61f019fc496bd3ee477e0d75e4b11a9a8cc Mon Sep 17 00:00:00 2001 From: russofel Date: Thu, 10 Aug 2023 11:16:30 +0200 Subject: [PATCH 03/20] Revert "revert last commit" This reverts commit 59a494b3da82452eab15e8f946640db0ef6cceb9. --- .../Acts/Vertexing/FullBilloirVertexFitter.ipp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp index 28996413bf6..ae0d0e229ff 100644 --- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp +++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp @@ -214,6 +214,7 @@ Acts::FullBilloirVertexFitter::fit( // start momentum related calculations std::vector> covDeltaP(nTracks); + std::vector>> covP(nTracks); // Update track momenta and calculate the covariance of the track parameters // after the fit (TODO: parameters -> momenta). @@ -264,7 +265,7 @@ Acts::FullBilloirVertexFitter::fit( ActsMatrix<4, 3> covVP = billoirTrack.B; // cov(P,P), 3x3 matrix - ActsSymMatrix<3> covP = + ActsSymMatrix<3> covPDummy = billoirTrack.Cinv + billoirTrack.BCinv.transpose() * covV * billoirTrack.BCinv; @@ -273,7 +274,9 @@ Acts::FullBilloirVertexFitter::fit( cov.block<4, 4>(0, 0) = covV; cov.block<4, 3>(0, 4) = covVP; cov.block<3, 4>(4, 0) = covVP.transpose(); - cov.block<3, 3>(4, 4) = covP; + cov.block<3, 3>(4, 4) = covPDummy; + + covP[iTrack] = covPDummy; covDeltaP[iTrack] = transMat * cov * transMat.transpose(); } @@ -328,8 +331,10 @@ Acts::FullBilloirVertexFitter::fit( paramVec[eBoundTime] = linPoint[FreeIndices::eFreeTime]; BoundTrackParameters refittedParams(perigee, paramVec, covDeltaP[iTrack]); + FittedMomentum fittedMomentum(trackMomenta[iTrack], covP[iTrack]); TrackAtVertex trackAtVertex( - billoirTrack.chi2, refittedParams, billoirTrack.originalTrack); + billoirTrack.chi2, refittedParams, fittedMomentum, + billoirTrack.originalTrack); tracksAtVertex.push_back(std::move(trackAtVertex)); } From 08c0c77694765c201d6055abace5bdf306a10c39 Mon Sep 17 00:00:00 2001 From: russofel Date: Fri, 11 Aug 2023 10:45:26 +0200 Subject: [PATCH 04/20] add fittedMomentum to KalmanVertexTrackUpdater --- .../include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp | 4 +++- Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp | 6 ++++++ Core/include/Acts/Vertexing/TrackAtVertex.hpp | 9 ++++++--- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp index f3f2151153e..c8a5bb400ee 100644 --- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp +++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp @@ -231,6 +231,8 @@ auto Acts::AdaptiveMultiVertexFinder:: -> Result { for (const auto& trk : tracks) { auto params = m_extractParameters(*trk); + FittedMomentum fittedMomentum(params.parameters().template segment<3>(eBoundPhi), + params.covariance().value().template block<3, 3>(eBoundPhi, eBoundPhi)); auto pos = params.position(vertexingOptions.geoContext); // If track is too far away from vertex, do not consider checking the IP // significance @@ -245,7 +247,7 @@ auto Acts::AdaptiveMultiVertexFinder:: if (ipSig < m_cfg.tracksMaxSignificance) { // Create TrackAtVertex objects, unique for each (track, vertex) pair fitterState.tracksAtVerticesMap.emplace(std::make_pair(trk, &vtx), - TrackAtVertex(params, trk)); + TrackAtVertex(params, fittedMomentum, trk)); // Add the original track parameters to the list for vtx fitterState.vtxInfoMap[&vtx].trackLinks.push_back(trk); diff --git a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp index 523055e20fa..d618660a04b 100644 --- a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp +++ b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp @@ -102,8 +102,14 @@ void Acts::KalmanVertexTrackUpdater::update(TrackAtVertex& track, BoundTrackParameters refittedPerigee = BoundTrackParameters( perigeeSurface, newTrkParams, std::move(fullPerTrackCov)); + ActsSymMatrix<3> momCov = + sMat + (newTrkCov).transpose() * + (vtxWeight.block<3, 3>(0, 0) * newTrkCov); + FittedMomentum fittedMom(newTrkMomentum, momCov); + // Set new properties track.fittedParams = refittedPerigee; + track.fittedMomentum = fittedMom; track.chi2Track = chi2; track.ndf = 2 * track.trackWeight; diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index 7c06bce9422..44e8f0d3012 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -1,6 +1,6 @@ // This file is part of the Acts project. // -// Copyright (C) 2019 CERN for the benefit of the Acts project +// Copyright (C) 2019-2023 CERN for the benefit of the Acts project // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -50,8 +50,7 @@ struct TrackAtVertex { chi2Track(chi2perTrack) {} TrackAtVertex(double chi2perTrack, const BoundTrackParameters& paramsAtVertex, - const input_track_t* originalTrack, - const FittedMomentum& fittedMom) + const FittedMomentum& fittedMom, const input_track_t* originalTrack) : fittedParams(paramsAtVertex), fittedMomentum(fittedMom), originalParams(originalTrack), @@ -65,6 +64,10 @@ struct TrackAtVertex { const input_track_t* originalTrack) : fittedParams(paramsAtVertex), originalParams(originalTrack) {} + TrackAtVertex(const BoundTrackParameters& paramsAtVertex, const FittedMomentum& fittedMom, + const input_track_t* originalTrack) + : fittedParams(paramsAtVertex), fittedMomentum(fittedMom), originalParams(originalTrack) {} + /// Fitted perigee BoundTrackParameters fittedParams; From 234156144f8f15cdccede787d3dd65b70441c327 Mon Sep 17 00:00:00 2001 From: russofel Date: Fri, 11 Aug 2023 12:04:07 +0200 Subject: [PATCH 05/20] remove fittedParams --- .../Vertexing/AdaptiveMultiVertexFinder.hpp | 5 +- .../Vertexing/AdaptiveMultiVertexFinder.ipp | 10 +-- .../Vertexing/FullBilloirVertexFitter.ipp | 3 +- .../Vertexing/KalmanVertexTrackUpdater.ipp | 7 +-- .../Acts/Vertexing/KalmanVertexUpdater.ipp | 2 +- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 62 +++++++++---------- .../AdaptiveMultiVertexFitterTests.cpp | 18 +++--- .../Vertexing/IterativeVertexFinderTests.cpp | 5 +- .../KalmanVertexTrackUpdaterTests.cpp | 6 +- .../Vertexing/KalmanVertexUpdaterTests.cpp | 2 +- 10 files changed, 57 insertions(+), 63 deletions(-) diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp index 4af0c5a7a7d..ef8ac7dd9fd 100644 --- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp +++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp @@ -115,10 +115,11 @@ class AdaptiveMultiVertexFinder { bool doRealMultiVertex = true; // Decides if you want to use the ```vertexCompatibility``` of the - // track (set to true) or the ```chi2Track``` (set to false) as an + // track (set to true) or the ```chi2``` of the TrackAtVertex (set to + // false) as an // estimate for a track being an outlier or not. // In case the track refitting is switched on in the AMVFitter, you - // may want to use the refitted ```chi2Track```. + // may want to use the refitted ```chi2```. bool useFastCompatibility = true; // Maximum significance on the distance between two vertices diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp index c8a5bb400ee..32d227e9082 100644 --- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp +++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp @@ -231,8 +231,6 @@ auto Acts::AdaptiveMultiVertexFinder:: -> Result { for (const auto& trk : tracks) { auto params = m_extractParameters(*trk); - FittedMomentum fittedMomentum(params.parameters().template segment<3>(eBoundPhi), - params.covariance().value().template block<3, 3>(eBoundPhi, eBoundPhi)); auto pos = params.position(vertexingOptions.geoContext); // If track is too far away from vertex, do not consider checking the IP // significance @@ -247,7 +245,7 @@ auto Acts::AdaptiveMultiVertexFinder:: if (ipSig < m_cfg.tracksMaxSignificance) { // Create TrackAtVertex objects, unique for each (track, vertex) pair fitterState.tracksAtVerticesMap.emplace(std::make_pair(trk, &vtx), - TrackAtVertex(params, fittedMomentum, trk)); + TrackAtVertex(trk)); // Add the original track parameters to the list for vtx fitterState.vtxInfoMap[&vtx].trackLinks.push_back(trk); @@ -361,8 +359,7 @@ auto Acts::AdaptiveMultiVertexFinder:: if ((trkAtVtx.vertexCompatibility < m_cfg.maxVertexChi2 && m_cfg.useFastCompatibility) || (trkAtVtx.trackWeight > m_cfg.minWeight && - trkAtVtx.chi2Track < m_cfg.maxVertexChi2 && - !m_cfg.useFastCompatibility)) { + trkAtVtx.chi2 < m_cfg.maxVertexChi2 && !m_cfg.useFastCompatibility)) { // TODO: Understand why looking for compatible tracks only in seed tracks // and not also in all tracks auto foundIter = @@ -399,8 +396,7 @@ auto Acts::AdaptiveMultiVertexFinder:: if ((trkAtVtx.vertexCompatibility < m_cfg.maxVertexChi2 && m_cfg.useFastCompatibility) || (trkAtVtx.trackWeight > m_cfg.minWeight && - trkAtVtx.chi2Track < m_cfg.maxVertexChi2 && - !m_cfg.useFastCompatibility)) { + trkAtVtx.chi2 < m_cfg.maxVertexChi2 && !m_cfg.useFastCompatibility)) { // Find and remove track from seedTracks auto foundSeedIter = std::find_if(seedTracks.begin(), seedTracks.end(), diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp index ae0d0e229ff..6ebffbc22a5 100644 --- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp +++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp @@ -333,8 +333,7 @@ Acts::FullBilloirVertexFitter::fit( covDeltaP[iTrack]); FittedMomentum fittedMomentum(trackMomenta[iTrack], covP[iTrack]); TrackAtVertex trackAtVertex( - billoirTrack.chi2, refittedParams, fittedMomentum, - billoirTrack.originalTrack); + billoirTrack.chi2, fittedMomentum, billoirTrack.originalTrack); tracksAtVertex.push_back(std::move(trackAtVertex)); } diff --git a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp index d618660a04b..cae9775d05c 100644 --- a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp +++ b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp @@ -103,14 +103,13 @@ void Acts::KalmanVertexTrackUpdater::update(TrackAtVertex& track, perigeeSurface, newTrkParams, std::move(fullPerTrackCov)); ActsSymMatrix<3> momCov = - sMat + (newTrkCov).transpose() * - (vtxWeight.block<3, 3>(0, 0) * newTrkCov); + sMat + + (newTrkCov).transpose() * (vtxWeight.block<3, 3>(0, 0) * newTrkCov); FittedMomentum fittedMom(newTrkMomentum, momCov); // Set new properties - track.fittedParams = refittedPerigee; track.fittedMomentum = fittedMom; - track.chi2Track = chi2; + track.chi2 = chi2; track.ndf = 2 * track.trackWeight; return; diff --git a/Core/include/Acts/Vertexing/KalmanVertexUpdater.ipp b/Core/include/Acts/Vertexing/KalmanVertexUpdater.ipp index f123f8a8303..c21efd60af9 100644 --- a/Core/include/Acts/Vertexing/KalmanVertexUpdater.ipp +++ b/Core/include/Acts/Vertexing/KalmanVertexUpdater.ipp @@ -51,7 +51,7 @@ void Acts::KalmanVertexUpdater::detail::update( // Otherwise just adds track to existing list of tracks at vertex if (sign > 0) { // Update track - trk.chi2Track = trkChi2; + trk.chi2 = trkChi2; trk.ndf = 2 * trackWeight; } // Remove trk from current vertex diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index 44e8f0d3012..ad33673f230 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -15,12 +15,9 @@ namespace Acts { -/// @class TrackAtVertex +/// @struct FittedMomentum /// -/// @brief Defines a track at vertex object -/// -/// @tparam input_track_t Track object type - +/// @brief Vertex fitters return a vertex position and updated track momenta at said position (+corresponding covariances). The updated track momenta and their covariances are saved in the following struct. struct FittedMomentum { FittedMomentum(Vector3 mom, std::optional> cov) : momentum(mom), covariance(cov) {} @@ -32,44 +29,47 @@ struct FittedMomentum { std::optional> covariance; }; +/// @struct TrackAtVertex +/// +/// @brief Defines a track at vertex object +/// +/// @tparam input_track_t Track object type template - struct TrackAtVertex { /// Deleted default constructor TrackAtVertex() = delete; - /// @brief Parameterized constructor + /// @brief Constructor used before the vertex fit (i.e., when we don't know the fitted momentum yet) /// - /// @param chi2perTrack Chi2 of track - /// @param paramsAtVertex Fitted perigee parameter + /// @param chi2PerTrack Chi2 of the track /// @param originalTrack Original perigee parameter - TrackAtVertex(double chi2perTrack, const BoundTrackParameters& paramsAtVertex, - const input_track_t* originalTrack) - : fittedParams(paramsAtVertex), - originalParams(originalTrack), - chi2Track(chi2perTrack) {} + TrackAtVertex(double chi2PerTrack, const input_track_t* originalTrack) + : originalParams(originalTrack), chi2(chi2PerTrack) {} - TrackAtVertex(double chi2perTrack, const BoundTrackParameters& paramsAtVertex, - const FittedMomentum& fittedMom, const input_track_t* originalTrack) - : fittedParams(paramsAtVertex), - fittedMomentum(fittedMom), - originalParams(originalTrack), - chi2Track(chi2perTrack) {} + /// @brief Constructor used before the vertex fit (i.e., when we don't know the fitted momentum yet) with default chi2 + /// + /// @param originalTrack Original perigee parameter + TrackAtVertex(const input_track_t* originalTrack) + : originalParams(originalTrack) {} - /// @brief Constructor with default chi2 + /// @brief Constructed used when we know the momentum after the fit /// - /// @param paramsAtVertex Fitted perigee parameter + /// @param chi2PerTrack Chi2 of the track + /// @param fittedMom updated momentum after the vertex fit /// @param originalTrack Original perigee parameter - TrackAtVertex(const BoundTrackParameters& paramsAtVertex, + TrackAtVertex(double chi2PerTrack, const FittedMomentum& fittedMom, const input_track_t* originalTrack) - : fittedParams(paramsAtVertex), originalParams(originalTrack) {} + : fittedMomentum(fittedMom), + originalParams(originalTrack), + chi2(chi2PerTrack) {} - TrackAtVertex(const BoundTrackParameters& paramsAtVertex, const FittedMomentum& fittedMom, + /// @brief Constructed used when we know the momentum after the fit with default chi2 + /// + /// @param fittedMom updated momentum after the vertex fit + /// @param originalTrack Original perigee parameter + TrackAtVertex(const FittedMomentum& fittedMom, const input_track_t* originalTrack) - : fittedParams(paramsAtVertex), fittedMomentum(fittedMom), originalParams(originalTrack) {} - - /// Fitted perigee - BoundTrackParameters fittedParams; + : fittedMomentum(fittedMom), originalParams(originalTrack) {} /// Momentum after vertex fit FittedMomentum fittedMomentum; @@ -77,8 +77,8 @@ struct TrackAtVertex { /// Original input parameters const input_track_t* originalParams; - /// Chi2 of track - double chi2Track = 0; + /// Chi2 of the track + double chi2 = 0; /// Number degrees of freedom /// Note: Can be different from integer value diff --git a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp index fcb7562fdff..a3478d75e9b 100644 --- a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp @@ -213,20 +213,18 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test) { int vtxIdx = (int)(iTrack / nTracksPerVtx); state.vtxInfoMap[&(vtxList[vtxIdx])].trackLinks.push_back( &(allTracks[iTrack])); - state.tracksAtVerticesMap.insert( - std::make_pair(std::make_pair(&(allTracks[iTrack]), &(vtxList[vtxIdx])), - TrackAtVertex( - 1., allTracks[iTrack], &(allTracks[iTrack])))); + state.tracksAtVerticesMap.insert(std::make_pair( + std::make_pair(&(allTracks[iTrack]), &(vtxList[vtxIdx])), + TrackAtVertex(1., &(allTracks[iTrack])))); // Use first track also for second vertex to let vtx1 and vtx2 // share this track if (iTrack == 0) { state.vtxInfoMap[&(vtxList.at(1))].trackLinks.push_back( &(allTracks[iTrack])); - state.tracksAtVerticesMap.insert( - std::make_pair(std::make_pair(&(allTracks[iTrack]), &(vtxList.at(1))), - TrackAtVertex( - 1., allTracks[iTrack], &(allTracks[iTrack])))); + state.tracksAtVerticesMap.insert(std::make_pair( + std::make_pair(&(allTracks[iTrack]), &(vtxList.at(1))), + TrackAtVertex(1., &(allTracks[iTrack])))); } } @@ -487,7 +485,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test_athena) { vtxInfo1.trackLinks.push_back(&trk); state.tracksAtVerticesMap.insert( std::make_pair(std::make_pair(&trk, &vtx1), - TrackAtVertex(1.5, trk, &trk))); + TrackAtVertex(1.5, &trk))); } // Prepare second vertex @@ -514,7 +512,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test_athena) { vtxInfo2.trackLinks.push_back(&trk); state.tracksAtVerticesMap.insert( std::make_pair(std::make_pair(&trk, &vtx2), - TrackAtVertex(1.5, trk, &trk))); + TrackAtVertex(1.5, &trk))); } state.vtxInfoMap[&vtx1] = std::move(vtxInfo1); diff --git a/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp b/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp index bf124b99bb8..8d57c4d77da 100644 --- a/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp @@ -241,8 +241,7 @@ BOOST_AUTO_TEST_CASE(iterative_finder_test) { tracks.push_back(std::make_unique(params)); - TrackAtVertex trAtVt(0., params, - tracks.back().get()); + TrackAtVertex trAtVt(0., tracks.back().get()); tracksAtTrueVtx.push_back(trAtVt); } @@ -460,7 +459,7 @@ BOOST_AUTO_TEST_CASE(iterative_finder_test_user_track_type) { auto params = extractParameters(paramsUT); - TrackAtVertex trAtVt(0., params, tracks.back().get()); + TrackAtVertex trAtVt(0., tracks.back().get()); tracksAtTrueVtx.push_back(trAtVt); } diff --git a/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp b/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp index ad896275b0c..5dbfcee7acd 100644 --- a/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp @@ -160,13 +160,13 @@ BOOST_AUTO_TEST_CASE(Kalman_Vertex_TrackUpdater) { .value(); // Create TrackAtVertex - TrackAtVertex trkAtVtx(0., params, ¶ms); + TrackAtVertex trkAtVtx(0., ¶ms); // Set linearized state of trackAtVertex trkAtVtx.linearizedState = linTrack; // Copy parameters for later comparison of old and new version - auto fittedParamsCopy = trkAtVtx.fittedParams; + auto fittedParamsCopy = params; // Create a vertex Vector3 vtxPos(vXYDist(gen), vXYDist(gen), vZDist(gen)); @@ -181,6 +181,7 @@ BOOST_AUTO_TEST_CASE(Kalman_Vertex_TrackUpdater) { .value(); // The new distance after update + /* double newDistance = ip3dEst .calculate3dDistance(geoContext, trkAtVtx.fittedParams, vtxPos, @@ -196,6 +197,7 @@ BOOST_AUTO_TEST_CASE(Kalman_Vertex_TrackUpdater) { // After update, track should be closer to the vertex BOOST_CHECK(newDistance < oldDistance); + */ } // end for loop diff --git a/Tests/UnitTests/Core/Vertexing/KalmanVertexUpdaterTests.cpp b/Tests/UnitTests/Core/Vertexing/KalmanVertexUpdaterTests.cpp index 0e3f2ea123d..62ea76021a6 100644 --- a/Tests/UnitTests/Core/Vertexing/KalmanVertexUpdaterTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/KalmanVertexUpdaterTests.cpp @@ -156,7 +156,7 @@ BOOST_AUTO_TEST_CASE(Kalman_Vertex_Updater) { .value(); // Create TrackAtVertex - TrackAtVertex trkAtVtx(0., params, ¶ms); + TrackAtVertex trkAtVtx(0., ¶ms); // Set linearized state of trackAtVertex trkAtVtx.linearizedState = linTrack; From 3a856a4baa6cf8b1d067e4cc831704cfa4371aff Mon Sep 17 00:00:00 2001 From: russofel Date: Fri, 11 Aug 2023 12:29:59 +0200 Subject: [PATCH 06/20] remove faulty fittedParams computation from Billoir vertex fitter --- .../Vertexing/FullBilloirVertexFitter.ipp | 59 ++----------------- .../FullBilloirVertexFitterTests.cpp | 2 - 2 files changed, 4 insertions(+), 57 deletions(-) diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp index 6ebffbc22a5..aa24f7c53a2 100644 --- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp +++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp @@ -212,12 +212,10 @@ Acts::FullBilloirVertexFitter::fit( Vector4 deltaV = covV * deltaVFac; //-------------------------------------------------------------------------------------- // start momentum related calculations - - std::vector> covDeltaP(nTracks); std::vector>> covP(nTracks); // Update track momenta and calculate the covariance of the track parameters - // after the fit (TODO: parameters -> momenta). + // after the fit. for (std::size_t iTrack = 0; iTrack < billoirTracks.size(); ++iTrack) { auto& billoirTrack = billoirTracks[iTrack]; @@ -240,45 +238,8 @@ Acts::FullBilloirVertexFitter::fit( // ... and add it to the total chi2 value newChi2 += billoirTrack.chi2; - // calculate the 6x6 cross-covariance matrix - // TODO: replace fittedParams with fittedMomentum since d0 and z0 are - // ill-defined. At the moment, only the submatrix of momentum covariances - // is correct. - - // coordinate transformation matrix, i.e., - // d(d0,z0,phi,theta,qOverP,t)/d(x,y,z,t,phi,theta,qOverP) - // TODO: This is not correct since the (x, y, z, t) in the derivatives in - // the D matrix correspond to the global track position at the PCA rather - // than the 4D vertex position. - ActsMatrix transMat; - transMat.setZero(); - transMat.block<2, 2>(0, 0) = billoirTrack.D.template block<2, 2>(0, 0); - transMat(1, 2) = 1.; - transMat(2, 4) = 1.; - transMat(3, 5) = 1.; - transMat(4, 6) = 1.; - transMat(5, 3) = 1.; - - // cov(V,P) - // TODO: This is incorrect (see Ref. (2)), but it will not be needed - // anyways once we replace fittedParams with fittedMomentum - ActsMatrix<4, 3> covVP = billoirTrack.B; - - // cov(P,P), 3x3 matrix - ActsSymMatrix<3> covPDummy = - billoirTrack.Cinv + - billoirTrack.BCinv.transpose() * covV * billoirTrack.BCinv; - - ActsSymMatrix<7> cov; - cov.setZero(); - cov.block<4, 4>(0, 0) = covV; - cov.block<4, 3>(0, 4) = covVP; - cov.block<3, 4>(4, 0) = covVP.transpose(); - cov.block<3, 3>(4, 4) = covPDummy; - - covP[iTrack] = covPDummy; - - covDeltaP[iTrack] = transMat * cov * transMat.transpose(); + // Covariance matrix of the refitted momentum, see Eq. 8.23 in Ref. (2). Be mindful of the different choice of notation! + covP[iTrack] = billoirTrack.Cinv + billoirTrack.BCinv.transpose() * covV * billoirTrack.BCinv; } // assign new linearization point (= new vertex position in global frame) @@ -318,19 +279,7 @@ Acts::FullBilloirVertexFitter::fit( for (std::size_t iTrack = 0; iTrack < billoirTracks.size(); ++iTrack) { const auto& billoirTrack = billoirTracks[iTrack]; - - // TODO: replace refittedParams with refittedMomenta since d0 and z0 - // after the vertex fit are ill-defined (FullBilloir only outputs the - // updated track momenta) - - // new refitted trackparameters - BoundVector paramVec = BoundVector::Zero(); - paramVec[eBoundPhi] = trackMomenta[iTrack](0); - paramVec[eBoundTheta] = trackMomenta[iTrack](1); - paramVec[eBoundQOverP] = trackMomenta[iTrack](2); - paramVec[eBoundTime] = linPoint[FreeIndices::eFreeTime]; - BoundTrackParameters refittedParams(perigee, paramVec, - covDeltaP[iTrack]); + // new refitted track momentum FittedMomentum fittedMomentum(trackMomenta[iTrack], covP[iTrack]); TrackAtVertex trackAtVertex( billoirTrack.chi2, fittedMomentum, billoirTrack.originalTrack); diff --git a/Tests/UnitTests/Core/Vertexing/FullBilloirVertexFitterTests.cpp b/Tests/UnitTests/Core/Vertexing/FullBilloirVertexFitterTests.cpp index e78479f8186..e56e39ec151 100644 --- a/Tests/UnitTests/Core/Vertexing/FullBilloirVertexFitterTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/FullBilloirVertexFitterTests.cpp @@ -260,8 +260,6 @@ BOOST_AUTO_TEST_CASE(billoir_vertex_fitter_defaulttrack_test) { auto fittedVertex = fitter.fit(trksPtr, lin, vfOpts, vfState).value(); if (!fittedVertex.tracks().empty()) { CHECK_CLOSE_ABS(fittedVertex.position(), trueVertex.head(3), 1_mm); - auto tracksAtVtx = fittedVertex.tracks(); - auto trackAtVtx = tracksAtVtx[0]; CHECK_CLOSE_ABS(fittedVertex.time(), trueVertex[3], 1_ns); } From 43f87d1186c76be65fca33a5189393f64ff88285 Mon Sep 17 00:00:00 2001 From: russofel Date: Fri, 11 Aug 2023 14:56:10 +0200 Subject: [PATCH 07/20] remove faulty fittedParams computation from Kalman filter vertex fitter --- .../Vertexing/FullBilloirVertexFitter.ipp | 6 +- .../Vertexing/KalmanVertexTrackUpdater.hpp | 18 ----- .../Vertexing/KalmanVertexTrackUpdater.ipp | 72 +------------------ 3 files changed, 7 insertions(+), 89 deletions(-) diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp index aa24f7c53a2..8004abf06dd 100644 --- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp +++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp @@ -238,8 +238,10 @@ Acts::FullBilloirVertexFitter::fit( // ... and add it to the total chi2 value newChi2 += billoirTrack.chi2; - // Covariance matrix of the refitted momentum, see Eq. 8.23 in Ref. (2). Be mindful of the different choice of notation! - covP[iTrack] = billoirTrack.Cinv + billoirTrack.BCinv.transpose() * covV * billoirTrack.BCinv; + // Covariance matrix of the refitted momentum, see Eq. 8.23 in Ref. (2). + // Be mindful of the different choice of notation! + covP[iTrack] = billoirTrack.Cinv + + billoirTrack.BCinv.transpose() * covV * billoirTrack.BCinv; } // assign new linearization point (= new vertex position in global frame) diff --git a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.hpp b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.hpp index 03148d091ac..7c94899f1d1 100644 --- a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.hpp +++ b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.hpp @@ -28,24 +28,6 @@ template void update(TrackAtVertex& track, const Vertex& vtx); -namespace detail { - -/// @brief reates a new covariance matrix for the -/// refitted track parameters -/// -/// @param sMat Track ovariance in momentum space -/// @param newTrkCov New track covariance matrixs -/// @param vtxWeight Vertex weight matrix -/// @param vtxCov Vertex covariance matrix -/// @param newTrkParams New track parameter -inline BoundMatrix createFullTrackCovariance(const SymMatrix3& sMat, - const ActsMatrix<4, 3>& newTrkCov, - const SymMatrix4& vtxWeight, - const SymMatrix4& vtxCov, - const BoundVector& newTrkParams); - -} // Namespace detail - } // Namespace KalmanVertexTrackUpdater } // Namespace Acts diff --git a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp index cae9775d05c..4d28aa68543 100644 --- a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp +++ b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp @@ -42,15 +42,11 @@ void Acts::KalmanVertexTrackUpdater::update(TrackAtVertex& track, Vector3 newTrkMomentum = sMat * momJac.transpose() * trkParamWeight * (trkParams - residual - posJac * vtxPos); - // Refit track parameters - BoundVector newTrkParams(BoundVector::Zero()); - // Get phi and theta and correct for possible periodicity changes const auto correctedPhiTheta = Acts::detail::normalizePhiTheta(newTrkMomentum(0), newTrkMomentum(1)); - newTrkParams(BoundIndices::eBoundPhi) = correctedPhiTheta.first; // phi - newTrkParams(BoundIndices::eBoundTheta) = correctedPhiTheta.second; // theta - newTrkParams(BoundIndices::eBoundQOverP) = newTrkMomentum(2); // qOverP + newTrkMomentum(0) = correctedPhiTheta.first; + newTrkMomentum(1) = correctedPhiTheta.second; // Vertex covariance and weight matrices const SymMatrix3 vtxCov = vtx.fullCovariance().template block<3, 3>(0, 0); @@ -81,27 +77,7 @@ void Acts::KalmanVertexTrackUpdater::update(TrackAtVertex& track, double chi2 = posDiff.dot(reducedVtxWeight * posDiff) + smParams.dot(trkParamWeight * smParams); - // Not yet 4d ready. This can be removed together will all head<> statements, - // once time is consistently introduced to vertexing - ActsMatrix<4, 3> newFullTrkCov(ActsMatrix<4, 3>::Zero()); - newFullTrkCov.block<3, 3>(0, 0) = newTrkCov; - - SymMatrix4 vtxFullWeight(SymMatrix4::Zero()); - vtxFullWeight.block<3, 3>(0, 0) = vtxWeight; - - SymMatrix4 vtxFullCov(SymMatrix4::Zero()); - vtxFullCov.block<3, 3>(0, 0) = vtxCov; - - Acts::BoundMatrix fullPerTrackCov = detail::createFullTrackCovariance( - sMat, newFullTrkCov, vtxFullWeight, vtxFullCov, newTrkParams); - - // Create new refitted parameters - std::shared_ptr perigeeSurface = - Surface::makeShared(vtx.position()); - - BoundTrackParameters refittedPerigee = BoundTrackParameters( - perigeeSurface, newTrkParams, std::move(fullPerTrackCov)); - + // Fitted momentum and its covariance matrix ActsSymMatrix<3> momCov = sMat + (newTrkCov).transpose() * (vtxWeight.block<3, 3>(0, 0) * newTrkCov); @@ -114,45 +90,3 @@ void Acts::KalmanVertexTrackUpdater::update(TrackAtVertex& track, return; } - -inline Acts::BoundMatrix -Acts::KalmanVertexTrackUpdater::detail::createFullTrackCovariance( - const SymMatrix3& sMat, const ActsMatrix<4, 3>& newTrkCov, - const SymMatrix4& vtxWeight, const SymMatrix4& vtxCov, - const BoundVector& newTrkParams) { - // Now new momentum covariance - ActsSymMatrix<3> momCov = - sMat + (newTrkCov.block<3, 3>(0, 0)).transpose() * - (vtxWeight.block<3, 3>(0, 0) * newTrkCov.block<3, 3>(0, 0)); - - // Full (x,y,z,phi, theta, q/p) covariance matrix - // To be made 7d again after switching to (x,y,z,phi, theta, q/p, t) - ActsSymMatrix<6> fullTrkCov(ActsSymMatrix<6>::Zero()); - - fullTrkCov.block<3, 3>(0, 0) = vtxCov.block<3, 3>(0, 0); - fullTrkCov.block<3, 3>(0, 3) = newTrkCov.block<3, 3>(0, 0); - fullTrkCov.block<3, 3>(3, 0) = (newTrkCov.block<3, 3>(0, 0)).transpose(); - fullTrkCov.block<3, 3>(3, 3) = momCov; - - // Combined track jacobian - ActsMatrix<5, 6> trkJac(ActsMatrix<5, 6>::Zero()); - - // First row - trkJac(0, 0) = -std::sin(newTrkParams[2]); - trkJac(0, 1) = std::cos(newTrkParams[2]); - - double tanTheta = std::tan(newTrkParams[3]); - - // Second row - trkJac(1, 0) = -trkJac(0, 1) / tanTheta; - trkJac(1, 1) = trkJac(0, 0) / tanTheta; - - trkJac.block<4, 4>(1, 2) = ActsMatrix<4, 4>::Identity(); - - // Full perigee track covariance - BoundMatrix fullPerTrackCov(BoundMatrix::Identity()); - fullPerTrackCov.block<5, 5>(0, 0) = - (trkJac * (fullTrkCov * trkJac.transpose())); - - return fullPerTrackCov; -} From 50a6f4e49cbd01fd6613b1eb12b9aa5522a2bcfe Mon Sep 17 00:00:00 2001 From: russofel Date: Fri, 11 Aug 2023 15:33:06 +0200 Subject: [PATCH 08/20] make FittedMomentum optional --- .../Acts/Vertexing/FullBilloirVertexFitter.ipp | 7 ++++--- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 13 +++++-------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp index 8004abf06dd..3ed32c28a08 100644 --- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp +++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp @@ -212,7 +212,7 @@ Acts::FullBilloirVertexFitter::fit( Vector4 deltaV = covV * deltaVFac; //-------------------------------------------------------------------------------------- // start momentum related calculations - std::vector>> covP(nTracks); + std::vector> covP(nTracks); // Update track momenta and calculate the covariance of the track parameters // after the fit. @@ -283,8 +283,9 @@ Acts::FullBilloirVertexFitter::fit( const auto& billoirTrack = billoirTracks[iTrack]; // new refitted track momentum FittedMomentum fittedMomentum(trackMomenta[iTrack], covP[iTrack]); - TrackAtVertex trackAtVertex( - billoirTrack.chi2, fittedMomentum, billoirTrack.originalTrack); + TrackAtVertex trackAtVertex(billoirTrack.chi2, + std::move(fittedMomentum), + billoirTrack.originalTrack); tracksAtVertex.push_back(std::move(trackAtVertex)); } diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index ad33673f230..173af3fce1a 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -19,14 +19,11 @@ namespace Acts { /// /// @brief Vertex fitters return a vertex position and updated track momenta at said position (+corresponding covariances). The updated track momenta and their covariances are saved in the following struct. struct FittedMomentum { - FittedMomentum(Vector3 mom, std::optional> cov) + FittedMomentum(Vector3 mom, ActsSymMatrix<3> cov) : momentum(mom), covariance(cov) {} - FittedMomentum() : momentum(Vector3::Zero()), covariance(std::nullopt) {} - Vector3 momentum; - // TODO: do we even need the optional? - std::optional> covariance; + ActsSymMatrix<3> covariance; }; /// @struct TrackAtVertex @@ -57,7 +54,7 @@ struct TrackAtVertex { /// @param chi2PerTrack Chi2 of the track /// @param fittedMom updated momentum after the vertex fit /// @param originalTrack Original perigee parameter - TrackAtVertex(double chi2PerTrack, const FittedMomentum& fittedMom, + TrackAtVertex(double chi2PerTrack, std::optional fittedMom, const input_track_t* originalTrack) : fittedMomentum(fittedMom), originalParams(originalTrack), @@ -67,12 +64,12 @@ struct TrackAtVertex { /// /// @param fittedMom updated momentum after the vertex fit /// @param originalTrack Original perigee parameter - TrackAtVertex(const FittedMomentum& fittedMom, + TrackAtVertex(std::optional fittedMom, const input_track_t* originalTrack) : fittedMomentum(fittedMom), originalParams(originalTrack) {} /// Momentum after vertex fit - FittedMomentum fittedMomentum; + std::optional fittedMomentum; /// Original input parameters const input_track_t* originalParams; From 4111003c414544818e32f5975f49ca8f25b11f30 Mon Sep 17 00:00:00 2001 From: russofel Date: Fri, 11 Aug 2023 15:56:10 +0200 Subject: [PATCH 09/20] improve order of TrackAtVertex arguments --- .../Vertexing/FullBilloirVertexFitter.ipp | 4 +-- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 26 +++++++++---------- .../AdaptiveMultiVertexFitterTests.cpp | 8 +++--- .../Vertexing/IterativeVertexFinderTests.cpp | 4 +-- .../KalmanVertexTrackUpdaterTests.cpp | 2 +- .../Vertexing/KalmanVertexUpdaterTests.cpp | 2 +- 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp index 3ed32c28a08..f053309e63f 100644 --- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp +++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp @@ -283,9 +283,9 @@ Acts::FullBilloirVertexFitter::fit( const auto& billoirTrack = billoirTracks[iTrack]; // new refitted track momentum FittedMomentum fittedMomentum(trackMomenta[iTrack], covP[iTrack]); - TrackAtVertex trackAtVertex(billoirTrack.chi2, + TrackAtVertex trackAtVertex(billoirTrack.originalTrack, std::move(fittedMomentum), - billoirTrack.originalTrack); + billoirTrack.chi2); tracksAtVertex.push_back(std::move(trackAtVertex)); } diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index 173af3fce1a..c6af9a90dca 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -40,7 +40,7 @@ struct TrackAtVertex { /// /// @param chi2PerTrack Chi2 of the track /// @param originalTrack Original perigee parameter - TrackAtVertex(double chi2PerTrack, const input_track_t* originalTrack) + TrackAtVertex(const input_track_t* originalTrack, double chi2PerTrack) : originalParams(originalTrack), chi2(chi2PerTrack) {} /// @brief Constructor used before the vertex fit (i.e., when we don't know the fitted momentum yet) with default chi2 @@ -49,31 +49,31 @@ struct TrackAtVertex { TrackAtVertex(const input_track_t* originalTrack) : originalParams(originalTrack) {} - /// @brief Constructed used when we know the momentum after the fit + /// @brief Constructor used when we know the momentum after the fit /// /// @param chi2PerTrack Chi2 of the track /// @param fittedMom updated momentum after the vertex fit /// @param originalTrack Original perigee parameter - TrackAtVertex(double chi2PerTrack, std::optional fittedMom, - const input_track_t* originalTrack) - : fittedMomentum(fittedMom), - originalParams(originalTrack), + TrackAtVertex(const input_track_t* originalTrack, + std::optional fittedMom, double chi2PerTrack) + : originalParams(originalTrack), + fittedMomentum(fittedMom), chi2(chi2PerTrack) {} - /// @brief Constructed used when we know the momentum after the fit with default chi2 + /// @brief Constructor used when we know the momentum after the fit with default chi2 /// /// @param fittedMom updated momentum after the vertex fit /// @param originalTrack Original perigee parameter - TrackAtVertex(std::optional fittedMom, - const input_track_t* originalTrack) - : fittedMomentum(fittedMom), originalParams(originalTrack) {} + TrackAtVertex(const input_track_t* originalTrack, + std::optional fittedMom) + : originalParams(originalTrack), fittedMomentum(fittedMom) {} + + /// Original track parameters + const input_track_t* originalParams; /// Momentum after vertex fit std::optional fittedMomentum; - /// Original input parameters - const input_track_t* originalParams; - /// Chi2 of the track double chi2 = 0; diff --git a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp index a3478d75e9b..3049e2b37e5 100644 --- a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp @@ -215,7 +215,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test) { &(allTracks[iTrack])); state.tracksAtVerticesMap.insert(std::make_pair( std::make_pair(&(allTracks[iTrack]), &(vtxList[vtxIdx])), - TrackAtVertex(1., &(allTracks[iTrack])))); + TrackAtVertex(&(allTracks[iTrack]), 1.))); // Use first track also for second vertex to let vtx1 and vtx2 // share this track @@ -224,7 +224,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test) { &(allTracks[iTrack])); state.tracksAtVerticesMap.insert(std::make_pair( std::make_pair(&(allTracks[iTrack]), &(vtxList.at(1))), - TrackAtVertex(1., &(allTracks[iTrack])))); + TrackAtVertex(&(allTracks[iTrack]), 1.))); } } @@ -485,7 +485,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test_athena) { vtxInfo1.trackLinks.push_back(&trk); state.tracksAtVerticesMap.insert( std::make_pair(std::make_pair(&trk, &vtx1), - TrackAtVertex(1.5, &trk))); + TrackAtVertex(&trk, 1.5))); } // Prepare second vertex @@ -512,7 +512,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test_athena) { vtxInfo2.trackLinks.push_back(&trk); state.tracksAtVerticesMap.insert( std::make_pair(std::make_pair(&trk, &vtx2), - TrackAtVertex(1.5, &trk))); + TrackAtVertex(&trk, 1.5))); } state.vtxInfoMap[&vtx1] = std::move(vtxInfo1); diff --git a/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp b/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp index 8d57c4d77da..55ed3ab3f07 100644 --- a/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp @@ -241,7 +241,7 @@ BOOST_AUTO_TEST_CASE(iterative_finder_test) { tracks.push_back(std::make_unique(params)); - TrackAtVertex trAtVt(0., tracks.back().get()); + TrackAtVertex trAtVt(tracks.back().get(), 0.); tracksAtTrueVtx.push_back(trAtVt); } @@ -459,7 +459,7 @@ BOOST_AUTO_TEST_CASE(iterative_finder_test_user_track_type) { auto params = extractParameters(paramsUT); - TrackAtVertex trAtVt(0., tracks.back().get()); + TrackAtVertex trAtVt(tracks.back().get(), 0.); tracksAtTrueVtx.push_back(trAtVt); } diff --git a/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp b/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp index 5dbfcee7acd..72dd62caf2b 100644 --- a/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp @@ -160,7 +160,7 @@ BOOST_AUTO_TEST_CASE(Kalman_Vertex_TrackUpdater) { .value(); // Create TrackAtVertex - TrackAtVertex trkAtVtx(0., ¶ms); + TrackAtVertex trkAtVtx(¶ms, 0.); // Set linearized state of trackAtVertex trkAtVtx.linearizedState = linTrack; diff --git a/Tests/UnitTests/Core/Vertexing/KalmanVertexUpdaterTests.cpp b/Tests/UnitTests/Core/Vertexing/KalmanVertexUpdaterTests.cpp index 62ea76021a6..e3fbda337f6 100644 --- a/Tests/UnitTests/Core/Vertexing/KalmanVertexUpdaterTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/KalmanVertexUpdaterTests.cpp @@ -156,7 +156,7 @@ BOOST_AUTO_TEST_CASE(Kalman_Vertex_Updater) { .value(); // Create TrackAtVertex - TrackAtVertex trkAtVtx(0., ¶ms); + TrackAtVertex trkAtVtx(¶ms, 0.); // Set linearized state of trackAtVertex trkAtVtx.linearizedState = linTrack; From a7d68baa8194c51d326d791c8645d0e2d5a00133 Mon Sep 17 00:00:00 2001 From: russofel Date: Fri, 11 Aug 2023 16:31:23 +0200 Subject: [PATCH 10/20] update unit test --- .../KalmanVertexTrackUpdaterTests.cpp | 30 ++----------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp b/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp index 72dd62caf2b..8b53a5000b7 100644 --- a/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/KalmanVertexTrackUpdaterTests.cpp @@ -165,9 +165,6 @@ BOOST_AUTO_TEST_CASE(Kalman_Vertex_TrackUpdater) { // Set linearized state of trackAtVertex trkAtVtx.linearizedState = linTrack; - // Copy parameters for later comparison of old and new version - auto fittedParamsCopy = params; - // Create a vertex Vector3 vtxPos(vXYDist(gen), vXYDist(gen), vZDist(gen)); Vertex vtx(vtxPos); @@ -175,30 +172,9 @@ BOOST_AUTO_TEST_CASE(Kalman_Vertex_TrackUpdater) { // Update trkAtVertex with assumption of originating from vtx KalmanVertexTrackUpdater::update(trkAtVtx, vtx); - // The old distance - double oldDistance = - ip3dEst.calculate3dDistance(geoContext, fittedParamsCopy, vtxPos, state) - .value(); - - // The new distance after update - /* - double newDistance = - ip3dEst - .calculate3dDistance(geoContext, trkAtVtx.fittedParams, vtxPos, - state) - .value(); - if (debug) { - std::cout << "Old distance: " << oldDistance << std::endl; - std::cout << "New distance: " << newDistance << std::endl; - } - - // Parameters should have changed - BOOST_CHECK_NE(fittedParamsCopy, trkAtVtx.fittedParams); - - // After update, track should be closer to the vertex - BOOST_CHECK(newDistance < oldDistance); - */ - + // Momentum should have changed + BOOST_CHECK_NE(paramVec.segment<3>(eBoundPhi), + trkAtVtx.fittedMomentum.value().momentum); } // end for loop } // end test case From 22a1c4291923ec4e06d79b586db71c439feded7e Mon Sep 17 00:00:00 2001 From: russofel Date: Mon, 14 Aug 2023 11:09:17 +0200 Subject: [PATCH 11/20] use fittedMomentum in VertexPerformanceWriter --- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 2 +- .../Performance/VertexPerformanceWriter.cpp | 61 +++++++++---------- 2 files changed, 30 insertions(+), 33 deletions(-) diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index c6af9a90dca..d6a544e94a5 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -71,7 +71,7 @@ struct TrackAtVertex { /// Original track parameters const input_track_t* originalParams; - /// Momentum after vertex fit + /// Momentum after the vertex fit std::optional fittedMomentum; /// Chi2 of the track diff --git a/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp b/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp index d2909852827..905921f14cd 100644 --- a/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp +++ b/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp @@ -673,38 +673,35 @@ ActsExamples::ProcessCode ActsExamples::VertexPerformanceWriter::writeT( } // Save track parameters after the vertex fit - const auto paramsAtVtxFitted = propagateToVtx(trk.fittedParams); - if (paramsAtVtxFitted != std::nullopt) { - Acts::ActsVector<3> recoMomFitted = - paramsAtVtxFitted->parameters().segment(Acts::eBoundPhi, 3); - const Acts::ActsMatrix<3, 3>& momCovFitted = - paramsAtVtxFitted->covariance()->block<3, 3>( - Acts::eBoundPhi, Acts::eBoundPhi); - innerRecoPhiFitted.push_back(recoMomFitted[0]); - innerRecoThetaFitted.push_back(recoMomFitted[1]); - innerRecoQOverPFitted.push_back(recoMomFitted[2]); - - Acts::ActsVector<3> diffMomFitted = recoMomFitted - trueMom; - // Accounting for the periodicity of phi. We overwrite the - // previously computed value for better readability. - diffMomFitted[0] = Acts::detail::difference_periodic( - recoMomFitted(0), trueMom(0), 2 * M_PI); - innerResPhiFitted.push_back(diffMomFitted[0]); - innerResThetaFitted.push_back(diffMomFitted[1]); - innerResQOverPFitted.push_back(diffMomFitted[2]); - - innerPullPhiFitted.push_back( - pull(diffMomFitted[0], momCovFitted(0, 0), "phi")); - innerPullThetaFitted.push_back( - pull(diffMomFitted[1], momCovFitted(1, 1), "theta")); - innerPullQOverPFitted.push_back( - pull(diffMomFitted[2], momCovFitted(2, 2), "q/p")); - - const auto& recoUnitDirFitted = - paramsAtVtxFitted->unitDirection(); - double overlapFitted = trueUnitDir.dot(recoUnitDirFitted); - innerMomOverlapFitted.push_back(overlapFitted); - } + Acts::ActsVector<3> recoMomFitted = + trk.fittedMomentum.value().momentum; + const Acts::ActsMatrix<3, 3>& momCovFitted = + trk.fittedMomentum.value().covariance; + innerRecoPhiFitted.push_back(recoMomFitted[0]); + innerRecoThetaFitted.push_back(recoMomFitted[1]); + innerRecoQOverPFitted.push_back(recoMomFitted[2]); + + Acts::ActsVector<3> diffMomFitted = recoMomFitted - trueMom; + // Accounting for the periodicity of phi. We overwrite the + // previously computed value for better readability. + diffMomFitted[0] = Acts::detail::difference_periodic( + recoMomFitted(0), trueMom(0), 2 * M_PI); + innerResPhiFitted.push_back(diffMomFitted[0]); + innerResThetaFitted.push_back(diffMomFitted[1]); + innerResQOverPFitted.push_back(diffMomFitted[2]); + + innerPullPhiFitted.push_back( + pull(diffMomFitted[0], momCovFitted(0, 0), "phi")); + innerPullThetaFitted.push_back( + pull(diffMomFitted[1], momCovFitted(1, 1), "theta")); + innerPullQOverPFitted.push_back( + pull(diffMomFitted[2], momCovFitted(2, 2), "q/p")); + + const auto& recoUnitDirFitted = + Acts::makeDirectionUnitFromPhiTheta(recoMomFitted[0], + recoMomFitted[1]); + double overlapFitted = trueUnitDir.dot(recoUnitDirFitted); + innerMomOverlapFitted.push_back(overlapFitted); } } count++; From aeb9cedc1680d8c637374f833f0485ad467b5b1d Mon Sep 17 00:00:00 2001 From: russofel Date: Mon, 14 Aug 2023 11:53:07 +0200 Subject: [PATCH 12/20] check if fittedMomentum is set before saving it --- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 2 +- .../Performance/VertexPerformanceWriter.cpp | 62 ++++++++++--------- 2 files changed, 34 insertions(+), 30 deletions(-) diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index d6a544e94a5..99b5b16bb0f 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -72,7 +72,7 @@ struct TrackAtVertex { const input_track_t* originalParams; /// Momentum after the vertex fit - std::optional fittedMomentum; + std::optional fittedMomentum = std::nullopt; /// Chi2 of the track double chi2 = 0; diff --git a/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp b/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp index 905921f14cd..795ea00e6d1 100644 --- a/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp +++ b/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp @@ -673,35 +673,39 @@ ActsExamples::ProcessCode ActsExamples::VertexPerformanceWriter::writeT( } // Save track parameters after the vertex fit - Acts::ActsVector<3> recoMomFitted = - trk.fittedMomentum.value().momentum; - const Acts::ActsMatrix<3, 3>& momCovFitted = - trk.fittedMomentum.value().covariance; - innerRecoPhiFitted.push_back(recoMomFitted[0]); - innerRecoThetaFitted.push_back(recoMomFitted[1]); - innerRecoQOverPFitted.push_back(recoMomFitted[2]); - - Acts::ActsVector<3> diffMomFitted = recoMomFitted - trueMom; - // Accounting for the periodicity of phi. We overwrite the - // previously computed value for better readability. - diffMomFitted[0] = Acts::detail::difference_periodic( - recoMomFitted(0), trueMom(0), 2 * M_PI); - innerResPhiFitted.push_back(diffMomFitted[0]); - innerResThetaFitted.push_back(diffMomFitted[1]); - innerResQOverPFitted.push_back(diffMomFitted[2]); - - innerPullPhiFitted.push_back( - pull(diffMomFitted[0], momCovFitted(0, 0), "phi")); - innerPullThetaFitted.push_back( - pull(diffMomFitted[1], momCovFitted(1, 1), "theta")); - innerPullQOverPFitted.push_back( - pull(diffMomFitted[2], momCovFitted(2, 2), "q/p")); - - const auto& recoUnitDirFitted = - Acts::makeDirectionUnitFromPhiTheta(recoMomFitted[0], - recoMomFitted[1]); - double overlapFitted = trueUnitDir.dot(recoUnitDirFitted); - innerMomOverlapFitted.push_back(overlapFitted); + if (trk.fittedMomentum != std::nullopt) { + Acts::ActsVector<3> recoMomFitted = + trk.fittedMomentum.value().momentum; + const Acts::ActsMatrix<3, 3>& momCovFitted = + trk.fittedMomentum.value().covariance; + innerRecoPhiFitted.push_back(recoMomFitted[0]); + innerRecoThetaFitted.push_back(recoMomFitted[1]); + innerRecoQOverPFitted.push_back(recoMomFitted[2]); + + Acts::ActsVector<3> diffMomFitted = recoMomFitted - trueMom; + // Accounting for the periodicity of phi. We overwrite the + // previously computed value for better readability. + diffMomFitted[0] = Acts::detail::difference_periodic( + recoMomFitted(0), trueMom(0), 2 * M_PI); + innerResPhiFitted.push_back(diffMomFitted[0]); + innerResThetaFitted.push_back(diffMomFitted[1]); + innerResQOverPFitted.push_back(diffMomFitted[2]); + + innerPullPhiFitted.push_back( + pull(diffMomFitted[0], momCovFitted(0, 0), "phi")); + innerPullThetaFitted.push_back( + pull(diffMomFitted[1], momCovFitted(1, 1), "theta")); + innerPullQOverPFitted.push_back( + pull(diffMomFitted[2], momCovFitted(2, 2), "q/p")); + + const auto& recoUnitDirFitted = + Acts::makeDirectionUnitFromPhiTheta(recoMomFitted[0], + recoMomFitted[1]); + double overlapFitted = trueUnitDir.dot(recoUnitDirFitted); + innerMomOverlapFitted.push_back(overlapFitted); + } else { + ACTS_WARNING("No fitted track momentum found!"); + } } } count++; From b5ade63594ab395dfc3fdf49fbc57e3b3342cf0a Mon Sep 17 00:00:00 2001 From: felix-russo <72298366+felix-russo@users.noreply.github.com> Date: Tue, 15 Aug 2023 15:05:58 +0200 Subject: [PATCH 13/20] Apply suggestions from code review Co-authored-by: Andreas Stefl --- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 2 +- .../ActsExamples/Io/Performance/VertexPerformanceWriter.cpp | 6 +++--- .../Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index 99b5b16bb0f..0cd8c9d99c6 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -19,7 +19,7 @@ namespace Acts { /// /// @brief Vertex fitters return a vertex position and updated track momenta at said position (+corresponding covariances). The updated track momenta and their covariances are saved in the following struct. struct FittedMomentum { - FittedMomentum(Vector3 mom, ActsSymMatrix<3> cov) + FittedMomentum(const Vector3& mom, const ActsSymMatrix<3>& cov) : momentum(mom), covariance(cov) {} Vector3 momentum; diff --git a/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp b/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp index 795ea00e6d1..3b05eb89a68 100644 --- a/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp +++ b/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp @@ -673,11 +673,11 @@ ActsExamples::ProcessCode ActsExamples::VertexPerformanceWriter::writeT( } // Save track parameters after the vertex fit - if (trk.fittedMomentum != std::nullopt) { + if (trk.fittedMomentum) { Acts::ActsVector<3> recoMomFitted = - trk.fittedMomentum.value().momentum; + trk.fittedMomentum->momentum; const Acts::ActsMatrix<3, 3>& momCovFitted = - trk.fittedMomentum.value().covariance; + trk.fittedMomentum->covariance; innerRecoPhiFitted.push_back(recoMomFitted[0]); innerRecoThetaFitted.push_back(recoMomFitted[1]); innerRecoQOverPFitted.push_back(recoMomFitted[2]); diff --git a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp index 3049e2b37e5..7befe4be521 100644 --- a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp @@ -214,8 +214,8 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test) { state.vtxInfoMap[&(vtxList[vtxIdx])].trackLinks.push_back( &(allTracks[iTrack])); state.tracksAtVerticesMap.insert(std::make_pair( - std::make_pair(&(allTracks[iTrack]), &(vtxList[vtxIdx])), - TrackAtVertex(&(allTracks[iTrack]), 1.))); + std::make_pair(&allTracks[iTrack], &vtxList[vtxIdx]), + TrackAtVertex(&allTracks[iTrack], 1.))); // Use first track also for second vertex to let vtx1 and vtx2 // share this track From f3a5b50ff4b5b18c0c53d4892fcc978f4b9e01ee Mon Sep 17 00:00:00 2001 From: russofel Date: Tue, 15 Aug 2023 16:00:19 +0200 Subject: [PATCH 14/20] improve comments and variable names --- .../Vertexing/AdaptiveMultiVertexFinder.ipp | 6 +++--- .../Vertexing/AdaptiveMultiVertexFitter.ipp | 8 ++++---- .../Acts/Vertexing/IterativeVertexFinder.ipp | 6 +++--- .../Vertexing/KalmanVertexTrackUpdater.ipp | 4 ++-- .../Acts/Vertexing/KalmanVertexUpdater.ipp | 4 ++-- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 17 ++++++++++++----- .../Io/Performance/VertexPerformanceWriter.cpp | 2 +- .../AdaptiveMultiVertexFinderTests.cpp | 4 ++-- .../AdaptiveMultiVertexFitterTests.cpp | 18 ++++++++---------- .../Vertexing/IterativeVertexFinderTests.cpp | 2 +- 10 files changed, 38 insertions(+), 33 deletions(-) diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp index 32d227e9082..88e03734051 100644 --- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp +++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp @@ -358,7 +358,7 @@ auto Acts::AdaptiveMultiVertexFinder:: fitterState.tracksAtVerticesMap.at(std::make_pair(trk, &vtx)); if ((trkAtVtx.vertexCompatibility < m_cfg.maxVertexChi2 && m_cfg.useFastCompatibility) || - (trkAtVtx.trackWeight > m_cfg.minWeight && + (trkAtVtx.weight > m_cfg.minWeight && trkAtVtx.chi2 < m_cfg.maxVertexChi2 && !m_cfg.useFastCompatibility)) { // TODO: Understand why looking for compatible tracks only in seed tracks // and not also in all tracks @@ -395,7 +395,7 @@ auto Acts::AdaptiveMultiVertexFinder:: fitterState.tracksAtVerticesMap.at(std::make_pair(trk, &vtx)); if ((trkAtVtx.vertexCompatibility < m_cfg.maxVertexChi2 && m_cfg.useFastCompatibility) || - (trkAtVtx.trackWeight > m_cfg.minWeight && + (trkAtVtx.weight > m_cfg.minWeight && trkAtVtx.chi2 < m_cfg.maxVertexChi2 && !m_cfg.useFastCompatibility)) { // Find and remove track from seedTracks auto foundSeedIter = @@ -478,7 +478,7 @@ auto Acts::AdaptiveMultiVertexFinder::keepNewVertex( for (const auto& trk : fitterState.vtxInfoMap[&vtx].trackLinks) { const auto& trkAtVtx = fitterState.tracksAtVerticesMap.at(std::make_pair(trk, &vtx)); - double trackWeight = trkAtVtx.trackWeight; + double trackWeight = trkAtVtx.weight; contaminationNum += trackWeight * (1. - trackWeight); contaminationDeNom += trackWeight * trackWeight; } diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.ipp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.ipp index 502c8ffb64b..4b0268ae1d1 100644 --- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.ipp +++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFitter.ipp @@ -260,13 +260,13 @@ Acts::Result Acts:: for (const auto& trk : currentVtxInfo.trackLinks) { auto& trkAtVtx = state.tracksAtVerticesMap.at(std::make_pair(trk, vtx)); - // Set trackWeight for current track + // Set weight for current track double currentTrkWeight = m_cfg.annealingTool.getWeight( state.annealingState, trkAtVtx.vertexCompatibility, collectTrackToVertexCompatibilities(state, trk)); - trkAtVtx.trackWeight = currentTrkWeight; + trkAtVtx.weight = currentTrkWeight; - if (trkAtVtx.trackWeight > m_cfg.minWeight) { + if (trkAtVtx.weight > m_cfg.minWeight) { // Check if linearization state exists or need to be relinearized if (not trkAtVtx.isLinearized || state.vtxInfoMap[vtx].relinearize) { auto result = linearizer.linearizeTrack( @@ -337,7 +337,7 @@ void Acts::AdaptiveMultiVertexFitter< for (const auto vtx : state.vertexCollection) { for (const auto trk : state.vtxInfoMap[vtx].trackLinks) { auto& trkAtVtx = state.tracksAtVerticesMap.at(std::make_pair(trk, vtx)); - if (trkAtVtx.trackWeight > m_cfg.minWeight) { + if (trkAtVtx.weight > m_cfg.minWeight) { KalmanVertexTrackUpdater::update(trkAtVtx, *vtx); } } diff --git a/Core/include/Acts/Vertexing/IterativeVertexFinder.ipp b/Core/include/Acts/Vertexing/IterativeVertexFinder.ipp index 3ff275ba46d..9c5ce6040bb 100644 --- a/Core/include/Acts/Vertexing/IterativeVertexFinder.ipp +++ b/Core/include/Acts/Vertexing/IterativeVertexFinder.ipp @@ -262,7 +262,7 @@ Acts::IterativeVertexFinder::removeUsedCompatibleTracks( for (const auto& trackAtVtx : tracksAtVertex) { // Check compatibility - if (trackAtVtx.trackWeight < m_cfg.cutOffTrackWeight) { + if (trackAtVtx.weight < m_cfg.cutOffTrackWeight) { // Do not remove track here, since it is not compatible with the vertex continue; } @@ -437,7 +437,7 @@ Acts::IterativeVertexFinder::reassignTracksToNewVertex( for (auto tracksIter = tracksBegin; tracksIter != tracksEnd;) { // consider only tracks that are not too tightly assigned to other // vertex - if (tracksIter->trackWeight > m_cfg.cutOffTrackWeightReassign) { + if (tracksIter->weight > m_cfg.cutOffTrackWeightReassign) { tracksIter++; continue; } @@ -545,6 +545,6 @@ int Acts::IterativeVertexFinder::countSignificantTracks( const Vertex& vtx) const { return std::count_if(vtx.tracks().begin(), vtx.tracks().end(), [this](TrackAtVertex trk) { - return trk.trackWeight > m_cfg.cutOffTrackWeight; + return trk.weight > m_cfg.cutOffTrackWeight; }); } diff --git a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp index 4d28aa68543..60175d0676e 100644 --- a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp +++ b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp @@ -60,7 +60,7 @@ void Acts::KalmanVertexTrackUpdater::update(TrackAtVertex& track, // Now determine the smoothed chi2 of the track in the following KalmanVertexUpdater::updatePosition( - vtx, linTrack, track.trackWeight, -1, matrixCache); + vtx, linTrack, track.weight, -1, matrixCache); // Corresponding weight matrix const SymMatrix3& reducedVtxWeight = matrixCache.newVertexWeight; @@ -86,7 +86,7 @@ void Acts::KalmanVertexTrackUpdater::update(TrackAtVertex& track, // Set new properties track.fittedMomentum = fittedMom; track.chi2 = chi2; - track.ndf = 2 * track.trackWeight; + track.ndf = 2 * track.weight; return; } diff --git a/Core/include/Acts/Vertexing/KalmanVertexUpdater.ipp b/Core/include/Acts/Vertexing/KalmanVertexUpdater.ipp index c21efd60af9..c61962443d2 100644 --- a/Core/include/Acts/Vertexing/KalmanVertexUpdater.ipp +++ b/Core/include/Acts/Vertexing/KalmanVertexUpdater.ipp @@ -19,7 +19,7 @@ void Acts::KalmanVertexUpdater::updateVertexWithTrack( template void Acts::KalmanVertexUpdater::detail::update( Vertex& vtx, TrackAtVertex& trk, int sign) { - double trackWeight = trk.trackWeight; + double trackWeight = trk.weight; MatrixCache matrixCache; @@ -56,7 +56,7 @@ void Acts::KalmanVertexUpdater::detail::update( } // Remove trk from current vertex if (sign < 0) { - trk.trackWeight = 0; + trk.weight = 0; } } diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index 0cd8c9d99c6..caed5d80766 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -17,7 +17,9 @@ namespace Acts { /// @struct FittedMomentum /// -/// @brief Vertex fitters return a vertex position and updated track momenta at said position (+corresponding covariances). The updated track momenta and their covariances are saved in the following struct. +/// @brief Vertex fitters return a vertex position and updated track momenta at said position +/// (+corresponding covariances). The updated track momenta and their +/// covariances are saved in the following struct. struct FittedMomentum { FittedMomentum(const Vector3& mom, const ActsSymMatrix<3>& cov) : momentum(mom), covariance(cov) {} @@ -72,15 +74,20 @@ struct TrackAtVertex { const input_track_t* originalParams; /// Momentum after the vertex fit + /// The full track parameters after the vertex fit are: + /// d0 = 0, + /// z0 = 0, + /// phi = fittedMomentum.momentum(0), + /// theta = fittedMomentum.momentum(1), + /// qOverP = fittedMomentum.momentum(2). std::optional fittedMomentum = std::nullopt; /// Chi2 of the track double chi2 = 0; /// Number degrees of freedom - /// Note: Can be different from integer value - /// since annealing can result in effective - /// non-interger values + /// Note: Can be different from integer value since annealing can result in + /// effective non-integer values. double ndf = 0; /// Value of the compatibility of the track to the actual vertex, based @@ -88,7 +95,7 @@ struct TrackAtVertex { double vertexCompatibility = 0; /// Weight of track in fit - double trackWeight = 1; + double weight = 1; /// The linearized state of the track at vertex LinearizedTrack linearizedState; diff --git a/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp b/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp index 3b05eb89a68..06c4fd1ba74 100644 --- a/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp +++ b/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp @@ -673,7 +673,7 @@ ActsExamples::ProcessCode ActsExamples::VertexPerformanceWriter::writeT( } // Save track parameters after the vertex fit - if (trk.fittedMomentum) { + if (trk.fittedMomentum.has_value()) { Acts::ActsVector<3> recoMomFitted = trk.fittedMomentum->momentum; const Acts::ActsMatrix<3, 3>& momCovFitted = diff --git a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFinderTests.cpp b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFinderTests.cpp index b4314bba723..5c646928c5e 100644 --- a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFinderTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFinderTests.cpp @@ -198,7 +198,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_finder_test) { CHECK_CLOSE_ABS(recoVtx.position(), expVtx.position, 0.001_mm); CHECK_CLOSE_ABS(recoVtx.covariance(), expVtx.covariance, 0.001_mm); BOOST_CHECK_EQUAL(recoVtx.tracks().size(), expVtx.nTracks); - CHECK_CLOSE_ABS(recoVtx.tracks()[0].trackWeight, expVtx.trk1Weight, 0.003); + CHECK_CLOSE_ABS(recoVtx.tracks()[0].weight, expVtx.trk1Weight, 0.003); CHECK_CLOSE_ABS(recoVtx.tracks()[0].vertexCompatibility, expVtx.trk1Comp, 0.003); } @@ -357,7 +357,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_finder_usertype_test) { CHECK_CLOSE_ABS(recoVtx.position(), expVtx.position, 0.001_mm); CHECK_CLOSE_ABS(recoVtx.covariance(), expVtx.covariance, 0.001_mm); BOOST_CHECK_EQUAL(recoVtx.tracks().size(), expVtx.nTracks); - CHECK_CLOSE_ABS(recoVtx.tracks()[0].trackWeight, expVtx.trk1Weight, 0.003); + CHECK_CLOSE_ABS(recoVtx.tracks()[0].weight, expVtx.trk1Weight, 0.003); CHECK_CLOSE_ABS(recoVtx.tracks()[0].vertexCompatibility, expVtx.trk1Comp, 0.003); } diff --git a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp index 7befe4be521..e994e7cae8a 100644 --- a/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/AdaptiveMultiVertexFitterTests.cpp @@ -211,8 +211,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test) { iTrack++) { // Index of current vertex int vtxIdx = (int)(iTrack / nTracksPerVtx); - state.vtxInfoMap[&(vtxList[vtxIdx])].trackLinks.push_back( - &(allTracks[iTrack])); + state.vtxInfoMap[&vtxList[vtxIdx]].trackLinks.push_back(&allTracks[iTrack]); state.tracksAtVerticesMap.insert(std::make_pair( std::make_pair(&allTracks[iTrack], &vtxList[vtxIdx]), TrackAtVertex(&allTracks[iTrack], 1.))); @@ -220,11 +219,10 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test) { // Use first track also for second vertex to let vtx1 and vtx2 // share this track if (iTrack == 0) { - state.vtxInfoMap[&(vtxList.at(1))].trackLinks.push_back( - &(allTracks[iTrack])); + state.vtxInfoMap[&vtxList.at(1)].trackLinks.push_back(&allTracks[iTrack]); state.tracksAtVerticesMap.insert(std::make_pair( - std::make_pair(&(allTracks[iTrack]), &(vtxList.at(1))), - TrackAtVertex(&(allTracks[iTrack]), 1.))); + std::make_pair(&allTracks[iTrack], &vtxList.at(1)), + TrackAtVertex(&allTracks[iTrack], 1.))); } } @@ -539,7 +537,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test_athena) { std::cout << "Vertex 1, position: " << vtx1Pos << std::endl; std::cout << "Vertex 1, covariance: " << vtx1Cov << std::endl; // for (auto t : vtx1Trks) { - // std::cout << "\tTrackWeight:" << t.trackWeight << std::endl; + // std::cout << "\tTrackWeight:" << t.weight << std::endl; // } std::cout << "Vertex 1, chi2: " << vtx1FQ.first << std::endl; std::cout << "Vertex 1, ndf: " << vtx1FQ.second << std::endl; @@ -548,7 +546,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test_athena) { std::cout << "Vertex 2, position: " << vtx2Pos << std::endl; std::cout << "Vertex 2, covariance: " << vtx2Cov << std::endl; // for (auto t : vtx2Trks) { - // std::cout << "\tTrackWeight:" << t.trackWeight << std::endl; + // std::cout << "\tTrackWeight:" << t.weight << std::endl; // } std::cout << "Vertex 2, chi2: " << vtx2FQ.first << std::endl; std::cout << "Vertex 2, ndf: " << vtx2FQ.second << std::endl; @@ -582,7 +580,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test_athena) { CHECK_CLOSE_ABS(vtx1Pos, expVtx1Pos, 0.001_mm); CHECK_CLOSE_ABS(vtx1Cov, expVtx1Cov, 0.001_mm); for (int i = 0; i < expVtx1TrkWeights.size(); i++) { - // CHECK_CLOSE_ABS(vtx1Trks[i].trackWeight, expVtx1TrkWeights[i], 0.001); + // CHECK_CLOSE_ABS(vtx1Trks[i].weight, expVtx1TrkWeights[i], 0.001); } CHECK_CLOSE_ABS(vtx1FQ.first, expVtx1chi2, 0.001); CHECK_CLOSE_ABS(vtx1FQ.second, expVtx1ndf, 0.001); @@ -591,7 +589,7 @@ BOOST_AUTO_TEST_CASE(adaptive_multi_vertex_fitter_test_athena) { CHECK_CLOSE_ABS(vtx2Pos, expVtx2Pos, 0.001_mm); CHECK_CLOSE_ABS(vtx2Cov, expVtx2Cov, 0.001_mm); for (int i = 0; i < expVtx2TrkWeights.size(); i++) { - // CHECK_CLOSE_ABS(vtx2Trks[i].trackWeight, expVtx2TrkWeights[i], 0.001); + // CHECK_CLOSE_ABS(vtx2Trks[i].weight, expVtx2TrkWeights[i], 0.001); } CHECK_CLOSE_ABS(vtx2FQ.first, expVtx2chi2, 0.001); CHECK_CLOSE_ABS(vtx2FQ.second, expVtx2ndf, 0.001); diff --git a/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp b/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp index 55ed3ab3f07..156fb5206f5 100644 --- a/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp +++ b/Tests/UnitTests/Core/Vertexing/IterativeVertexFinderTests.cpp @@ -641,7 +641,7 @@ BOOST_AUTO_TEST_CASE(iterative_finder_test_athena_reference) { // CHECK_CLOSE_ABS(recoVtx.position(), expVtx.position, 0.001_mm); // CHECK_CLOSE_ABS(recoVtx.covariance(), expVtx.covariance, 0.001_mm); // BOOST_CHECK_EQUAL(recoVtx.tracks().size(), expVtx.nTracks); - // CHECK_CLOSE_ABS(recoVtx.tracks()[0].trackWeight, expVtx.trk1Weight, + // CHECK_CLOSE_ABS(recoVtx.tracks()[0].weight, expVtx.trk1Weight, // 0.003); CHECK_CLOSE_ABS(recoVtx.tracks()[0].vertexCompatibility, // expVtx.trk1Comp, // 0.003); From 5840c698608999a75720971fff7a99620bd18b45 Mon Sep 17 00:00:00 2001 From: russofel Date: Mon, 21 Aug 2023 15:46:08 +0200 Subject: [PATCH 15/20] update function name makeDirectionFromThetaPhi --- .../ActsExamples/Io/Performance/VertexPerformanceWriter.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp b/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp index 16aee335174..4e7feb0c6f6 100644 --- a/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp +++ b/Examples/Io/Performance/ActsExamples/Io/Performance/VertexPerformanceWriter.cpp @@ -698,9 +698,8 @@ ActsExamples::ProcessCode ActsExamples::VertexPerformanceWriter::writeT( innerPullQOverPFitted.push_back( pull(diffMomFitted[2], momCovFitted(2, 2), "q/p")); - const auto& recoUnitDirFitted = - Acts::makeDirectionUnitFromPhiTheta(recoMomFitted[0], - recoMomFitted[1]); + const auto& recoUnitDirFitted = Acts::makeDirectionFromPhiTheta( + recoMomFitted[0], recoMomFitted[1]); double overlapFitted = trueUnitDir.dot(recoUnitDirFitted); innerMomOverlapFitted.push_back(overlapFitted); } else { From fe3e4b353abd1e233e9355c5d85f9331fc15be35 Mon Sep 17 00:00:00 2001 From: russofel Date: Mon, 21 Aug 2023 19:26:55 +0200 Subject: [PATCH 16/20] use std::move in constructor --- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index caed5d80766..b9ae2908f2c 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -59,7 +59,7 @@ struct TrackAtVertex { TrackAtVertex(const input_track_t* originalTrack, std::optional fittedMom, double chi2PerTrack) : originalParams(originalTrack), - fittedMomentum(fittedMom), + fittedMomentum(std::move(fittedMom)), chi2(chi2PerTrack) {} /// @brief Constructor used when we know the momentum after the fit with default chi2 @@ -68,7 +68,7 @@ struct TrackAtVertex { /// @param originalTrack Original perigee parameter TrackAtVertex(const input_track_t* originalTrack, std::optional fittedMom) - : originalParams(originalTrack), fittedMomentum(fittedMom) {} + : originalParams(originalTrack), fittedMomentum(std::move(fittedMom)) {} /// Original track parameters const input_track_t* originalParams; From 034956664f7eb14b6e794122aa6c41c186294538 Mon Sep 17 00:00:00 2001 From: russofel Date: Tue, 22 Aug 2023 08:50:45 +0200 Subject: [PATCH 17/20] replace reference --- ...rformance_amvf_gridseeder_seeded_hist.root | Bin 41104 -> 41086 bytes ...erformance_amvf_gridseeder_ttbar_hist.root | Bin 39290 -> 39238 bytes .../performance_amvf_orthogonal_hist.root | Bin 40994 -> 41003 bytes .../performance_amvf_seeded_hist.root | Bin 41196 -> 41166 bytes ...performance_amvf_truth_estimated_hist.root | Bin 42053 -> 42105 bytes .../performance_amvf_ttbar_hist.root | Bin 39530 -> 39497 bytes .../performance_ivf_orthogonal_hist.root | Bin 42309 -> 42320 bytes .../performance_ivf_seeded_hist.root | Bin 42285 -> 42284 bytes .../performance_ivf_truth_estimated_hist.root | Bin 42815 -> 42775 bytes .../performance_ivf_truth_smeared_hist.root | Bin 42725 -> 42719 bytes 10 files changed, 0 insertions(+), 0 deletions(-) diff --git a/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root b/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root index 030e33c82b2c8eec9076f7b37734411169459e42..dc31c15a09c1ca4afc2f3a0d240809e5d84189d2 100644 GIT binary patch delta 15348 zcmc(`WmFtp(=I$%(BP5;cS3N21$Phb?h;&s4(>jL<9waz*}2D)qS-d){QyXq?Gm`>>X4rpEnTU#dp;G_cp02l)R+1>y^)+zWn4E%cn z{&~WJ|Cj&(2=xE}tr-9+WxLErpa$chSr}TV1QRq&L=-EJg4Y0eoM!1jXUYnA3xEP2 zgVzE8KqT3(W2=~{!DR5zYXATR9ZdE7&oBTGO!T;7eax>FK}b-9FyMLBv`}xLAO~j9 zoR9+$RtRZzHw^wS>I&@muY-msNYLPUtkpdT#wg<4Xx+4PtY$yuVC;P80NYFkYFSIn2^+ zP|>z|WklxSdeg1CGk4OhB|7Tv5foN(S+-LuJ#4SDF!@lM!(Y26KX1RbBz$2reP{c0 z-x@g5xz%Sa36C?!-*b1k)Y=BT+D#|g9}nuK7SByWE~7(il|Z9)5PXlo7kWRgYeU0mu<~=c& zJ26e&B%zAjd{*r1Ey4gg`_z2rPTbUaQqOr9+GXn&Qg;M0Zw9nu`R)OYIf8UQ`3#A5 z5~U2VF5)h2E$c;@-c_nQ=M2j#9Ntj?al3XG~DIV#kNm@2N0BG0nVeN$;888CYADp#1>$ zuw+Qnesh{CtdJLxBv%h*J@LkR8=}8P_v51NV)0<$AcBO3{8e870$hU+lw(RPTo;LM zvF$)dzOXS%b)E5Qbzkx^9@d78u|ol@3mq~#x!Hlg7o*^?u2p%>sY;>Cb2A@by)vT@ zmvu?a&Nlb6+tL1N=k)CC38VltzLq&)*6sE2s(0w?Mx|iDp3UTa0r_-Q^=!ezUckYp zeUt(tkB6I>G3xnyTddUfI}P_N#b%0~iF@OF{d14IQKLr8mX}f+TG#H2b)93953)Wd z2m^BL%hQ=@n`y%ju>sy^b~aIVjL|4o)>Jc7^cn7$NpUhd{(_Js z_QMqBMmmhKZ%dM;cPgLg#g;kQNE3fF)(?E@yQ`9lp)6P6;I|*mf>AM3UrpEjmIj|x zMEtus`n%E61b~(20;(F3?+Nr@ja2mufu~SFCWti?fmlY$N6RQk^T*||4knK3k5@xO z14JOEE1ugNq=4P~Ae)L=^{iGNK9~fqGGrWH-SdcWH!o^LQBx{N{gdLhaO7kSjc0EB zrIfu=kxwJ>+K_D$CwrX3)-9kR3XXP*?;+6j{=xB(_d*o*xu9muuAr(9 z{k8-D)Tlt+P5)ItYNeg;i7o4C*kokU`g;YZuXty# z9;W;ZhT4EaH3#iL+ba9cjR)0X!gDnX@3*&c`B#&9J=@ZU$3?MQOD0?2dOjTv5lRpx z2rWJnxe@pI-q(=lK)*2SsD&z@bvi3S_?BWq=UD$1;EXm#xwSi=7N|&qp4J)gM9w1nWcTM$ z&nR{yqrVUH#03AF2(B5GsQa;?-BJ_yPc&19{%tnNceO#Qb%!*1b{i5-ccF!DMoDRS zs#-Ox=N4B33nAaEk3K{INwYD78jLYIFI>;}(TVY1W<4YUFQ2pk6L#GsUP#dhhBI%f z0(~2&2IsTJc?=Kum|VLC_N_NJxg7I+8#TXca~Uucq#$!`wwRtL-&s9%oHclhow6gn zX&%Luu1~cP{ljtkg4V~qre0^z_1%)_4?%)UO+RfBQhpF+ z%{_@s-5cQWNAxuV%kSl%@kFDO`KTyW$NhPm^#MV$LQtt{C zG|112xw;xiI%xW@b;nrX!)63r?CA#cKc1Px&)$Fb8`LRJ-N-b#OLKkjbhMf4?{_Tyr%u+OW?onkjx+n_>&jfYvLd&g~{{2kGvG@3@sO6kL-Jjcza*Zdq^ zU<2aK2SVf5eYkf}WgpaCIw{%GS+fAr__KyhCIMc_kC%=rB;RZ$BJpbRe)Zq%J5G!U zYU8L%yh3V>a>`l?y&0S+k;e0^_wrp7YE76IZ~^J8FY-KDot#^|Ok6ij(k5G+aHU4D2lbnwhSW1ep5UdORu #fXFx=+K3g|)9uGIz_ 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 delta 15514 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 T<}?TZIQ!kz<;HvPBmw>pv0|HP diff --git a/CI/physmon/reference/performance_amvf_gridseeder_ttbar_hist.root b/CI/physmon/reference/performance_amvf_gridseeder_ttbar_hist.root index 3e4aac418f684779cd62293cf2e4e174315861c0..21f5248d1307008bb06d2d6194ca856625264e73 100644 GIT binary patch delta 6170 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 gLJ&qK_yHeuSRlvB!Ia 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 delta 14805 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 T;a48&uwxm1Rj}tHoCf%RR2M07 diff --git a/CI/physmon/reference/performance_amvf_truth_estimated_hist.root b/CI/physmon/reference/performance_amvf_truth_estimated_hist.root index 3d141f77833add10e42caaa9ab2ab94bfc92c67f..28496839e733dcb4d56e9c7787481fdf6d6c6a8f 100644 GIT binary patch delta 25676 zcmb??1yEe;((T~xn&581Ex5Zo!QI_`aQ8t11Pzv;!QFxdhY$$v?iPa11I|6?o_p?J z_5N4&pk|n<`S$M3^y<~C`|I5|2zfIIDd6Jh=mr2>bO8VWGXS8_8vyut_VhaP=>hxn z@PdANG6w+QYXAUxO8^9e27IJ&9ma9GKBQe`T)qEe`w~V7O+FT4_^TBQT!xd85xSWX3@i>h%h!k4LP-1pWNPVq z6>1_;K-xCpG-(>oPmw(%IF_$uFhk=801E)%OjkjK!7TtYJvYx|K{-j%_f?T z-2Icy@n@Sb(l0h?o^3)mKYih5(CX5x;;?Qm?rv7O<8wwa=dB`X>k|1vB6as`PK@G7O}$Zk1aSMKj>}O%A*EaAG>>22Oph{VZS}UoIBmI>cbSjFm%( zg!DNER3PU&RB$Tl?ku+v*K-kjdTH=JT}obxy8taSthv;wQ~&){D4pT%*cS&Xt0YRM zDnyQtyxTI1&Z1X|#3&)Rss2Nys(0(RtGDa4@9M$bL;UIB*?VZv7vJh65n^OW)PH*v zlo<00_~gB12!J#Uzzd>2xm!+M1-oC!k}xA9PL>gqTrV<38Qwm$oF_4ew7|iJHj10f zB#rW8h?>qw9{axNbX&3YpIw_wZqmXllFU9%HRhy{7!`(HaOxnpANs%RTlMeO+&dyJf_6!>gH}V5=2zFgKw+%)0~?%c>%G9M=9X}xRoiG zg+4ps0IYxoq>}j#H~Xb!a9uvoVV3O6N&h_A4!7Uc%Ikf1V7d~6d1KKE{=!fH>oZ-T zritN-qdss!&w#|^JNg9Pj}X9Udgfk{LX8PfFNf0io6$1fexdUuJ8srsv~vz`qa$ylz2A3h zzfqr=^u*Zrxyu}iKK;(Df(!&wrE1d&{sb<$k5KzTA9AHh=ET6La}x6&q}-(o-?+{( ztrx|Lzw{v1e1e`);y1Kx+#1QHMDatQA{1ndgG*98|01$o-XLyL3+AerCdLShH zzi|P0iFEc?|A_Q=&yoJ~FRXl#(|yJYNb>7JUJ)uHdH&l{HM%ABWehjAko;iHH^mJo z7^?8pHkcy0)Uc))SB_4219tvyF3G5(e7yAfEpChg*V(ROb`;Xq;~~I1zLlHf)}3}= zW-_)Q7P3uJSz+$^-)rztlfUkVYy=-L^`3B&$xXa-1pfv2HRJ26Sv@prRp`yt)1M1< zh~#0jVOt+6`?dkZ0DGYjx~~*8h9AC+h2>9@>I{>v z`cM2it7wq;KI3=iPXG%9+w(T9jCy%0AA}cyXA&FlGMUi)E@XhG#s${}rmPC_jhAb* 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 delta 8736 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 delta 8837 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 nzzhT;C6 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

{h^zo4RQ(AP4cs3n@yw5lzN#%&U%>$ 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 KQ1=_Lp#K9DMB5Jl diff --git a/CI/physmon/reference/performance_ivf_truth_smeared_hist.root b/CI/physmon/reference/performance_ivf_truth_smeared_hist.root index a43e23696af74a829bd0a85370dc06f3341372dc..4e69f20e9273708a318707e0ff0a5589e2383b3d 100644 GIT binary patch delta 5749 zcmch5cT`hZw0A=2y-8Id6e&^-j371iB2|zgARVN4q)4bzMA}7qZ;l9p22g|m0@9vf zP-%)FNEJlH0YutMZkUmo<+s-N*UMTr_nhC^d!L=N+u2zdBAOW@lJocR34}ntcS0Z# zCkUi^2KQLu#__m^6!-WO8U!R1YB_ zmA|M{RffN-Ant`5Rzo1vRCo!v2PYZ-xig6uz>)vAfHN>08JY*G0L2f0j8rc4O`_9; z2__Ye#=yA233`UOkANzsvZK35*YT4oG@9H=1Y}&pp$Noh0xgdWFA<2|NoPabTqq|n z)}`@*U_FuzP?6)nkI^=A1B6BUG&VF+o&{t>TPcbY`0H?Jg)#*Jtw;6~#D}Tz5s*@i z76M|eMNAOms7=@->G)l*EeGz&mClML(xE1>G3c=p2Iusf3H0w8g8#wt>@TXRuZJ@SU-#D68IXB0x>ULg15D}?Zkk7dl}T+a2H~z1n1e$#RMSYU zw0zMQvDYkVCii6=-+b@OdOgM+mOY9nI!ESIE}lp$^q{Xx9Xa^p>;7Wj%Hy$}M7PDU zXRI@Y5w9L9*q~bWSNHo(r2{aJwbic<0QG0vDU6o5sF95xh8t_s6iNk5xgN~RGaT>6 zCC?1vpJ|NvZP6Qc}H+wdax>%}$q?%GC(wgB^8JQjJKH@8U z#*Wk+D~5H|46Rlmb##%9>y5nIaD}KRQYI#NuNAv2QOD0PD$AXf`zd5ajjj`=Ry~N6 z??9n!#2Zr6)21CtNGKKpPwm1H>f8(P64ycA#?|*R>oGDL)NOWyj6XPc*)DY|T`o6Z zR^yI^Ubc}^GY^T2VDOX@*xXFtVts4Oy0L{c=WhRoVX{s0zhoId^XOItwQa113;7__ zBR*(Bt&gWMaIfrJN5fggDX64o_HZDHqff9UK3t(qpmS(~ad#F1g+LriaIh1xskW3l zNM(wrYW^>klPQpI!AXU4DTo-J%Y_o?wBQBj68O2BD4^oT4v<>1f}ZS`!G@N#%p*7^ z1~*x=S|+&bxHXgr)%aiWwxj=2!on1SbJ}<)M3dmO$aCt(%za0QPb)G4PLB3)9Sb)L z;a++Dj5{Wx{8R{O8Tb5@*A4kj_GLYyUxb`r2-%T6)V^HrQ%`p@j zgjzxkw=A`x!mp)$Fs%y-TR#lGPy2tF)jLqDsp+il1PpGti5qzdN*Ak^K!PM#= zx*}nya5gQ#V-meNn<)}oCJ{pg{o?y0bCUNif=uMcC*Ctynjnu4P3+#|2j&IsPK6xO zK`syBO#_;r$JR#Hn&$lK1Z7wU+tmh~XMfiEx>{LqoGOkWm*9%a;k&5BFZzWlWG8Mn zSJI4SIKx+WkW9#!S+O=K$EBoNF74dA!Z+#s*1KAltP@aCf!y-;+wAW`uf7jzZeCp- z-P%4N-DM8;fIx^?{%bb7By_1Aj0pAr;Z!(#-ul~~nTmQaB>k-!YXv!nG6$fmOO^Pt zg{6?YH~ssMt`(J18By`%4E$DS4j~$j*QAVtSrcpg_ud2z6?Hw zIpXcS5SL(Al&b`BIHO<8LMObGOzQB_3uxbPy^pwfR5z`thfdXmPr{3p3)_rqelNF5 zYgJSjC~SdfHM^W_y$78B%u7EqdH{f$0MuuVCz(pr`!X>xjWJ{ zAErl!Uc?j>->hGAJ!k{%`JrJqV{)!34|Zzb&zO8U`{|wOMq|KbCtxb!(%6dw$zbD)dN$i&enj_cQtRB!SUD0G;9w+=I?;2bGrdU!iIVKwE@12f6$^5E4j zi4R3k-S5NvUvX#!#$m#--Ch6~Jt9B0zK&v>)3g|)^Z=bK>2bRtx;oSdBa%nFih|ad zJx(U?sb=0$l#`mi*cY7uwdTJBO|Q~;F(`IikfU4hOe~I_Sqg1kS_si?$e}-LL3^4= zlYTBifEpJ}OFS*4!SW5YmE@16>27!X)M{8bmRyZX7lnqZ|40c-?iBZA_TQ^v?sHg% zsm`3|EB;eii-q*^o9`v4oqOfUSUE%m7J0W3$8>Cz z{Y1oo=9 z5>3G@E(Rg_J0Y`H$hZ)lOv-2#w~GWo5}&2r{m}95+5|up4|w*VCp`0^Ojx`;*f1#X zJbuC34~X~XM%{%%hGF=7Lq>;Qj6Hpy;ShaJ;vt07+TV>FKG>zF%PG=$zel@UXn_B< zD(9SlXJRKM2PFr8PU+#T8`nJ(n`5$j%VV-*vX_gO3?5y>zQ*{L>`ezu1-!zLHwQGp zEv`O~hKM&{wOnAn(n~B$XIZmfuWWdVDPAEmF^x)Um2HySWE{s^_jQ$Z~yV)U6}1~v#HjpH%VlWiTOo5djn0z0Lsw~V zUi#xS#p-LBfG?RXQ-has@&;rP@Ipz8@x^gQUv+6&(bJ5yY!^GzC3$uY>`SocYS;H3 zv_Bms;nsGD_Qgf;AZWN=&~V~-!}%i72;UAU=mgSuz@G|z;P(Q`fWH%7`9&8$25bfJ z{US@G2gDM&Sa2erfWBn`l7h88*$glbybO|pTLhM&n*!wtUIcCtyaYVQT|U`E#7{V1 zs1n*FRF?qA;1vl6(D%a42*5c!aPvEwEOHde4BY{Dv<7#S!mpsFfDIHE3Il~$gBO6y z9eQ2H^vW`7p8bE8!PRxU_$%GW_oB7b98G~Z`lKt2H1}gkqERaJcbdkyvDnv@(k#u* z(to_QYm{dBuoqU+n4_vE*!Jo}cuDIkO!&3DHl0n$me_g6a-NoX!A1BcN%C&dRz!0{ zThY~*r*2PDQ*>*2@8qNGlVrMKm46~RU$kK6@xU3~ciH7sp{cYXU$0s+ja%>bZo{T(az!#M`BO5(i-w@o zedKM|rT1;=n2k{IEQIEw8$F=@O-i_`!(o+u{(b6+_LA(?q(#iMwU+;UW4(flrk0 zir9*jDaQ`=({qkgzj}BfP6x5LO`I*b{GwIwGygqK)(aoDgL*6BV=>QfqoU+`ZkR=s z9}dB&56AYMOPc$8)|@@vj8GSxjE^#lDAE`)Q{=${j5|T%;uaUFd@4%{5?sPB-G6gs z>85g?T3pta!h!ca!O%KEFMcKQvszj0(=|K0Pd7AFEbAmz{66vRu_#Wq+Br9+7MpL* zpU%^|5u<4M_1a&fNB{G^i0|P1zI;~ka{7juvdz+?W##r!oBJ{|w@6}qz;+*(ji|bC zCaZ$z;LVR~_;F20Mx+FAE|m`KAQV&i!8Z?-n--Up6!Aue;W_Z_zc9FjNfia(Yk!l< zumhrLR3K&}$BttoBDBI_w*%N8clHU#?~|SW>M`4H8ZXGsl}>o$nsC4>ogi|Cm=!=B zkME=tI{5!~@<+$GKn7vGRD%t#{fT}D@H<|z)?x$dGYFzF8GOR{)(ULMtOx#e2eSa% zwv!SlGWpE^p|(r<7xn)|llL`~3M>Z4R|}kLZr5?x|D%v_0wq}l zjltG6`VFuV%?i9c#*Whu&=nx`OWWU9M-AK-zp0M@XhVzF#>>acFxc7O(;iozA<*9^ zCvJS5t^4KDkmJi3@cu6QZ|`Dc*@C~6^F;!3*(Z+Dp9(ne150-sD6$_sD)3bE=7ECj z6Q^2G3bYk)11s4lELh|M9AyjqvPAKHKq8001FBWB57_3w!F6GLtd{8k$vIrocn<{U z<=Oun0J*oRe~|N)z#I6Vu8&uSk_}Ym0-mv=7nsTs1qFfEhAJjNqKXTBJ{JQ$1%duv zcXnc2;}{1#hw;*yWSzNYln*d1U(2>)?gYNUOi{~Glvi^vFExG05wka9pZS-w}RI(e+IanWUv5X~Kcx4UCxE4mMTJIH$ z<*X1}!!v;F0CSjnvr*5RjevwV>h5a|*G43;>5XgAFzYOlMdqK;;1rHmHpMp|!TR|(K zpn`!4nwbM#Sj0sDLH_`4&5oWfmLPz?49f7QQLXHU;JJw0=}znPw%?j@SIQ;LZiw6fvGUgA~ZPD5E$EwrBDMy zZpKdpm%=-i)CTWO&=?d%S)HTUf&n(9Kme>3R5#$%WNIt$x3NyqxZu8Gf3=9kN0&0{ z*pH#O(s}-~>yq4jIz4>3OjrG#h{qn?wUW43^ZI*NYu8ZU?Z_mS7J7@rInPRa6GI*J5jT^^+%?PBZP_-r8pMhM)%9I^M>AjgOCc=$PM?IE$6{ z7wVxs&tbFSzLHt4r}3z|QtNt);L6Cd1ybqcu(W7O_wns7r}rs$9`H0xGqkY|4@J<*-VpY|^n%SDY>DG!7laLe{xzQFLHXh#};iPSyfM)h&jaDy7P`f^2?_u%n; zB+VXYTIY?3~63ONGf8J(5gI zypf0ffc2!~edT+;dVQoiqz;~bmR7jU1gnO~p$Ba>VE_gI_Juguk;KeEnxJKd*Lv}H zEk|SUjs*uCM=3x8Kgx*$Y_i~o+LHLTvlzH)AqBCR*Rlp8W67`;fy86hFd}&EZ;R>a z2vQs;V_;yQz5vlJ3NT+k6-7n0^fa{X?)wFi>xSd1hD%FVuoJUQZxE@c$Pm;Eyo@wd zRFPEWO&VlGPA>}5%m9HbKI(WQQ{kfO7|Z0!XrDp&_dzs^KCe zS`jJi0iS=R^*N5%E=Jp)DEcH-_`rE?x}Ybd(KegZT2+n2Me+#kR`)I5%{gw0$st(L zEhb*%5R8Ir1t^+qVv33~C64x_nD5qbkrSofpe2u{-4IFi3#a&FgW?>gSfZw)Mz3a8 z_~)p>rSD52NMGEuHTS(!julWZ^)~?kB9`AD4nPjKOTZM^5fh>Q7m>huDFO!QK|42H z*^pS1uKl1cz(+@?Rk#!#cfY!ZK~6sIhDHeQS-NwAc6?eS@#e8Sy!M-n&O#Jc6Kwlr z^pO=w57C9_f6-m{^!vkm&LCPL0^94hSi>5LQcY24_L-rRN<YD^JG1EYTgi$J8z9eTRNYWsi>RTrIfgg4rE|qMYsF6 zU}DzoO#^O9yk33#>&d$HUT=M|$gdA^UY#g%(NFQJ6{}}@rO(SWzSEa^-RQVs6J+G@ zyyOvM->vVl8;RJlkeiY{9%H+tVi$e${&`#cW%F2>0l1LGABLIhwA8L>bws}DRhILBY()hMqgd^-bt#Za9g#TwL49OJaI!Pm4ZSA-$$s-`PC${bN$yt>ZcN>=xr!xN*JN#t_%bAol5C zy;-4Gr~s(|bMaCgM9k1SH_2x6f}ztfdB1JP^>*Dh2Sd4~3;VkV*Y*}S-#b;U>-7S_C(4_DnQ-PbOal_qs*m6~6%C60YF zqtJ~KPVArbQrOHe@>Y|+?A~IKA5Jz~ZW<9CH+uO?#$?~q)0ObJkclPa$2mT=u`As9 z*cVEt*m`qRT>wkT);nmD&@xlT>TAkNd!x+_pPLfXTBa!{Ze(w^`j?Cw?6HG615U|NMXR+Rc7z~UWS~1r)bwwGG9XX zQ$y^NNYlu!MXmj~@vg1q|pLMmw#y0<^k zE(9+O)V!;`cY>nI_h;*9kW$u^QOrL3gWciL;Dlw`{)#=RM!+!mKxz6dAKNcD=LuI3 zU#oGtb0;lTkqdjvO1N%^X>f4vFe@SXGpFB>$y?X&fxqvtlj4m zPD3P5FJN1A?#_WG@quOjl@1-s-DR1VH-y_5otQaIWsL;d>JykB?tTri2;^&pwR*JD zxAN((r>(sWNVyfe|FBK_BzMTLzU^>q*ax`U&Uz6%w2<64e5Q_mv5?2tgd8jN+@-$V zXUapNB4F&|H&6KKrr^>9l)7g`z*+hrtz~W6pZv5ufp4TQFKKcuk=p0K;0c-YrU?zV zVm+u?_MgiqUe?IELc3fdi42eR*X3G|c=1EQ(jhPE!V-)pPG$dlyy^j|Swge|j*7&8 zKdvGs{>(H~NFO&_pKCYGoUb9T0#7185*RIm=S0*bW+iHi06=s^;{dee5jsK~=Ems6 zaUP*0L}WHhbiyqdV?Q*tBg8X^nu(0y-3%T)&(dIkBgC_dhld(M_2N#%BYTnJY^{|` zr>vZ>UX|3O7StLje8Ve^eq+n~iwyp1KgMoey;_RGPb}`Vy-1(U*MFs}%4vGh`uRCc zy_Q!FjvS{cCc4gE34n1+55y^7#QV5-z6vn@pwO4KjfpKo`zRJf6kzV}fo#vGK)2GCdl*AfyZ^aEHtf$(t^iE-Jt&J_l4Cl## zM5%_2ql_c5wLw46*V|?Sx>fPtDupkcV_Xo%QU=LLE1{Umf8`d^9GKWFu-{j7xnS`8 zybbkax#t-f#gLaO2ZJvk{M#k57Lw!N)Z z@^ty?QEa5bH>T?Hihg93!bTp)mX^0+LE!r*HsejSzHiXWp(>x=ypuT~{*2xa5wW@@ zG9%D1cHp|WmhTq!=z0TyVvL!A%4Xb=2XDc}Z38%i=R(pf=yhL~9srbagrbC^YJiU_ zD4Q$@)uFsF9xx~w4#~De+%&iwjy7J6xC2tlBj&?FL}W)se)`WyIX1j@&ygOtf%lpb2FzB-ng{MSxamgwNu&M1bLka`IvS)5G^f8pmJD5`oM3`sVPG{^xf4|EQgM(*>an^83mm z1bq^@89pjRf34^xk0u*10X&kR{N_QdA2&XiU4oowf%h{2RcKJwA4a(`_`Y)fa4E8FJE_eV`mo}2>a(N zn8J|Db`V0CyG5x7opQO+uuo_WMYx%a{5OoEG`z}$5QL+;}EmIa5* zLvGEl0vq$$K=nfmT5cf`cqxky(m9Ubh(#t~L>Bk&c5xo~_^>UH?=R^AKa}v{m!ywh z5+wr^HR$qC%7&rLo`f;}(^`M#aH4SKVFz^0G-))9yh;}~Oyw3C?`nd3tJb9l} znzc&9@^<)*op(P@`$j!~VP@T}9OPpHNQ8empGD>nEB~u=+w9;?_im-@1AFsGpk)gP zKFuKe&flo%CHM61wf#)?D!-jC8lmJPYQM_&*YwnBPhj6`sO_n$#w;(NLGC@CVTA8e zyeCtgytbSD?WfJzFD$-8D-@`u@GPU&h28PGN0A4o4&Lfnn##H|QNm+LN@&82ztcA# zkDU_P&7Mgutl;rmdgfuZgHE6kl?Z%Cb?Act$38aGMQ0&WOqved-+{96)E_| zt)aP6x2Q5zvc=AsM6%Q~nts!;kE?sDYTH;pqu@sGN6%l*JJ3vR$5VLn9%u^`#ruad zdimj^*9H-47>XXW#~=dnU`BHD2pRd1MVOGg3IyPgLYT&U0|Ic!9}GjG4gokM5aw!; z#u1=64^v(&L;wycg!xdSMF0+o15##lWAsb8@!(-bxNnEc2#a<_qh1K8T=N&o-= From 4ce672f61b447de505fb50a23ec9d05a22d4230d Mon Sep 17 00:00:00 2001 From: russofel Date: Mon, 28 Aug 2023 10:59:12 +0200 Subject: [PATCH 18/20] use ActsSquareMatrix --- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index b9ae2908f2c..ca9ef66135c 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -21,11 +21,11 @@ namespace Acts { /// (+corresponding covariances). The updated track momenta and their /// covariances are saved in the following struct. struct FittedMomentum { - FittedMomentum(const Vector3& mom, const ActsSymMatrix<3>& cov) + FittedMomentum(const Vector3& mom, const ActsSquareMatrix<3>& cov) : momentum(mom), covariance(cov) {} Vector3 momentum; - ActsSymMatrix<3> covariance; + ActsSquareMatrix<3> covariance; }; /// @struct TrackAtVertex From d8f09a1a27e6420ecba76d76bdfdc263dbd74930 Mon Sep 17 00:00:00 2001 From: russofel Date: Tue, 29 Aug 2023 14:40:46 +0200 Subject: [PATCH 19/20] use reference from main branch --- ...rformance_amvf_gridseeder_seeded_hist.root | Bin 41086 -> 41104 bytes ...erformance_amvf_gridseeder_ttbar_hist.root | Bin 39238 -> 39290 bytes .../performance_amvf_orthogonal_hist.root | Bin 41003 -> 40994 bytes .../performance_amvf_seeded_hist.root | Bin 41166 -> 41196 bytes ...performance_amvf_truth_estimated_hist.root | Bin 42105 -> 42053 bytes .../performance_amvf_ttbar_hist.root | Bin 39497 -> 39530 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root b/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root index dc31c15a09c1ca4afc2f3a0d240809e5d84189d2..030e33c82b2c8eec9076f7b37734411169459e42 100644 GIT binary patch delta 15514 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 T<}?TZIQ!kz<;HvPBmw>pv0|HP delta 15348 zcmc(`WmFtp(=I$%(BP5;cS3N21$Phb?h;&s4(>jL<9waz*}2D)qS-d){QyXq?Gm`>>X4rpEnTU#dp;G_cp02l)R+1>y^)+zWn4E%cn z{&~WJ|Cj&(2=xE}tr-9+WxLErpa$chSr}TV1QRq&L=-EJg4Y0eoM!1jXUYnA3xEP2 zgVzE8KqT3(W2=~{!DR5zYXATR9ZdE7&oBTGO!T;7eax>FK}b-9FyMLBv`}xLAO~j9 zoR9+$RtRZzHw^wS>I&@muY-msNYLPUtkpdT#wg<4Xx+4PtY$yuVC;P80NYFkYFSIn2^+ zP|>z|WklxSdeg1CGk4OhB|7Tv5foN(S+-LuJ#4SDF!@lM!(Y26KX1RbBz$2reP{c0 z-x@g5xz%Sa36C?!-*b1k)Y=BT+D#|g9}nuK7SByWE~7(il|Z9)5PXlo7kWRgYeU0mu<~=c& zJ26e&B%zAjd{*r1Ey4gg`_z2rPTbUaQqOr9+GXn&Qg;M0Zw9nu`R)OYIf8UQ`3#A5 z5~U2VF5)h2E$c;@-c_nQ=M2j#9Ntj?al3XG~DIV#kNm@2N0BG0nVeN$;888CYADp#1>$ zuw+Qnesh{CtdJLxBv%h*J@LkR8=}8P_v51NV)0<$AcBO3{8e870$hU+lw(RPTo;LM zvF$)dzOXS%b)E5Qbzkx^9@d78u|ol@3mq~#x!Hlg7o*^?u2p%>sY;>Cb2A@by)vT@ zmvu?a&Nlb6+tL1N=k)CC38VltzLq&)*6sE2s(0w?Mx|iDp3UTa0r_-Q^=!ezUckYp zeUt(tkB6I>G3xnyTddUfI}P_N#b%0~iF@OF{d14IQKLr8mX}f+TG#H2b)93953)Wd z2m^BL%hQ=@n`y%ju>sy^b~aIVjL|4o)>Jc7^cn7$NpUhd{(_Js z_QMqBMmmhKZ%dM;cPgLg#g;kQNE3fF)(?E@yQ`9lp)6P6;I|*mf>AM3UrpEjmIj|x zMEtus`n%E61b~(20;(F3?+Nr@ja2mufu~SFCWti?fmlY$N6RQk^T*||4knK3k5@xO z14JOEE1ugNq=4P~Ae)L=^{iGNK9~fqGGrWH-SdcWH!o^LQBx{N{gdLhaO7kSjc0EB zrIfu=kxwJ>+K_D$CwrX3)-9kR3XXP*?;+6j{=xB(_d*o*xu9muuAr(9 z{k8-D)Tlt+P5)ItYNeg;i7o4C*kokU`g;YZuXty# z9;W;ZhT4EaH3#iL+ba9cjR)0X!gDnX@3*&c`B#&9J=@ZU$3?MQOD0?2dOjTv5lRpx z2rWJnxe@pI-q(=lK)*2SsD&z@bvi3S_?BWq=UD$1;EXm#xwSi=7N|&qp4J)gM9w1nWcTM$ z&nR{yqrVUH#03AF2(B5GsQa;?-BJ_yPc&19{%tnNceO#Qb%!*1b{i5-ccF!DMoDRS zs#-Ox=N4B33nAaEk3K{INwYD78jLYIFI>;}(TVY1W<4YUFQ2pk6L#GsUP#dhhBI%f z0(~2&2IsTJc?=Kum|VLC_N_NJxg7I+8#TXca~Uucq#$!`wwRtL-&s9%oHclhow6gn zX&%Luu1~cP{ljtkg4V~qre0^z_1%)_4?%)UO+RfBQhpF+ z%{_@s-5cQWNAxuV%kSl%@kFDO`KTyW$NhPm^#MV$LQtt{C zG|112xw;xiI%xW@b;nrX!)63r?CA#cKc1Px&)$Fb8`LRJ-N-b#OLKkjbhMf4?{_Tyr%u+OW?onkjx+n_>&jfYvLd&g~{{2kGvG@3@sO6kL-Jjcza*Zdq^ zU<2aK2SVf5eYkf}WgpaCIw{%GS+fAr__KyhCIMc_kC%=rB;RZ$BJpbRe)Zq%J5G!U zYU8L%yh3V>a>`l?y&0S+k;e0^_wrp7YE76IZ~^J8FY-KDot#^|Ok6ij(k5G+aHU4D2lbnwhSW1ep5UdORu #fXFx=+K3g|)9uGIz_ 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 diff --git a/CI/physmon/reference/performance_amvf_gridseeder_ttbar_hist.root b/CI/physmon/reference/performance_amvf_gridseeder_ttbar_hist.root index 21f5248d1307008bb06d2d6194ca856625264e73..3e4aac418f684779cd62293cf2e4e174315861c0 100644 GIT binary patch delta 6280 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 T;a48&uwxm1Rj}tHoCf%RR2M07 delta 14922 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 diff --git a/CI/physmon/reference/performance_amvf_truth_estimated_hist.root b/CI/physmon/reference/performance_amvf_truth_estimated_hist.root index 28496839e733dcb4d56e9c7787481fdf6d6c6a8f..3d141f77833add10e42caaa9ab2ab94bfc92c67f 100644 GIT binary patch delta 25344 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 g7gebO8VWGXS8_8vyut_VhaP=>hxn z@PdANG6w+QYXAUxO8^9e27IJ&9ma9GKBQe`T)qEe`w~V7O+FT4_^TBQT!xd85xSWX3@i>h%h!k4LP-1pWNPVq z6>1_;K-xCpG-(>oPmw(%IF_$uFhk=801E)%OjkjK!7TtYJvYx|K{-j%_f?T z-2Icy@n@Sb(l0h?o^3)mKYih5(CX5x;;?Qm?rv7O<8wwa=dB`X>k|1vB6as`PK@G7O}$Zk1aSMKj>}O%A*EaAG>>22Oph{VZS}UoIBmI>cbSjFm%( zg!DNER3PU&RB$Tl?ku+v*K-kjdTH=JT}obxy8taSthv;wQ~&){D4pT%*cS&Xt0YRM zDnyQtyxTI1&Z1X|#3&)Rss2Nys(0(RtGDa4@9M$bL;UIB*?VZv7vJh65n^OW)PH*v zlo<00_~gB12!J#Uzzd>2xm!+M1-oC!k}xA9PL>gqTrV<38Qwm$oF_4ew7|iJHj10f zB#rW8h?>qw9{axNbX&3YpIw_wZqmXllFU9%HRhy{7!`(HaOxnpANs%RTlMeO+&dyJf_6!>gH}V5=2zFgKw+%)0~?%c>%G9M=9X}xRoiG zg+4ps0IYxoq>}j#H~Xb!a9uvoVV3O6N&h_A4!7Uc%Ikf1V7d~6d1KKE{=!fH>oZ-T zritN-qdss!&w#|^JNg9Pj}X9Udgfk{LX8PfFNf0io6$1fexdUuJ8srsv~vz`qa$ylz2A3h zzfqr=^u*Zrxyu}iKK;(Df(!&wrE1d&{sb<$k5KzTA9AHh=ET6La}x6&q}-(o-?+{( ztrx|Lzw{v1e1e`);y1Kx+#1QHMDatQA{1ndgG*98|01$o-XLyL3+AerCdLShH zzi|P0iFEc?|A_Q=&yoJ~FRXl#(|yJYNb>7JUJ)uHdH&l{HM%ABWehjAko;iHH^mJo z7^?8pHkcy0)Uc))SB_4219tvyF3G5(e7yAfEpChg*V(ROb`;Xq;~~I1zLlHf)}3}= zW-_)Q7P3uJSz+$^-)rztlfUkVYy=-L^`3B&$xXa-1pfv2HRJ26Sv@prRp`yt)1M1< zh~#0jVOt+6`?dkZ0DGYjx~~*8h9AC+h2>9@>I{>v z`cM2it7wq;KI3=iPXG%9+w(T9jCy%0AA}cyXA&FlGMUi)E@XhG#s${}rmPC_jhAb* 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 From 41f1039086dd7e08711d7059130157fb78e3831e Mon Sep 17 00:00:00 2001 From: russofel Date: Thu, 28 Sep 2023 12:10:04 +0200 Subject: [PATCH 20/20] save cross covariance --- .../Vertexing/FullBilloirVertexFitter.ipp | 15 +++++++++--- .../Vertexing/KalmanVertexTrackUpdater.ipp | 24 ++++++++++++------- Core/include/Acts/Vertexing/TrackAtVertex.hpp | 23 +++++++++++------- 3 files changed, 42 insertions(+), 20 deletions(-) diff --git a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp index 69497538fc3..91a6bdb28ba 100644 --- a/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp +++ b/Core/include/Acts/Vertexing/FullBilloirVertexFitter.ipp @@ -214,6 +214,9 @@ Acts::FullBilloirVertexFitter::fit( Vector4 deltaV = covV * deltaVFac; //-------------------------------------------------------------------------------------- // start momentum related calculations + // Cross-covariance matrix of the vertex and the momentum + std::vector> crossCovVP(nTracks); + // Covariance matrix of the momentum std::vector> covP(nTracks); // Update track momenta and calculate the covariance of the track parameters @@ -240,10 +243,15 @@ Acts::FullBilloirVertexFitter::fit( // ... and add it to the total chi2 value newChi2 += billoirTrack.chi2; + // Cross-covariance matrix between the vertex position and the refitted + // momentum, see Eq. 8.22 in Ref. (2). Be mindful of the different choice + // of notation! + crossCovVP[iTrack] = -covV * billoirTrack.BCinv; + // Covariance matrix of the refitted momentum, see Eq. 8.23 in Ref. (2). // Be mindful of the different choice of notation! - covP[iTrack] = billoirTrack.Cinv + - billoirTrack.BCinv.transpose() * covV * billoirTrack.BCinv; + covP[iTrack] = billoirTrack.Cinv - + billoirTrack.BCinv.transpose() * crossCovVP[iTrack]; } // assign new linearization point (= new vertex position in global frame) @@ -283,7 +291,8 @@ Acts::FullBilloirVertexFitter::fit( for (std::size_t iTrack = 0; iTrack < billoirTracks.size(); ++iTrack) { const auto& billoirTrack = billoirTracks[iTrack]; // new refitted track momentum - FittedMomentum fittedMomentum(trackMomenta[iTrack], covP[iTrack]); + FittedMomentum fittedMomentum(trackMomenta[iTrack], covP[iTrack], + crossCovVP[iTrack]); TrackAtVertex trackAtVertex(billoirTrack.originalTrack, std::move(fittedMomentum), billoirTrack.chi2); diff --git a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp index e8024d39ae7..21f51e9224a 100644 --- a/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp +++ b/Core/include/Acts/Vertexing/KalmanVertexTrackUpdater.ipp @@ -53,10 +53,6 @@ void Acts::KalmanVertexTrackUpdater::update(TrackAtVertex& track, const SquareMatrix3 vtxCov = vtx.fullCovariance().template block<3, 3>(0, 0); const SquareMatrix3 vtxWeight = vtxCov.inverse(); - // New track covariance matrix - const SquareMatrix3 newTrkCov = - -vtxCov * posJac.transpose() * trkParamWeight * momJac * sMat; - KalmanVertexUpdater::MatrixCache matrixCache; // Now determine the smoothed chi2 of the track in the following @@ -78,11 +74,21 @@ void Acts::KalmanVertexTrackUpdater::update(TrackAtVertex& track, double chi2 = posDiff.dot(reducedVtxWeight * posDiff) + smParams.dot(trkParamWeight * smParams); - // Fitted momentum and its covariance matrix - ActsSquareMatrix<3> momCov = - sMat + - (newTrkCov).transpose() * (vtxWeight.block<3, 3>(0, 0) * newTrkCov); - FittedMomentum fittedMom(newTrkMomentum, momCov); + // Cross covariance matrix between the vertex position and the refitted track + // momentum + ActsMatrix<4, 3> crossCovVP = ActsMatrix<4, 3>::Zero(); + const SquareMatrix3 spatialCrossCovVP = + -vtxCov * posJac.transpose() * trkParamWeight * momJac * sMat; + crossCovVP.topLeftCorner<3, 3>() = spatialCrossCovVP; + + // Covariance matrix of the refitted track momentum + const SquareMatrix3 covP = + sMat + (spatialCrossCovVP).transpose() * + (vtxWeight.block<3, 3>(0, 0) * spatialCrossCovVP); + + // Struct comprising the refitted track momentum and the corresponding + // (cross-) covariances + FittedMomentum fittedMom(newTrkMomentum, covP, crossCovVP); // Set new properties track.fittedMomentum = fittedMom; diff --git a/Core/include/Acts/Vertexing/TrackAtVertex.hpp b/Core/include/Acts/Vertexing/TrackAtVertex.hpp index ca9ef66135c..605ff02bf20 100644 --- a/Core/include/Acts/Vertexing/TrackAtVertex.hpp +++ b/Core/include/Acts/Vertexing/TrackAtVertex.hpp @@ -21,11 +21,18 @@ namespace Acts { /// (+corresponding covariances). The updated track momenta and their /// covariances are saved in the following struct. struct FittedMomentum { - FittedMomentum(const Vector3& mom, const ActsSquareMatrix<3>& cov) - : momentum(mom), covariance(cov) {} + FittedMomentum(const Vector3& mom, const ActsSquareMatrix<3>& cov, + const ActsMatrix<4, 3>& crossCov) + : momentum(mom), covariance(cov), crossCovariance(crossCov) {} Vector3 momentum; + // covariance(i, j) = Cov(p_i, p_j), where p_i is the i-th component of the + // momentum ActsSquareMatrix<3> covariance; + // crossCovariance(i, j) = Cov(v_i, p_j), where v_i is the i-th component of + // the vertex and p_j is the j-th component of the momentum. If we perform the + // vertex fit in 3D, the last row of crossCovariance is set to 0. + ActsMatrix<4, 3> crossCovariance; }; /// @struct TrackAtVertex @@ -40,10 +47,10 @@ struct TrackAtVertex { /// @brief Constructor used before the vertex fit (i.e., when we don't know the fitted momentum yet) /// - /// @param chi2PerTrack Chi2 of the track + /// @param chi2Track Chi2 of the track /// @param originalTrack Original perigee parameter - TrackAtVertex(const input_track_t* originalTrack, double chi2PerTrack) - : originalParams(originalTrack), chi2(chi2PerTrack) {} + TrackAtVertex(const input_track_t* originalTrack, double chi2Track) + : originalParams(originalTrack), chi2(chi2Track) {} /// @brief Constructor used before the vertex fit (i.e., when we don't know the fitted momentum yet) with default chi2 /// @@ -53,14 +60,14 @@ struct TrackAtVertex { /// @brief Constructor used when we know the momentum after the fit /// - /// @param chi2PerTrack Chi2 of the track + /// @param chi2Track Chi2 of the track /// @param fittedMom updated momentum after the vertex fit /// @param originalTrack Original perigee parameter TrackAtVertex(const input_track_t* originalTrack, - std::optional fittedMom, double chi2PerTrack) + std::optional fittedMom, double chi2Track) : originalParams(originalTrack), fittedMomentum(std::move(fittedMom)), - chi2(chi2PerTrack) {} + chi2(chi2Track) {} /// @brief Constructor used when we know the momentum after the fit with default chi2 ///