16 ->setComment(
"If zero, let TBB use its default which is normally the number of CPUs on the machine");
17 description.
addUntracked<
unsigned int>(
"numberOfStreams", 0)
18 ->setComment(
"If zero, then set the number of streams to be the same as the number of threads");
19 description.
addUntracked<
unsigned int>(
"numberOfConcurrentRuns", 1);
20 description.
addUntracked<
unsigned int>(
"numberOfConcurrentLuminosityBlocks", 1)
21 ->setComment(
"If zero, then set the same as the number of runs");
23 ->setComment(
"Set true to print a report on the trigger decisions and timing of modules");
25 ->setComment(
"Legal values are 'NOMERGE' and 'FULLMERGE'");
26 description.
addUntracked<
bool>(
"forceEventSetupCacheClearOnNewRun",
false);
27 description.
addUntracked<
bool>(
"throwIfIllegalParameter",
true)
28 ->setComment(
"Set false to disable exception throws when configuration validation detects illegal parameters");
29 description.
addUntracked<
bool>(
"printDependencies",
false)->setComment(
"Print data dependencies between modules");
36 std::vector<std::string> emptyVector;
38 description.
addUntracked<std::vector<std::string>>(
"Rethrow", emptyVector);
39 description.
addUntracked<std::vector<std::string>>(
"SkipEvent", emptyVector);
40 description.
addUntracked<std::vector<std::string>>(
"FailPath", emptyVector);
41 description.
addUntracked<std::vector<std::string>>(
"IgnoreCompletely", emptyVector);
43 description.
addUntracked<std::vector<std::string>>(
"canDeleteEarly", emptyVector)
44 ->setComment(
"Branch names of products that the Framework can try to delete before the end of the Event");
48 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
51 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
54 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
58 description.
addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
68 description.
addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
72 description.
addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
78 std::vector<std::string> psetNames{
"options",
"maxEvents",
"maxLuminosityBlocks",
"maxSecondsUntilRampdown"};
80 for (
auto const& psetName : psetNames) {
81 bool isTracked{
false};
83 if (pset ==
nullptr) {
90 << psetName <<
"\' in process \'" << processName <<
"\' is tracked.\n" 91 <<
"It must be untracked";
95 if (psetName ==
"options") {
97 }
else if (psetName ==
"maxEvents") {
99 }
else if (psetName ==
"maxLuminosityBlocks") {
101 }
else if (psetName ==
"maxSecondsUntilRampdown") {
108 std::ostringstream ost;
109 ost <<
"Validating top level \'" << psetName <<
"\' ParameterSet for process \'" << processName <<
"\'";
T getParameter(std::string const &) const
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void validate(ParameterSet &pset) const
ParameterWildcardBase * addWildcardUntracked(U const &pattern)
void validateTopLevelParameterSets(ParameterSet *processParameterSet)
void fillOptionsDescription(ParameterSetDescription &description)
void fillMaxEventsDescription(ParameterSetDescription &description)
ParameterDescriptionNode * addOptionalNode(ParameterDescriptionNode const &node, bool writeToCfi)
constexpr unsigned int s_defaultNumberOfThreads
void fillMaxLuminosityBlocksDescription(ParameterSetDescription &description)
void addUntrackedParameter(std::string const &name, T const &value)
void addContext(std::string const &context)
void fillMaxSecondsUntilRampdownDescription(ParameterSetDescription &description)
ParameterDescriptionBase * addOptionalUntracked(U const &iLabel, T const &value)
ParameterSet * getPSetForUpdate(std::string const &name, bool &isTracked)