17 setComment(
"If zero, let TBB use its default which is normally the number of CPUs on the machine");
18 description.
addUntracked<
unsigned int>(
"numberOfStreams", 0)->
19 setComment(
"If zero, then set the number of streams to be the same as the number of threads");
20 description.
addUntracked<
unsigned int>(
"numberOfConcurrentRuns", 1);
21 description.
addUntracked<
unsigned int>(
"numberOfConcurrentLuminosityBlocks", 1)->
22 setComment(
"If zero, then set the same as the number of runs");
24 setComment(
"Set true to print a report on the trigger decisions and timing of modules");
26 setComment(
"Legal values are 'NOMERGE' and 'FULLMERGE'");
27 description.
addUntracked<
bool>(
"forceEventSetupCacheClearOnNewRun",
false);
28 description.
addUntracked<
bool>(
"throwIfIllegalParameter",
true)->
29 setComment(
"Set false to disable exception throws when configuration validation detects illegal parameters");
30 description.
addUntracked<
bool>(
"printDependencies",
false)->
31 setComment(
"Print data dependencies between modules");
39 std::vector<std::string> emptyVector;
41 description.
addUntracked<std::vector<std::string>>(
"Rethrow", emptyVector);
42 description.
addUntracked<std::vector<std::string>>(
"SkipEvent", emptyVector);
43 description.
addUntracked<std::vector<std::string>>(
"FailPath", emptyVector);
44 description.
addUntracked<std::vector<std::string>>(
"IgnoreCompletely", emptyVector);
46 description.
addUntracked<std::vector<std::string>>(
"canDeleteEarly", emptyVector)->
47 setComment(
"Branch names of products that the Framework can try to delete before the end of the Event");
50 setComment(
"Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
52 setComment(
"Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
54 setComment(
"Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
59 setComment(
"Default of -1 implies no limit.");
69 setComment(
"Default of -1 implies no limit.");
74 setComment(
"Default of -1 implies no limit.");
81 std::vector<std::string> psetNames {
"options",
"maxEvents",
"maxLuminosityBlocks",
"maxSecondsUntilRampdown"};
83 for (
auto const& psetName : psetNames) {
85 bool isTracked {
false};
87 if (pset ==
nullptr) {
94 <<
"In the configuration the top level parameter set named \'" << psetName <<
"\' in process \'" << processName <<
"\' is tracked.\n" 95 <<
"It must be untracked";
99 if (psetName ==
"options") {
101 }
else if (psetName ==
"maxEvents") {
103 }
else if (psetName ==
"maxLuminosityBlocks") {
105 }
else if (psetName ==
"maxSecondsUntilRampdown") {
112 std::ostringstream ost;
113 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)