diff --git a/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root b/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root index df4b1db76b0..882a5fc6d30 100644 Binary files a/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root and b/CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root differ diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp index 23f6759085c..0bf05086b67 100644 --- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp +++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp @@ -75,6 +75,7 @@ class AdaptiveMultiVertexFinder final : public IVertexFinder { // track as compatible to vertex. If useTime is set to true, the time // coordinate also contributes to the significance and tracksMaxSignificance // needs to be increased. + // 5 corresponds to a p-value of ~0.92 using `chi2(x=5,ndf=2)` double tracksMaxSignificance = 5.; // Max chi2 value for which tracks are considered compatible with @@ -98,6 +99,7 @@ class AdaptiveMultiVertexFinder final : public IVertexFinder { // Maximum significance on the distance between two vertices // to allow merging of two vertices. + // 3 corresponds to a p-value of ~0.92 using `chi2(x=3,ndf=1)` double maxMergeVertexSignificance = 3.; // Minimum weight a track has to have to be considered a compatible diff --git a/Examples/Algorithms/Vertexing/src/AdaptiveMultiVertexFinderAlgorithm.cpp b/Examples/Algorithms/Vertexing/src/AdaptiveMultiVertexFinderAlgorithm.cpp index 5e236f9fa40..d5e97411c34 100644 --- a/Examples/Algorithms/Vertexing/src/AdaptiveMultiVertexFinderAlgorithm.cpp +++ b/Examples/Algorithms/Vertexing/src/AdaptiveMultiVertexFinderAlgorithm.cpp @@ -133,17 +133,22 @@ auto ActsExamples::AdaptiveMultiVertexFinderAlgorithm::makeVertexFinder() const finderConfig.tracksMaxZinterval = 1. * Acts::UnitConstants::mm; finderConfig.maxIterations = 200; finderConfig.useTime = m_cfg.useTime; + // 5 corresponds to a p-value of ~0.92 using `chi2(x=5,ndf=2)` + finderConfig.tracksMaxSignificance = 5; + // This should be used consistently with and without time + finderConfig.doFullSplitting = false; + // 3 corresponds to a p-value of ~0.92 using `chi2(x=3,ndf=1)` + finderConfig.maxMergeVertexSignificance = 3; if (m_cfg.useTime) { // When using time, we have an extra contribution to the chi2 by the time // coordinate. We thus need to increase tracksMaxSignificance (i.e., the // maximum chi2 that a track can have to be associated with a vertex). - finderConfig.tracksMaxSignificance = 7.5; - finderConfig.doFullSplitting = true; - // Reset the maximum significance that two vertices can have before they - // are considered as merged. The default value 3 is tuned for comparing - // the vertices' z-coordinates. Since we consider 4 dimensions here, we - // need to multiply the value by 4 and thus we set it to 3 * 4 = 12. - finderConfig.maxMergeVertexSignificance = 12.; + // Using the same p-value for 3 dof instead of 2. + // 6.7 corresponds to a p-value of ~0.92 using `chi2(x=6.7,ndf=3)` + finderConfig.tracksMaxSignificance = 6.7; + // Using the same p-value for 2 dof instead of 1. + // 5 corresponds to a p-value of ~0.92 using `chi2(x=5,ndf=2)` + finderConfig.maxMergeVertexSignificance = 5; } finderConfig.extractParameters .template connect<&Acts::InputTrack::extractParameters>();