From ecd51e9fd032b0fb0b7e2d92025bd93b03c0834c Mon Sep 17 00:00:00 2001 From: seley <sinead.mary.eley@cern.ch> Date: Wed, 21 Aug 2024 11:42:09 +0100 Subject: [PATCH] Added truth_isFiducial , truthd0_isFiducial and truthd1_isFiducial --- .../NtupleDumper/src/NtupleDumperAlg.cxx | 15 +++++++++++---- .../NtupleDumper/src/NtupleDumperAlg.h | 3 +++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx index 2079edf56..5b789e0ef 100644 --- a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx +++ b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx @@ -375,6 +375,7 @@ StatusCode NtupleDumperAlg::initialize() m_tree->Branch("truth_dec_x", &m_truth_dec_x); m_tree->Branch("truth_dec_y", &m_truth_dec_y); m_tree->Branch("truth_dec_z", &m_truth_dec_z); + m_tree->Branch("truth_isFiducial", &m_truth_isFiducial); // for mother + daughter particle truth infomation @@ -393,6 +394,7 @@ StatusCode NtupleDumperAlg::initialize() m_tree->Branch("truthd0_x", &m_truthd0_x); m_tree->Branch("truthd0_y", &m_truthd0_y); m_tree->Branch("truthd0_z", &m_truthd0_z); + m_tree->Branch("truthd0_isFiducial", &m_truthd0_isFiducial); m_tree->Branch("truthd1_P", &m_truthd1_P); m_tree->Branch("truthd1_px", &m_truthd1_px); @@ -401,6 +403,7 @@ StatusCode NtupleDumperAlg::initialize() m_tree->Branch("truthd1_x", &m_truthd1_x); m_tree->Branch("truthd1_y", &m_truthd1_y); m_tree->Branch("truthd1_z", &m_truthd1_z); + m_tree->Branch("truthd1_isFiducial", &m_truthd1_isFiducial); m_tree->Branch("vertex_x", &m_vertex_x, "vertex_x/D"); m_tree->Branch("vertex_y", &m_vertex_y, "vertex_y/D"); @@ -759,7 +762,7 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const m_truth_pz.push_back(particle->p4().Z()); m_truth_m.push_back(particle->m()); m_truth_pdg.push_back(particle->pdgId()); - m_truthParticleIsFiducial.push_back(m_fiducialParticleTool->isFiducial(particle->barcode())); + m_truth_isFiducial.push_back(m_fiducialParticleTool->isFiducial(particle->barcode())); if ( particle->hasProdVtx()) { m_truth_prod_x.push_back(particle->prodVtx()->x()); @@ -789,7 +792,7 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const m_truthM_px.push_back(particle->p4().X()); m_truthM_py.push_back(particle->p4().Y()); m_truthM_pz.push_back(particle->p4().Z()); - m_truthParticleIsFiducial.push_back(m_fiducialParticleTool->isFiducial(particle->barcode())); + if ( particle->hasDecayVtx()) { // decay vertex for A' particle m_truthM_x.push_back(particle->decayVtx()->x()); @@ -807,7 +810,7 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const m_truthd0_px.push_back(particle->p4().X()); m_truthd0_py.push_back(particle->p4().Y()); m_truthd0_pz.push_back(particle->p4().Z()); - m_truthParticleIsFiducial.push_back(m_fiducialParticleTool->isFiducial(particle->barcode())); + m_truthd0_isFiducial.push_back(m_fiducialParticleTool->isFiducial(particle->barcode())); if ( particle->hasProdVtx()) { m_truthd0_x.push_back(particle->prodVtx()->x()); @@ -829,6 +832,7 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const m_truthd1_px.push_back(particle->p4().X()); m_truthd1_py.push_back(particle->p4().Y()); m_truthd1_pz.push_back(particle->p4().Z()); + m_truthd1_isFiducial.push_back(m_fiducialParticleTool->isFiducial(particle->barcode())); if ( particle->hasProdVtx()) { m_truthd1_x.push_back(particle->prodVtx()->x()); @@ -1313,7 +1317,7 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const for (auto &tp : truthParticleCount) { m_truthParticleBarcode.push_back(tp.first); m_truthParticleMatchedTracks.push_back(tp.second); - //m_truthParticleIsFiducial.push_back(m_fiducialParticleTool->isFiducial(tp.first)); + m_truthParticleIsFiducial.push_back(m_fiducialParticleTool->isFiducial(tp.first)); } } @@ -1598,6 +1602,7 @@ NtupleDumperAlg::clearTree() const m_truth_dec_x.clear(); m_truth_dec_y.clear(); m_truth_dec_z.clear(); + m_truth_isFiducial.clear(); m_truthM_P.clear(); m_truthM_px.clear(); @@ -1614,6 +1619,7 @@ NtupleDumperAlg::clearTree() const m_truthd0_x.clear(); m_truthd0_y.clear(); m_truthd0_z.clear(); + m_truthd0_isFiducial.clear(); m_truthd1_P.clear(); m_truthd1_px.clear(); @@ -1622,6 +1628,7 @@ NtupleDumperAlg::clearTree() const m_truthd1_x.clear(); m_truthd1_y.clear(); m_truthd1_z.clear(); + m_truthd1_isFiducial.clear(); m_vertex_x = NaN; m_vertex_y = NaN; diff --git a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.h b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.h index d4fc22b97..0786017d3 100644 --- a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.h +++ b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.h @@ -340,6 +340,7 @@ private: mutable std::vector<double> m_truthM_z; mutable std::vector<double> m_truthd0_P; + mutable std::vector<bool> m_truthd0_isFiducial; //Boolean for if electron is fiducial mutable std::vector<double> m_truthd0_px; mutable std::vector<double> m_truthd0_py; @@ -350,6 +351,7 @@ private: mutable std::vector<double> m_truthd0_z; mutable std::vector<double> m_truthd1_P; + mutable std::vector<bool> m_truthd1_isFiducial; // Boolean for if positron is fiducial mutable std::vector<double> m_truthd1_px; mutable std::vector<double> m_truthd1_py; @@ -376,6 +378,7 @@ private: mutable std::vector<double> m_truth_prod_z; mutable std::vector<int> m_truth_pdg; // pdg of first 10 truth particles + mutable std::vector<bool> m_truth_isFiducial; // Boolean for if first 10 truth particles are fiducial mutable double m_truthLeptonMomentum; mutable int m_truthBarcode; -- GitLab