55 if (!
event)
return false;
61 if ( !hepeup.
NUP )
return false;
66 const std::vector<float> &scales =
event->scales();
68 bool doRecalculate = (mRecalculate > 0.);
70 unsigned int iscale = 0;
71 for(
int i = 0;
i < hepeup.
NUP;
i++) {
77 if (scales.size()>0 && hepeup.
ISTUP[
i]==1) {
78 if (iscale>=scales.size()) {
80 <<
"cluster scales for all outgoing partons or for none"
83 scalein = scales[iscale];
88 double mass = hepeup.
PUP[
i][4];
91 if (doRecalculate && mass > mRecalculate) {
92 mass = sqrtpos( energy*energy - hepeup.
PUP[
i][0]*hepeup.
PUP[
i][0] - hepeup.
PUP[
i][1]*hepeup.
PUP[
i][1] - hepeup.
PUP[
i][2]*hepeup.
PUP[
i][2]);
103 hepeup.
PUP[
i][2], energy,
108 infoPtr->eventAttributes->clear();
111 int npLO =
event->npLO();
112 int npNLO =
event->npNLO();
118 snprintf( buffer, 100,
"%i",npLO);
119 (*infoPtr->eventAttributes)[
"npLO"] = buffer;
123 snprintf( buffer, 100,
"%i",npNLO);
124 (*infoPtr->eventAttributes)[
"npNLO"] = buffer;
129 this->setPdf(pdf->
id.first, pdf->
id.second,
130 pdf->
x.first, pdf->
x.second,
132 pdf->
xPDF.first, pdf->
xPDF.second,
true);
135 this->setPdf(hepeup.
IDUP[0], hepeup.
IDUP[1],
std::pair< double, double > EBMUP
std::pair< double, double > x
std::vector< double > VTIMUP
const int getReadAttempts()
std::pair< double, double > xPDF
std::vector< std::pair< int, int > > MOTHUP
std::vector< FiveVector > PUP
std::vector< double > SPINUP
const HEPRUP * getHEPRUP() const
lhef::LHERunInfo * runInfo
std::vector< std::pair< int, int > > ICOLUP