diff --git a/Generators/EvgenProdTools/src/FixHepMC.cxx b/Generators/EvgenProdTools/src/FixHepMC.cxx index e4f10e63ce24f5c5da176497160f32c3e50f4f10..19dafad38ff82e72a448f95089bb225e065f0445 100644 --- a/Generators/EvgenProdTools/src/FixHepMC.cxx +++ b/Generators/EvgenProdTools/src/FixHepMC.cxx @@ -45,11 +45,14 @@ StatusCode FixHepMC::execute() { } // Catch cases with more than 2 beam particles (16.11.2021) - auto beams_t = evt->beams(); + std::vector<HepMC::GenParticlePtr> beams_t; + for (HepMC::GenParticlePtr p : evt->beams()) { + if (p->status() == 4) beams_t.push_back(p); + } if (beams_t.size() > 2) { ATH_MSG_INFO("Invalid number of beam particles " << beams_t.size() << ". Will try to fix."); std::vector<HepMC::GenParticlePtr> bparttoremove; - for (auto bpart: beams_t) { + for (const auto& bpart : beams_t) { if (bpart->id() == 0 && bpart->production_vertex()) bparttoremove.push_back(bpart); } for (auto bpart: bparttoremove) {