12 #include <ThePEG/Utilities/DynamicLoader.h>
13 #include <ThePEG/Utilities/Debug.h>
14 #include <ThePEG/Repository/Repository.h>
15 #include <ThePEG/Handlers/SamplerBase.h>
20 edm::LogError(
"Herwig7Interface") <<
"An error occured, interface quits now.";
26 edm::LogInfo(
"Herwig7Interface") <<
"Quitting HerwigUIProvider after ThePEG repository cleanup.";
36 inputfile_(inputFileName),
47 edm::LogError(
"Herwig7Interface") <<
"Invalid run mode: RunMode::ERROR was passed to Herwig.\n";
83 ThePEG::Debug::unmaskFpuErrors();
87 ThePEG::Repository::exitOnError() = 1;
106 std::vector<std::string> aReadDirectories =
107 pset.
getUntrackedParameter<std::vector<std::string> >(
"appendReadDirectories", std::vector<std::string>());
108 std::vector<std::string> pReadDirectories =
109 pset.
getUntrackedParameter<std::vector<std::string> >(
"prependReadDirectories", std::vector<std::string>());
114 std::vector<std::string> aPath =
116 std::vector<std::string> pPath =
118 for (
size_t i = 0;
i < aPath.size(); ++
i)
119 ThePEG::DynamicLoader::appendPath(aPath[
i]);
120 for (
size_t i = 0; i < pPath.size(); ++
i)
121 ThePEG::DynamicLoader::prependPath(pPath[i]);
132 ThePEG::SamplerBase::setIntegratePerJob(
jobsize_);
140 ThePEG::SamplerBase::setIntegrationJobs(
maxjobs_);
151 if (!inputFile.empty())
159 ThePEG::SamplerBase::setIntegratePerJob(
jobsize_);
164 ThePEG::SamplerBase::setIntegrationJobs(
maxjobs_);
168 ThePEG::SamplerBase::setIntegratePerJob(
jobsize_);
170 ThePEG::SamplerBase::setIntegrationJobs(
maxjobs_);
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > appendReadDirectories_
static std::string resolve(const std::string &line)
void quitWithHelp() const override
static void cleanup(const Factory::MakerMap::value_type &v)
Log< level::Error, false > LogError
HerwigUIProvider(const edm::ParameterSet &pset, std::string inputFileName, RunMode::Mode)
Constructor from the arguments provided by CMSSW.
void setRunMode(RunMode::Mode runMode, const edm::ParameterSet &pset, std::string inputFile="")
void quit() const override
RunMode::Mode runMode() const override
Requested Herwig run mode.
~HerwigUIProvider() override
Destructor to leave a clean ThePEG::Repository behind.
std::vector< std::string > prependReadDirectories_
Log< level::Info, false > LogInfo
T getParameter(std::string const &) const
std::string integrationList_