diff --git a/benchmarks/rich/src/ReconstructedParticleAnalysis.cc b/benchmarks/rich/src/ReconstructedParticleAnalysis.cc index b645be2888366fae54e0bdc20b852057ef540b50..974551701976825d134d6766dae8c73c46a227f3 100644 --- a/benchmarks/rich/src/ReconstructedParticleAnalysis.cc +++ b/benchmarks/rich/src/ReconstructedParticleAnalysis.cc @@ -43,13 +43,13 @@ namespace benchmarks { if(!simpart.isAvailable()) { m_log->warn("simulated particle not available for this association"); continue; } // get PDG values - auto simpart_pdg = simpart.getPDG(); // from MC truth - auto recpart_pdg = recpart.getPDG(); // PDG member of ReconstructedParticle - auto pid_pdg = recpart_pdg; // ReconstructedParticle::particleIDUsed::PDG, if available (otherwise use `recpart_pdg`) - auto recpart_pid = recpart.getParticleIDUsed(); - if(recpart_pid.isAvailable()) pid_pdg = recpart_pid.getPDG(); - else m_log->warn("reconstructed particle does not have particleIDUsed relation; using PDG member instead"); - m_log->trace("PDGs: sim | rec | pid = {:^6} | {:^6} | {:^6}", simpart_pdg, recpart_pdg, pid_pdg); + auto simpart_pdg = simpart.getPDG(); // from MC truth + auto recpart_pdg = recpart.getPDG(); // PDG member of ReconstructedParticle + auto recpart_pid_used = recpart.getParticleIDUsed(); + auto pid_pdg = recpart_pid_used.isAvailable() ? recpart_pid_used.getPDG() : 0; + if(!recpart_pid_used.isAvailable()) + m_log->error("reconstructed particle does not have particleIDUsed relation"); + m_log->trace("PDGs: sim.PDG | rec.PDG | PDG from PID = {:^6} | {:^6} | {:^6}", simpart_pdg, recpart_pdg, pid_pdg); // check goodness of PID: if near zero, assume PID was not used for this particle and skip if(recpart.getGoodnessOfPID()<0.01) {