From b4d4844d31779a4438b11177ebf66a801c03c183 Mon Sep 17 00:00:00 2001 From: Dmitry Romanov Date: Tue, 28 Jul 2026 14:29:53 -0400 Subject: [PATCH 1/3] Allow truth seeder to work with secondary particles --- src/algorithms/tracking/TrackParamTruthInit.cc | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/algorithms/tracking/TrackParamTruthInit.cc b/src/algorithms/tracking/TrackParamTruthInit.cc index 1ff9845995..03d50faf2c 100644 --- a/src/algorithms/tracking/TrackParamTruthInit.cc +++ b/src/algorithms/tracking/TrackParamTruthInit.cc @@ -40,12 +40,6 @@ void TrackParamTruthInit::process(const Input& input, const Output& output) cons // Loop over input particles for (const auto& mcparticle : *mcparticles) { - // require generatorStatus == 1 for stable generated particles in HepMC3 and DDSim gun - if (mcparticle.getGeneratorStatus() != 1) { - trace("ignoring particle with generatorStatus = {}", mcparticle.getGeneratorStatus()); - continue; - } - // require close to interaction vertex auto v = mcparticle.getVertex(); if (std::abs(v.x) * dd4hep::mm > m_cfg.maxVertexX || From 5f2aaf5d1dba194aeb38a11b9a11ce602ea4c802 Mon Sep 17 00:00:00 2001 From: epic-capybara <139920704+epic-capybara@users.noreply.github.com> Date: Thu, 30 Jul 2026 12:58:36 -0400 Subject: [PATCH 2/3] Allow truth seeder to work with secondary particles (fix: iwyu) (#2814) This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/30388662690. Please merge this PR into the branch `pr/truth-init-accepts-all` to resolve failures in PR #2797. Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- src/algorithms/tracking/TrackParamTruthInit.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/algorithms/tracking/TrackParamTruthInit.cc b/src/algorithms/tracking/TrackParamTruthInit.cc index 03d50faf2c..44d278cb26 100644 --- a/src/algorithms/tracking/TrackParamTruthInit.cc +++ b/src/algorithms/tracking/TrackParamTruthInit.cc @@ -13,13 +13,12 @@ #include #include #include -#include #include #include -#include #include #include #include +#include #include "extensions/spdlog/SpdlogFormatters.h" // IWYU pragma: keep From 0f53b6611eb779620539f379ffd83112d66f3290 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Wed, 5 Aug 2026 14:00:09 -0400 Subject: [PATCH 3/3] updated condition with explicit intent --- src/algorithms/tracking/TrackParamTruthInit.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/algorithms/tracking/TrackParamTruthInit.cc b/src/algorithms/tracking/TrackParamTruthInit.cc index 44d278cb26..35ab17917b 100644 --- a/src/algorithms/tracking/TrackParamTruthInit.cc +++ b/src/algorithms/tracking/TrackParamTruthInit.cc @@ -39,6 +39,14 @@ void TrackParamTruthInit::process(const Input& input, const Output& output) cons // Loop over input particles for (const auto& mcparticle : *mcparticles) { + // accept generator-stable particles (HepMC3/DDSim gun) or Geant4-produced + // secondaries; reject generator intermediates (partons, resonances, beams) + if (!(mcparticle.getGeneratorStatus() == 1 || mcparticle.getSimulatorStatus() != 0)) { + trace("ignoring particle with generatorStatus = {}, simulatorStatus = {}", + mcparticle.getGeneratorStatus(), mcparticle.getSimulatorStatus()); + continue; + } + // require close to interaction vertex auto v = mcparticle.getVertex(); if (std::abs(v.x) * dd4hep::mm > m_cfg.maxVertexX ||