186 if (newFileOpened !=
nullptr)
187 *newFileOpened =
true;
201 curSource->handler->_init.getDataSet(
"beamA").read(beamA);
202 curSource->handler->_init.getDataSet(
"beamB").read(beamB);
203 tmprup.IDBMUP = std::make_pair(beamA, beamB);
204 double energyA, energyB;
205 curSource->handler->_init.getDataSet(
"energyA").read(energyA);
206 curSource->handler->_init.getDataSet(
"energyB").read(energyB);
207 tmprup.EBMUP = std::make_pair(energyA, energyB);
208 int PDFsetA, PDFsetB;
209 curSource->handler->_init.getDataSet(
"PDFsetA").read(PDFsetA);
210 curSource->handler->_init.getDataSet(
"PDFsetB").read(PDFsetB);
211 tmprup.PDFSUP = std::make_pair(PDFsetA, PDFsetB);
212 int PDFgroupA, PDFgroupB;
213 curSource->handler->_init.getDataSet(
"PDFgroupA").read(PDFgroupA);
214 curSource->handler->_init.getDataSet(
"PDFgroupB").read(PDFgroupB);
215 tmprup.PDFGUP = std::make_pair(PDFgroupA, PDFgroupB);
216 std::vector<int> procId;
217 std::vector<double> xSection;
218 std::vector<double>
error;
219 std::vector<double> unitWeight;
221 curSource->handler->_procInfo.getDataSet(
"procId").read(procId);
222 curSource->handler->_procInfo.getDataSet(
"xSection").read(xSection);
224 curSource->handler->_procInfo.getDataSet(
"unitWeight").read(unitWeight);
226 tmprup.LPRUP = procId;
227 tmprup.XSECUP = xSection;
228 tmprup.XERRUP =
error;
229 tmprup.XMAXUP = unitWeight;
231 size_t numProcesses = procId.size();
232 tmprup.NPRUP = numProcesses;
234 const HEPRUP heprup(tmprup);
245 std::pair<EventHeader, std::vector<Particle> > evp =
curSource->handler->getEventProperties();
250 return std::shared_ptr<LHEEvent>();
257 for (
auto part : evp.second) {
260 tmp.MOTHUP[ip] = std::make_pair(
part.mother1,
part.mother2);
261 tmp.ICOLUP[ip] = std::make_pair(
part.color1,
part.color2);
262 tmp.VTIMUP[ip] =
part.lifetime;
276 std::shared_ptr<LHEEvent> lheevent;
278 const HEPEUP hepeup(
tmp);
280 lheevent.reset(
new LHEEvent(
curRunInfo, hepeup));
290 lheevent->setNpLO(npLO);
291 lheevent->setNpNLO(npNLO);
298 return std::shared_ptr<LHEEvent>();