52 namespace HepMCUtils {
53 ConstGenParticlePtr getParticlePtr(
const RivetHepMC::GenParticle & gp);
54 std::vector<ConstGenParticlePtr> particles(ConstGenEventPtr ge);
55 std::vector<ConstGenParticlePtr> particles(
const GenEvent *ge);
56 std::vector<ConstGenVertexPtr> vertices(ConstGenEventPtr ge);
57 std::vector<ConstGenVertexPtr> vertices(
const GenEvent *ge);
58 std::vector<ConstGenParticlePtr> particles(ConstGenVertexPtr gv,
const Relatives &relo);
59 std::vector<ConstGenParticlePtr> particles(ConstGenParticlePtr gp,
const Relatives &relo);
60 int uniqueId(ConstGenParticlePtr gp);
61 int particles_size(ConstGenEventPtr ge);
62 int particles_size(
const GenEvent* ge);
63 std::pair<ConstGenParticlePtr,ConstGenParticlePtr>
beams(
const GenEvent* ge);
64 bool readEvent(std::shared_ptr<HepMC_IO_type> io, std::shared_ptr<GenEvent> evt);
65 void strip(GenEvent & ge,
const set<long>& stripid = {1, -1, 2, -2, 3,-3, 21});
66 vector<string> weightNames(
const GenEvent& ge);
67 std::valarray<double> weights(
const GenEvent& ge);
68 pair<double,double> crossSection(
const GenEvent& ge,
size_t index = 0);