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");
48 description.addOptionalUntracked<
unsigned int>(
"sizeOfStackForThreadsInKB");
50 std::vector<std::string> emptyVector;
52 description.addUntracked<std::vector<std::string>>(
"Rethrow", emptyVector);
53 description.addUntracked<std::vector<std::string>>(
"SkipEvent", emptyVector);
54 description.addUntracked<std::vector<std::string>>(
"FailPath", emptyVector);
55 description.addUntracked<std::vector<std::string>>(
"IgnoreCompletely", emptyVector);
57 description.addUntracked<std::vector<std::string>>(
"canDeleteEarly", emptyVector)
58 ->setComment(
"Branch names of products that the Framework can try to delete before the end of the Event");
60 description.addOptionalUntracked<
bool>(
"allowUnscheduled")
62 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
65 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
66 description.addOptionalUntracked<
bool>(
"makeTriggerResults")
68 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
72 description.addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
82 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.");
92 std::vector<std::string> psetNames{
"options",
"maxEvents",
"maxLuminosityBlocks",
"maxSecondsUntilRampdown"};
94 for (
auto const& psetName : psetNames) {
95 bool isTracked{
false};
97 if (
pset ==
nullptr) {
104 << psetName <<
"\' in process \'" <<
processName <<
"\' is tracked.\n"
105 <<
"It must be untracked";
109 if (psetName ==
"options") {
111 }
else if (psetName ==
"maxEvents") {
113 }
else if (psetName ==
"maxLuminosityBlocks") {
115 }
else if (psetName ==
"maxSecondsUntilRampdown") {
122 std::ostringstream ost;
123 ost <<
"Validating top level \'" << psetName <<
"\' ParameterSet for process \'" <<
processName <<
"\'";