diff --git a/analyzers/dataframe/MCParticle.cc b/analyzers/dataframe/MCParticle.cc index adf88d713a5..08598180227 100644 --- a/analyzers/dataframe/MCParticle.cc +++ b/analyzers/dataframe/MCParticle.cc @@ -426,7 +426,6 @@ ROOT::VecOps::RVec MCParticle::get_parentid(ROOT::VecOps::RVec mcind, return result; } - // ---------------------------------------------------------------------------------------------------------------------------------- // returns one MCParticle selected by its index in the particle block @@ -676,9 +675,20 @@ ROOT::VecOps::RVec MCParticle::AngleBetweenTwoMCParticles( ROOT::VecOps:: } return result; +} +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) + 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,7 +93,6 @@ namespace MCParticle{ ROOT::VecOps::RVec in , ROOT::VecOps::RVec ind); - /// 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); @@ -200,7 +201,8 @@ namespace MCParticle{ ROOT::VecOps::RVec in, ROOT::VecOps::RVec ind) ; - +/// 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); }