Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Tweak AMVF config with time in Examples #2985

Merged
merged 14 commits into from
Mar 13, 2024
Merged
Binary file modified CI/physmon/reference/performance_amvf_gridseeder_seeded_hist.root
Binary file not shown.
2 changes: 2 additions & 0 deletions Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
andiwand marked this conversation as resolved.
Show resolved Hide resolved
// 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;
andiwand marked this conversation as resolved.
Show resolved Hide resolved
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>();
Expand Down
Loading