5 #include <HepMC/GenEvent.h>
6 #include <HepMC/WeightContainer.h>
7 #include <HepMC/PdfInfo.h>
17 : signalProcessID_(0), qScale_(-1.), alphaQCD_(-1.), alphaQED_(-1.), nMEPartons_(-1), nMEPartonsFiltered_(-1) {}
21 signalProcessID_(evt->signal_process_id()),
22 qScale_(evt->event_scale()),
23 alphaQCD_(evt->alphaQCD()),
24 alphaQED_(evt->alphaQED()),
26 nMEPartonsFiltered_(-1) {
27 const HepMC::PdfInfo *hepPDF = evt->pdf_info();
31 pdf.
id = std::make_pair(hepPDF->id1(), hepPDF->id2());
32 pdf.
x = std::make_pair(hepPDF->x1(), hepPDF->x2());
33 pdf.
xPDF = std::make_pair(hepPDF->pdf1(), hepPDF->pdf2());
41 : weights_(other.weights_),
42 signalProcessID_(other.signalProcessID_),
43 qScale_(other.qScale_),
44 alphaQCD_(other.alphaQCD_),
45 alphaQED_(other.alphaQED_),
46 binningValues_(other.binningValues_),
47 DJRValues_(other.DJRValues_),
48 nMEPartons_(other.nMEPartons_),
49 nMEPartonsFiltered_(other.nMEPartons_) {
54 : weights_(std::
move(other.weights_)),
55 signalProcessID_(other.signalProcessID_),
56 qScale_(other.qScale_),
57 alphaQCD_(other.alphaQCD_),
58 alphaQED_(other.alphaQED_),
60 binningValues_(std::
move(other.binningValues_)),
61 DJRValues_(std::
move(other.DJRValues_)),
62 nMEPartons_(other.nMEPartons_),
63 nMEPartonsFiltered_(other.nMEPartons_) {}
99 return std::accumulate(
weights_.begin(),
weights_.end(), 1., std::multiplies<double>());
void setPDF(const PDF *pdf)
std::pair< double, double > x
GenEventInfoProduct & operator=(const GenEventInfoProduct &other)
std::pair< double, double > xPDF
std::vector< float > DJRValues_
virtual ~GenEventInfoProduct()
std::vector< double > weights_
std::unique_ptr< PDF > pdf_
double weightProduct() const
std::vector< double > binningValues_
unsigned int signalProcessID_