|
|
Go to the documentation of this file.
24 ->setComment(
"If zero, let TBB use its default which is normally the number of CPUs on the machine");
25 description.addUntracked<
unsigned int>(
"numberOfStreams", 0)
27 "If zero, then set the number of streams to be the same as the number of "
28 "Threads (except always 1 if there is a looper)");
29 description.addUntracked<
unsigned int>(
"numberOfConcurrentLuminosityBlocks", 0)
31 "If zero, use Framework default (currently 2 when the number of streams >= 2, otherwise 1). "
32 "In all cases, the number of concurrent luminosity blocks will be reset to "
33 "be the same as the number of streams if it is greater than the "
34 "numbers of streams.");
35 description.addUntracked<
unsigned int>(
"numberOfConcurrentRuns", 1);
38 eventSetupDescription.
addUntracked<
unsigned int>(
"numberOfConcurrentIOVs", 0)
40 "If zero, use the Framework default which currently means the same as the "
41 "number of concurrent luminosity blocks. Can be overridden by a hard coded "
42 "static in a record C++ definition or by forceNumberOfConcurrentIOVs. "
43 "In all cases, the number of concurrent IOVs will be reset to be the "
44 "same as the number of concurrent luminosity blocks if greater than the "
45 "number of concurrent luminosity blocks.");
48 "Parameter names should be record names and the values are the number of concurrent IOVS for each record."
49 " Overrides all other methods of setting number of concurrent IOVs.");
53 description.addUntracked<
bool>(
"wantSummary",
false)
54 ->setComment(
"Set true to print a report on the trigger decisions and timing of modules");
56 ->setComment(
"Legal values are 'NOMERGE' and 'FULLMERGE'");
57 description.addUntracked<
bool>(
"forceEventSetupCacheClearOnNewRun",
false);
58 description.addUntracked<
bool>(
"throwIfIllegalParameter",
true)
59 ->setComment(
"Set false to disable exception throws when configuration validation detects illegal parameters");
60 description.addUntracked<
bool>(
"printDependencies",
false)->setComment(
"Print data dependencies between modules");
61 description.addUntracked<
bool>(
"deleteNonConsumedUnscheduledModules",
true)
63 "Delete modules that are unscheduled, i.e. only in Tasks, whose products are not consumed by any other "
64 "otherwise-running module");
69 description.addOptionalUntracked<
unsigned int>(
"sizeOfStackForThreadsInKB");
71 std::vector<std::string> emptyVector;
73 description.addUntracked<std::vector<std::string>>(
"Rethrow", emptyVector);
74 description.addUntracked<std::vector<std::string>>(
"SkipEvent", emptyVector);
75 description.addUntracked<std::vector<std::string>>(
"FailPath", emptyVector);
76 description.addUntracked<std::vector<std::string>>(
"IgnoreCompletely", emptyVector);
78 description.addUntracked<std::vector<std::string>>(
"canDeleteEarly", emptyVector)
79 ->setComment(
"Branch names of products that the Framework can try to delete before the end of the Event");
81 description.addUntracked<
bool>(
"dumpOptions",
false)
83 "Print values of selected Framework parameters. The Framework might modify the values "
84 "in the options parameter set and this prints the values after that modification.");
86 description.addOptionalUntracked<
bool>(
"allowUnscheduled")
88 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
91 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
92 description.addOptionalUntracked<
bool>(
"makeTriggerResults")
94 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
98 description.addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
108 description.addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
112 description.addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
118 std::vector<std::string> psetNames{
"options",
"maxEvents",
"maxLuminosityBlocks",
"maxSecondsUntilRampdown"};
120 for (
auto const& psetName : psetNames) {
121 bool isTracked{
false};
123 if (
pset ==
nullptr) {
130 << psetName <<
"\' in process \'" <<
processName <<
"\' is tracked.\n"
131 <<
"It must be untracked";
135 if (psetName ==
"options") {
137 }
else if (psetName ==
"maxEvents") {
139 }
else if (psetName ==
"maxLuminosityBlocks") {
141 }
else if (psetName ==
"maxSecondsUntilRampdown") {
148 std::ostringstream ost;
149 ost <<
"Validating top level \'" << psetName <<
"\' ParameterSet for process \'" <<
processName <<
"\'";
158 unsigned int nConcurrentLumis,
159 unsigned int nConcurrentRuns) {
161 <<
"\nNumber of Concurrent Lumis = " << nConcurrentLumis
162 <<
"\nNumber of Concurrent Runs = " << nConcurrentRuns;
void addContext(std::string const &context)
void validateTopLevelParameterSets(ParameterSet *processParameterSet)
void fillMaxEventsDescription(ParameterSetDescription &description)
constexpr unsigned int s_defaultNumberOfThreads
void dumpOptionsToLogFile(unsigned int nThreads, unsigned int nStreams, unsigned int nConcurrentLumis, unsigned int nConcurrentRuns)
void addUntrackedParameter(std::string const &name, T const &value)
void fillMaxSecondsUntilRampdownDescription(ParameterSetDescription &description)
void fillMaxLuminosityBlocksDescription(ParameterSetDescription &description)
ParameterWildcardBase * addWildcardUntracked(U const &pattern)
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
Log< level::System, true > LogAbsolute
T getParameter(std::string const &) const
void fillOptionsDescription(ParameterSetDescription &description)
ParameterSet * getPSetForUpdate(std::string const &name, bool &isTracked)