Go to the documentation of this file.
40 gen::Herwig6Instance(),
44 processCode(
params.getParameter<
int>(
"processCode")) {
45 std::vector<std::string> allFileNames =
fileNames(0);
48 if (allFileNames.size() != 1)
50 <<
"MCatNLOSource needs exactly one file specified. " << std::endl;
56 throw cms::Exception(
"Generator|MCatNLOInterface") <<
"MCatNLOSource only supports the file: scheme. " << std::endl;
62 produces<LHEEventProduct>();
63 produces<LHERunInfoProduct, edm::Transition::BeginRun>();
74 std::ostringstream
ss;
81 std::ostringstream
ss;
98 heprup.PDFGUP.first = 0;
99 heprup.PDFGUP.second = 0;
105 hw6header.
addLine(
"# Herwig6 parameters\n");
118 for (
unsigned int i = 0;
i < 1000; ++
i) {
129 double wgtmax_ = 1.000001;
145 int lastEventDone = 0;
static void readHEPEUP(HEPEUP *hepeup)
void mcatnloupinit_(int *, const char *, int)
std::unique_ptr< std::ifstream > reader
bool setRunAndEventInfo(edm::EventID &, edm::TimeValue_t &, edm::EventAuxiliary::ExperimentType &) override
static void readHEPRUP(HEPRUP *heprup)
static HepMC::HEPEVT_Wrapper wrapper
static std::string makeConfigLine(const char *var, T value)
~MCatNLOSource() override
unsigned int skipEvents
Number of events to skip.
bool hwwarn(const std::string &fn, int code) override
std::vector< std::string > fileNames(unsigned iCatalog) const
std::shared_ptr< lhef::LHERunInfo > runInfo
void produce(edm::Event &event) override
void beginRun(edm::Run &run) override
std::string fileName
Name of the input file.
MCatNLOSource(const edm::ParameterSet ¶ms, const edm::InputSourceDescription &desc)
void mcatnloupevnt_(int *, int *, int *)
Abs< T >::type abs(const T &t)
unsigned long long TimeValue_t