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_) {
55 signalProcessID_(
other.signalProcessID_),
56 qScale_(
other.qScale_),
57 alphaQCD_(
other.alphaQCD_),
58 alphaQED_(
other.alphaQED_),
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
double weightProduct() const
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_
std::vector< double > binningValues_
unsigned int signalProcessID_