Go to the documentation of this file.
10 #include <boost/bind.hpp>
42 gen::Herwig6Instance(),
46 processCode(
params.getParameter<
int>(
"processCode")) {
47 std::vector<std::string> allFileNames =
fileNames(0);
50 if (allFileNames.size() != 1)
52 <<
"MCatNLOSource needs exactly one file specified. " << std::endl;
58 throw cms::Exception(
"Generator|MCatNLOInterface") <<
"MCatNLOSource only supports the file: scheme. " << std::endl;
64 produces<LHEEventProduct>();
65 produces<LHERunInfoProduct, edm::Transition::BeginRun>();
76 std::ostringstream
ss;
83 std::ostringstream
ss;
100 heprup.PDFGUP.first = 0;
101 heprup.PDFGUP.second = 0;
107 hw6header.
addLine(
"# Herwig6 parameters\n");
120 for (
unsigned int i = 0;
i < 1000; ++
i) {
131 double wgtmax_ = 1.000001;
147 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