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");
24 eventSetupDescription.
addUntracked<
unsigned int>(
"numberOfConcurrentIOVs", 1)
26 "If zero, set to 1. Can be overridden by hard coded static in record C++ definition or by "
27 "forceNumberOfConcurrentIOVs");
30 "Parameter names should be record names and the values are the number of concurrent IOVS for each record."
31 " Overrides all other methods of setting number of concurrent IOVs.");
35 description.addUntracked<
bool>(
"wantSummary",
false)
36 ->setComment(
"Set true to print a report on the trigger decisions and timing of modules");
38 ->setComment(
"Legal values are 'NOMERGE' and 'FULLMERGE'");
39 description.addUntracked<
bool>(
"forceEventSetupCacheClearOnNewRun",
false);
40 description.addUntracked<
bool>(
"throwIfIllegalParameter",
true)
41 ->setComment(
"Set false to disable exception throws when configuration validation detects illegal parameters");
42 description.addUntracked<
bool>(
"printDependencies",
false)->setComment(
"Print data dependencies between modules");
47 description.addOptionalUntracked<
unsigned int>(
"sizeOfStackForThreadsInKB");
49 std::vector<std::string> emptyVector;
51 description.addUntracked<std::vector<std::string>>(
"Rethrow", emptyVector);
52 description.addUntracked<std::vector<std::string>>(
"SkipEvent", emptyVector);
53 description.addUntracked<std::vector<std::string>>(
"FailPath", emptyVector);
54 description.addUntracked<std::vector<std::string>>(
"IgnoreCompletely", emptyVector);
56 description.addUntracked<std::vector<std::string>>(
"canDeleteEarly", emptyVector)
57 ->setComment(
"Branch names of products that the Framework can try to delete before the end of the Event");
59 description.addOptionalUntracked<
bool>(
"allowUnscheduled")
61 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
64 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
65 description.addOptionalUntracked<
bool>(
"makeTriggerResults")
67 "Obsolete. Has no effect. Allowed only for backward compatibility for old Python configuration files.");
71 description.addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
81 description.addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
85 description.addUntracked<
int>(
"input", -1)->setComment(
"Default of -1 implies no limit.");
91 std::vector<std::string> psetNames{
"options",
"maxEvents",
"maxLuminosityBlocks",
"maxSecondsUntilRampdown"};
93 for (
auto const& psetName : psetNames) {
94 bool isTracked{
false};
96 if (
pset ==
nullptr) {
103 << psetName <<
"\' in process \'" <<
processName <<
"\' is tracked.\n"
104 <<
"It must be untracked";
108 if (psetName ==
"options") {
110 }
else if (psetName ==
"maxEvents") {
112 }
else if (psetName ==
"maxLuminosityBlocks") {
114 }
else if (psetName ==
"maxSecondsUntilRampdown") {
121 std::ostringstream ost;
122 ost <<
"Validating top level \'" << psetName <<
"\' ParameterSet for process \'" <<
processName <<
"\'";