From 9be6927acb35b00d678d6ce0351a4ad02c9dca13 Mon Sep 17 00:00:00 2001 From: Tristan Miralles Date: Fri, 22 Oct 2021 16:25:26 +0200 Subject: [PATCH 1/7] Adding of a function to obtain MC indices array and a parents tuples for MC --- analyzers/dataframe/MCParticle.cc | 18 ++++++++++++++++++ analyzers/dataframe/MCParticle.h | 5 +++++ 2 files changed, 23 insertions(+) diff --git a/analyzers/dataframe/MCParticle.cc b/analyzers/dataframe/MCParticle.cc index adf88d713a..ae41b229da 100644 --- a/analyzers/dataframe/MCParticle.cc +++ b/analyzers/dataframe/MCParticle.cc @@ -426,6 +426,13 @@ ROOT::VecOps::RVec MCParticle::get_parentid(ROOT::VecOps::RVec mcind, return result; } +ROOT::VecOps::RVec get_index(ROOT::VecOps::RVec mc){ +ROOT::VecOps::RVec result; +for (size_t i = 0; i < mc.size(); ++i) { + result.push_back(i); + } + return result; +} // ---------------------------------------------------------------------------------------------------------------------------------- @@ -676,9 +683,20 @@ ROOT::VecOps::RVec MCParticle::AngleBetweenTwoMCParticles( ROOT::VecOps:: } return result; +} +ROOT::VecOps::RVec MCParticle::get(ROOT::VecOps::RVec index, ROOT::VecOps::RVec in){ + ROOT::VecOps::RVec result; + for (size_t i = 0; i < index.size(); ++i) { + if (index[i]>-1) + result.push_back(in.at(index[i])); + //else + // std::cout << "electron index negative " << index[i]< operator() (ROOT::VecOps::RVec in); }; + + /// get MC history tree for a given MCParticle index struct get_tree{ @@ -91,6 +93,8 @@ namespace MCParticle{ ROOT::VecOps::RVec in , ROOT::VecOps::RVec ind); + /// return indices of MC particles + ROOT::VecOps::RVec get_index(ROOT::VecOps::RVec mc); /// return the parent index of a given list of MC particles ROOT::VecOps::RVec get_parentid(ROOT::VecOps::RVec mcind, ROOT::VecOps::RVec mc, ROOT::VecOps::RVec parents); @@ -201,6 +205,7 @@ namespace MCParticle{ ROOT::VecOps::RVec ind) ; +ROOT::VecOps::RVec get(ROOT::VecOps::RVec index, ROOT::VecOps::RVec in); } From 8a792c426646f68dd87d02c08ab7ea4d4d7bc455 Mon Sep 17 00:00:00 2001 From: Tristan Miralles <73443968+Tristan63170@users.noreply.github.com> Date: Wed, 23 Feb 2022 11:15:02 +0100 Subject: [PATCH 2/7] Update MCParticle.h --- analyzers/dataframe/MCParticle.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/analyzers/dataframe/MCParticle.h b/analyzers/dataframe/MCParticle.h index 731dcdf4af..232f689d61 100644 --- a/analyzers/dataframe/MCParticle.h +++ b/analyzers/dataframe/MCParticle.h @@ -204,8 +204,8 @@ namespace MCParticle{ ROOT::VecOps::RVec in, ROOT::VecOps::RVec ind) ; - -ROOT::VecOps::RVec get(ROOT::VecOps::RVec index, ROOT::VecOps::RVec in); +/// get a list of MCParticle from a list of indices +ROOT::VecOps::RVec get_MC_from_indices(ROOT::VecOps::RVec index, ROOT::VecOps::RVec in); } From 62ead188811f1946430e67cc640d184a2945e375 Mon Sep 17 00:00:00 2001 From: Tristan Miralles <73443968+Tristan63170@users.noreply.github.com> Date: Wed, 23 Feb 2022 11:16:13 +0100 Subject: [PATCH 3/7] Update MCParticle.cc --- analyzers/dataframe/MCParticle.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/analyzers/dataframe/MCParticle.cc b/analyzers/dataframe/MCParticle.cc index ae41b229da..03f21d926d 100644 --- a/analyzers/dataframe/MCParticle.cc +++ b/analyzers/dataframe/MCParticle.cc @@ -685,7 +685,7 @@ ROOT::VecOps::RVec MCParticle::AngleBetweenTwoMCParticles( ROOT::VecOps:: return result; } -ROOT::VecOps::RVec MCParticle::get(ROOT::VecOps::RVec index, ROOT::VecOps::RVec in){ +ROOT::VecOps::RVec MCParticle::get_MC_from_indices(ROOT::VecOps::RVec index, ROOT::VecOps::RVec in){ ROOT::VecOps::RVec result; for (size_t i = 0; i < index.size(); ++i) { if (index[i]>-1) From f2a931ab9537ec83d4de48585a58569590b89356 Mon Sep 17 00:00:00 2001 From: Tristan Miralles <73443968+Tristan63170@users.noreply.github.com> Date: Wed, 23 Feb 2022 14:29:55 +0100 Subject: [PATCH 4/7] Update MCParticle.h --- analyzers/dataframe/MCParticle.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/analyzers/dataframe/MCParticle.h b/analyzers/dataframe/MCParticle.h index 232f689d61..51a79881aa 100644 --- a/analyzers/dataframe/MCParticle.h +++ b/analyzers/dataframe/MCParticle.h @@ -204,8 +204,8 @@ namespace MCParticle{ ROOT::VecOps::RVec in, ROOT::VecOps::RVec ind) ; -/// get a list of MCParticle from a list of indices -ROOT::VecOps::RVec get_MC_from_indices(ROOT::VecOps::RVec index, ROOT::VecOps::RVec in); +/// return a sub list of MCParticles from a given list of indices +ROOT::VecOps::RVec get_subMC(ROOT::VecOps::RVec index, ROOT::VecOps::RVec in); } From 62c03bb1c2f44d9b53f516c62a27303aac4bb29b Mon Sep 17 00:00:00 2001 From: Tristan Miralles <73443968+Tristan63170@users.noreply.github.com> Date: Wed, 23 Feb 2022 14:30:38 +0100 Subject: [PATCH 5/7] Update MCParticle.cc --- analyzers/dataframe/MCParticle.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/analyzers/dataframe/MCParticle.cc b/analyzers/dataframe/MCParticle.cc index 03f21d926d..a4cc1554f4 100644 --- a/analyzers/dataframe/MCParticle.cc +++ b/analyzers/dataframe/MCParticle.cc @@ -685,7 +685,7 @@ ROOT::VecOps::RVec MCParticle::AngleBetweenTwoMCParticles( ROOT::VecOps:: return result; } -ROOT::VecOps::RVec MCParticle::get_MC_from_indices(ROOT::VecOps::RVec index, ROOT::VecOps::RVec in){ +ROOT::VecOps::RVec MCParticle::get_subMC(ROOT::VecOps::RVec index, ROOT::VecOps::RVec in){ ROOT::VecOps::RVec result; for (size_t i = 0; i < index.size(); ++i) { if (index[i]>-1) From 9d9c3f0ce8ec6456f0cb81c3e49c01edf891937d Mon Sep 17 00:00:00 2001 From: Tristan Miralles <73443968+Tristan63170@users.noreply.github.com> Date: Thu, 3 Mar 2022 08:40:26 +0100 Subject: [PATCH 6/7] Update MCParticle.cc --- analyzers/dataframe/MCParticle.cc | 8 -------- 1 file changed, 8 deletions(-) diff --git a/analyzers/dataframe/MCParticle.cc b/analyzers/dataframe/MCParticle.cc index a4cc1554f4..0859818022 100644 --- a/analyzers/dataframe/MCParticle.cc +++ b/analyzers/dataframe/MCParticle.cc @@ -426,14 +426,6 @@ ROOT::VecOps::RVec MCParticle::get_parentid(ROOT::VecOps::RVec mcind, return result; } -ROOT::VecOps::RVec get_index(ROOT::VecOps::RVec mc){ -ROOT::VecOps::RVec result; -for (size_t i = 0; i < mc.size(); ++i) { - result.push_back(i); - } - return result; -} - // ---------------------------------------------------------------------------------------------------------------------------------- // returns one MCParticle selected by its index in the particle block From 519a363a9e61a446f36949a892342a42acfb449f Mon Sep 17 00:00:00 2001 From: Tristan Miralles <73443968+Tristan63170@users.noreply.github.com> Date: Thu, 3 Mar 2022 08:41:26 +0100 Subject: [PATCH 7/7] Update MCParticle.h --- analyzers/dataframe/MCParticle.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/analyzers/dataframe/MCParticle.h b/analyzers/dataframe/MCParticle.h index 51a79881aa..a813eae9d5 100644 --- a/analyzers/dataframe/MCParticle.h +++ b/analyzers/dataframe/MCParticle.h @@ -93,9 +93,6 @@ namespace MCParticle{ ROOT::VecOps::RVec in , ROOT::VecOps::RVec ind); - /// return indices of MC particles - ROOT::VecOps::RVec get_index(ROOT::VecOps::RVec mc); - /// return the parent index of a given list of MC particles ROOT::VecOps::RVec get_parentid(ROOT::VecOps::RVec mcind, ROOT::VecOps::RVec mc, ROOT::VecOps::RVec parents);