diff --git a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx index 3f476edb40480e5871a2df39a3cd2695ea894e4c..396db13c495ce81048da82c27f09993b93c03bb0 100644 --- a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx +++ b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx @@ -627,7 +627,7 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const } } - if ( particle->pdgId() == 11) // daughter particle (positron) + if ( particle->pdgId() == 11) // daughter particle (electron) { m_truthd0_P.push_back(particle->p4().P()); m_truthd0_px.push_back(particle->p4().X()); @@ -638,13 +638,21 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const m_truthd0_x.push_back(particle->prodVtx()->x()); m_truthd0_y.push_back(particle->prodVtx()->y()); m_truthd0_z.push_back(particle->prodVtx()->z()); + + auto positions = m_fiducialParticleTool->getTruthPositions(particle->barcode()); + for (int station = 1; station < 4; ++station) { + m_truthd0_x.push_back(positions[station].x()); + m_truthd0_y.push_back(positions[station].y()); + m_truthd0_z.push_back(positions[station].z()); + } + } else { m_truthd0_x.push_back(NaN); m_truthd0_y.push_back(NaN); m_truthd0_z.push_back(NaN); } } - if ( particle->pdgId() == -11) // daughter particle (electron) + if ( particle->pdgId() == -11) // daughter particle (positron) { m_truthd1_P.push_back(particle->p4().P()); m_truthd1_px.push_back(particle->p4().X()); @@ -655,6 +663,14 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const m_truthd1_x.push_back(particle->prodVtx()->x()); m_truthd1_y.push_back(particle->prodVtx()->y()); m_truthd1_z.push_back(particle->prodVtx()->z()); + + auto positions = m_fiducialParticleTool->getTruthPositions(particle->barcode()); + for (int station = 1; station < 4; ++station) { + m_truthd1_x.push_back(positions[station].x()); + m_truthd1_y.push_back(positions[station].y()); + m_truthd1_z.push_back(positions[station].z()); + } + } else { m_truthd1_x.push_back(NaN); m_truthd1_y.push_back(NaN);