14 typedef std::pair<HepMC::ConstGenParticlePtr, unsigned int> Parent;
15 std::vector<Parent> parents;
16 parents.push_back(Parent(particle, 0));
17 while (!parents.empty()) {
19 const unsigned int level = parents.back().second;
26 if (!(p->production_vertex())) {
continue; }
29 parents.push_back(Parent(i, level + 1));
32 for (HepMC::GenVertex::particle_iterator i = p->production_vertex()->particles_begin(HepMC::parents), f = p->production_vertex()->particles_end(HepMC::parents); i != f; ++i) {
33 parents.push_back(Parent(*i, level + 1));