24 return StatusCode::SUCCESS;
27 double calcmag(
const HepMC::FourVector& vect){
28 return std::sqrt(vect.x() * vect.x() + vect.y() * vect.y() + vect.z() * vect.z());
32 auto startpos = ptr->production_vertex()->position ();
33 auto endpos = ptr->end_vertex() ->position ();
34 HepMC::FourVector
diff(endpos.x() - startpos.x(), endpos.y() - startpos.y(), endpos.z() - startpos.z(), endpos.t() - startpos.t());
37 HepMC::FourVector
p = ptr->momentum ();
38 return (1000./299.792458) * (
length * ptr->generated_mass() /
calcmag(
p));
45 const HepMC::GenEvent* genEvt = *itr;
46 for (
const auto&
part: *genEvt){
48 if(pdg ==
part->pdg_id()){
56 setFilterPassed((nPassPDG > 0) &
passed);
57 return StatusCode::SUCCESS;