diff --git a/CI/physmon/reference/performance_amvf_orthogonal_hist.root b/CI/physmon/reference/performance_amvf_orthogonal_hist.root index 107d20ec699..fc736ceebfb 100644 Binary files a/CI/physmon/reference/performance_amvf_orthogonal_hist.root and b/CI/physmon/reference/performance_amvf_orthogonal_hist.root differ diff --git a/CI/physmon/reference/performance_amvf_seeded_hist.root b/CI/physmon/reference/performance_amvf_seeded_hist.root index 79080e2885f..51ec061e3ba 100644 Binary files a/CI/physmon/reference/performance_amvf_seeded_hist.root and b/CI/physmon/reference/performance_amvf_seeded_hist.root differ diff --git a/CI/physmon/reference/performance_amvf_truth_estimated_hist.root b/CI/physmon/reference/performance_amvf_truth_estimated_hist.root index be94b29d7a5..29269766f05 100644 Binary files a/CI/physmon/reference/performance_amvf_truth_estimated_hist.root and b/CI/physmon/reference/performance_amvf_truth_estimated_hist.root differ diff --git a/CI/physmon/reference/performance_amvf_truth_smeared_hist.root b/CI/physmon/reference/performance_amvf_truth_smeared_hist.root index c8a88e740fb..b64291db95c 100644 Binary files a/CI/physmon/reference/performance_amvf_truth_smeared_hist.root and b/CI/physmon/reference/performance_amvf_truth_smeared_hist.root differ diff --git a/CI/physmon/reference/performance_amvf_ttbar_hist.root b/CI/physmon/reference/performance_amvf_ttbar_hist.root index 0919cdec59c..0c51e6d36d8 100644 Binary files a/CI/physmon/reference/performance_amvf_ttbar_hist.root and b/CI/physmon/reference/performance_amvf_ttbar_hist.root differ diff --git a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp index f3f2151153e..f762c0aac9f 100644 --- a/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp +++ b/Core/include/Acts/Vertexing/AdaptiveMultiVertexFinder.ipp @@ -522,20 +522,21 @@ auto Acts::AdaptiveMultiVertexFinder::isMergedVertex( double significance = 0; if (not m_cfg.do3dSplitting) { - // Use only z significance - if (sumCovZ > 0.) { - significance = std::abs(deltaZPos) / std::sqrt(sumCovZ); - } else { - return true; + if (sumCovZ <= 0) { + // TODO FIXME this should never happen + continue; } + // Use only z significance + significance = std::abs(deltaZPos) / std::sqrt(sumCovZ); } else { // Use full 3d information for significance SymMatrix4 sumCov = candidateCov + otherCov; - if (auto sumCovInverse = safeInverse(sumCov); sumCovInverse) { - significance = std::sqrt(deltaPos.dot(*sumCovInverse * deltaPos)); - } else { - return true; + auto sumCovInverse = safeInverse(sumCov); + if (!sumCovInverse) { + // TODO FIXME this should never happen + continue; } + significance = std::sqrt(deltaPos.dot(*sumCovInverse * deltaPos)); } if (significance < m_cfg.maxMergeVertexSignificance) { return true;