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");
25 eventSetupDescription.
addUntracked<
unsigned int>(
"numberOfConcurrentIOVs", 1)
27 "If zero, set to 1. Can be overridden by hard coded static in record C++ definition or by "
28 "forceNumberOfConcurrentIOVs");
31 "Parameter names should be record names and the values are the number of concurrent IOVS for each record."
32 " Overrides all other methods of setting number of concurrent IOVs.");
36 description.addUntracked<
bool>(
"wantSummary",
false)
37 ->setComment(
"Set true to print a report on the trigger decisions and timing of modules");
39 ->setComment(
"Legal values are 'NOMERGE' and 'FULLMERGE'");
40 description.addUntracked<
bool>(
"forceEventSetupCacheClearOnNewRun",
false);
41 description.addUntracked<
bool>(
"throwIfIllegalParameter",
true)
42 ->setComment(
"Set false to disable exception throws when configuration validation detects illegal parameters");
43 description.addUntracked<
bool>(
"printDependencies",
false)->setComment(
"Print data dependencies between modules");
44 description.addUntracked<
bool>(
"deleteNonConsumedUnscheduledModules",
true)
46 "Delete modules that are unscheduled, i.e. only in Tasks, whose products are not consumed by any other "
47 "otherwise-running module");
52 description.addOptionalUntracked<
unsigned int>(
"sizeOfStackForThreadsInKB");
54 std::vector<std::string> emptyVector;
56 description.addUntracked<std::vector<std::string>>(
"Rethrow", emptyVector);
57 description.addUntracked<std::vector<std::string>>(
"SkipEvent", emptyVector);
58 description.addUntracked<std::vector<std::string>>(
"FailPath", emptyVector);
59 description.addUntracked<std::vector<std::string>>(
"IgnoreCompletely", emptyVector);
61 description.addUntracked<std::vector<std::string>>(
"canDeleteEarly", emptyVector)
62 ->setComment(
"Branch names of products that the Framework can try to delete before the end of the Event");
64 description.addOptionalUntracked<
bool>(
"allowUnscheduled")
66 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
69 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
70 description.addOptionalUntracked<
bool>(
"makeTriggerResults")
72 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
76 description.addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
86 description.addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
90 description.addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
96 std::vector<std::string> psetNames{
"options",
"maxEvents",
"maxLuminosityBlocks",
"maxSecondsUntilRampdown"};
98 for (
auto const& psetName : psetNames) {
99 bool isTracked{
false};
101 if (
pset ==
nullptr) {
108 << psetName <<
"\' in process \'" <<
processName <<
"\' is tracked.\n"
109 <<
"It must be untracked";
113 if (psetName ==
"options") {
115 }
else if (psetName ==
"maxEvents") {
117 }
else if (psetName ==
"maxLuminosityBlocks") {
119 }
else if (psetName ==
"maxSecondsUntilRampdown") {
126 std::ostringstream ost;
127 ost <<
"Validating top level \'" << psetName <<
"\' ParameterSet for process \'" <<
processName <<
"\'";