CMS 3D CMS Logo

HLTConfigData.cc
Go to the documentation of this file.
1 
12 
13 #include <iostream>
14 
15 //Using this function with the 'const static within s_dummyPSet'
16 // guarantees that even if multiple threads call s_dummyPSet at the
17 // same time, only the 'first' one registers the dummy PSet.
20  dummy.registerIt();
21  return dummy;
22 }
23 
24 static const edm::ParameterSet* s_dummyPSet() {
25  static const edm::ParameterSet dummyPSet{initializeDummyPSet()};
26  return &dummyPSet;
27 }
28 
30  : processPSet_(s_dummyPSet()),
31  processName_(""),
32  globalTag_(""),
33  tableName_(),
34  triggerNames_(),
35  moduleLabels_(),
36  saveTagsModules_(),
37  triggerIndex_(),
38  moduleIndex_(),
39  l1tType_(0),
40  hltL1GTSeeds_(),
41  hltL1TSeeds_(),
42  streamNames_(),
43  streamIndex_(),
44  streamContents_(),
45  datasetNames_(),
46  datasetIndex_(),
47  datasetContents_(),
48  hltPrescaleTable_() {
49  if (processPSet_->id().isValid()) {
50  extract();
51  }
52 }
53 
55  : processPSet_(iPSet),
56  processName_(""),
57  globalTag_(""),
58  tableName_(),
59  triggerNames_(),
60  moduleLabels_(),
61  saveTagsModules_(),
62  triggerIndex_(),
63  moduleIndex_(),
64  l1tType_(0),
65  hltL1GTSeeds_(),
66  hltL1TSeeds_(),
67  streamNames_(),
68  streamIndex_(),
69  streamContents_(),
70  datasetNames_(),
71  datasetIndex_(),
72  datasetContents_(),
73  hltPrescaleTable_() {
74  if (processPSet_->id().isValid()) {
75  extract();
76  }
77 }
78 
80  using namespace std;
81  using namespace edm;
82  using namespace trigger;
83 
84  // Extract process name
85  if (processPSet_->existsAs<string>("@process_name", true)) {
86  processName_ = processPSet_->getParameter<string>("@process_name");
87  }
88 
89  // Extract globaltag
90  globalTag_ = "";
91  const ParameterSet* GlobalTagPSet(nullptr);
92  if (processPSet_->exists("GlobalTag")) {
93  GlobalTagPSet = &(processPSet_->getParameterSet("GlobalTag"));
94  } else if (processPSet_->exists("PoolDBESSource@GlobalTag")) {
95  GlobalTagPSet = &(processPSet_->getParameterSet("PoolDBESSource@GlobalTag"));
96  }
97  if (GlobalTagPSet && GlobalTagPSet->existsAs<std::string>("globaltag", true)) {
98  globalTag_ = GlobalTagPSet->getParameter<std::string>("globaltag");
99  }
100 
101  // Obtain PSet containing table name (available only in 2_1_10++ files)
102  if (processPSet_->existsAs<ParameterSet>("HLTConfigVersion", true)) {
103  const ParameterSet& HLTPSet(processPSet_->getParameterSet("HLTConfigVersion"));
104  if (HLTPSet.existsAs<string>("tableName", true)) {
105  tableName_ = HLTPSet.getParameter<string>("tableName");
106  }
107  }
108 
109  // Extract trigger paths (= paths - end_paths)
110  if (processPSet_->existsAs<ParameterSet>("@trigger_paths", true)) {
111  const ParameterSet& HLTPSet(processPSet_->getParameterSet("@trigger_paths"));
112  if (HLTPSet.existsAs<vector<string>>("@trigger_paths", true)) {
113  triggerNames_ = HLTPSet.getParameter<vector<string>>("@trigger_paths");
114  }
115  }
116 
117  // Obtain module labels of all modules on all trigger paths
118  const unsigned int n(size());
119  moduleLabels_.reserve(n);
120  for (unsigned int i = 0; i != n; ++i) {
121  if (processPSet_->existsAs<vector<string>>(triggerNames_[i], true)) {
122  moduleLabels_.push_back(processPSet_->getParameter<vector<string>>(triggerNames_[i]));
123  }
124  }
125  saveTagsModules_.reserve(n);
126  vector<string> labels;
127  for (unsigned int i = 0; i != n; ++i) {
128  labels.clear();
129  const vector<string>& modules(moduleLabels(i));
130  const unsigned int m(modules.size());
131  labels.reserve(m);
132  for (unsigned int j = 0; j != m; ++j) {
133  const string& label(modules[j]);
134  if (saveTags(label))
135  labels.push_back(label);
136  }
137  saveTagsModules_.push_back(labels);
138  }
139 
140  // Fill index maps for fast lookup
141  moduleIndex_.resize(n);
142  for (unsigned int i = 0; i != n; ++i) {
144  moduleIndex_[i].clear();
145  const unsigned int m(size(i));
146  for (unsigned int j = 0; j != m; ++j) {
148  }
149  }
150 
151  // Extract and fill HLTLevel1GTSeed information for each trigger path
152  hltL1GTSeeds_.resize(n);
153  for (unsigned int i = 0; i != n; ++i) {
154  hltL1GTSeeds_[i].clear();
155  const unsigned int m(size(i));
156  for (unsigned int j = 0; j != m; ++j) {
157  const string& label(moduleLabels_[i][j]);
158  //HLTConfigProvider sees ignored modules as "-modname"
159  //if the HLTLevel1GTSeed is ignored in the config, it shouldnt
160  //count to the number of active HLTLevel1GTSeeds so we now check
161  //for the module being ignored
162  if (label.front() != '-' && moduleType(label) == "HLTLevel1GTSeed") {
164  if (pset != ParameterSet()) {
165  const bool l1Tech(pset.getParameter<bool>("L1TechTriggerSeeding"));
166  const string l1Seed(pset.getParameter<string>("L1SeedsLogicalExpression"));
167  hltL1GTSeeds_[i].push_back(pair<bool, string>(l1Tech, l1Seed));
168  }
169  }
170  }
171  }
172 
173  // Extract and fill HLTL1TSeed information for each trigger path
174  hltL1TSeeds_.resize(n);
175  for (unsigned int i = 0; i != n; ++i) {
176  hltL1TSeeds_[i].clear();
177  const unsigned int m(size(i));
178  for (unsigned int j = 0; j != m; ++j) {
179  const string& label(moduleLabels_[i][j]);
180  //HLTConfigProvider sees ignored modules as "-modname"
181  //if the HLTL1TSeed is ignored in the config, it shouldnt
182  //count to the number of active HLTL1TSeeds so we now check
183  //for the module being ignored
184  if (label.front() != '-' && moduleType(label) == "HLTL1TSeed") {
186  if (pset != ParameterSet()) {
187  const string l1Gtag(pset.getParameter<edm::InputTag>("L1GlobalInputTag").label());
188  // Emulator output is used to ignore L1T prescales
189  if (l1Gtag != "hltGtStage2ObjectMap") {
190  const string l1Seed(pset.getParameter<string>("L1SeedsLogicalExpression"));
191  hltL1TSeeds_[i].push_back(l1Seed);
192  }
193  }
194  }
195  }
196  }
197 
198  // Extract and fill streams information
199  if (processPSet_->existsAs<ParameterSet>("streams", true)) {
200  const ParameterSet& streams(processPSet_->getParameterSet("streams"));
201  streamNames_ = streams.getParameterNamesForType<vector<string>>();
202  sort(streamNames_.begin(), streamNames_.end());
203  const unsigned int n(streamNames_.size());
204  streamContents_.resize(n);
205  for (unsigned int i = 0; i != n; ++i) {
207  streamContents_[i] = streams.getParameter<vector<string>>(streamNames_[i]);
209  }
210  }
211 
212  // Extract and fill datasets information
213  if (processPSet_->existsAs<ParameterSet>("datasets", true)) {
214  const ParameterSet& datasets(processPSet_->getParameterSet("datasets"));
215  datasetNames_ = datasets.getParameterNamesForType<vector<string>>();
216  sort(datasetNames_.begin(), datasetNames_.end());
217  const unsigned int n(datasetNames_.size());
218  datasetContents_.resize(n);
219  for (unsigned int i = 0; i != n; ++i) {
221  datasetContents_[i] = datasets.getParameter<vector<string>>(datasetNames_[i]);
223  }
224  }
225 
226  // Extract and fill Prescale information
227 
228  // Check various possibilities to get the HLT prescale sets:
229  string prescaleName("");
230  const string preS("PrescaleService");
231  const string preT("PrescaleTable");
232  if (processPSet_->existsAs<ParameterSet>(preS, true)) {
233  prescaleName = preS;
234  } else if (processPSet_->existsAs<ParameterSet>(preT, true)) {
235  prescaleName = preT;
236  }
237  if (prescaleName.empty()) {
239  } else {
240  const ParameterSet& iPS(processPSet_->getParameterSet(prescaleName));
241  string defaultLabel("default");
242  if (iPS.existsAs<string>("lvl1DefaultLabel", true)) {
243  defaultLabel = iPS.getParameter<string>("lvl1DefaultLabel");
244  }
245  vector<string> labels;
246  if (iPS.existsAs<vector<string>>("lvl1Labels", true)) {
247  labels = iPS.getParameter<vector<string>>("lvl1Labels");
248  }
249  unsigned int set(0);
250  const unsigned int n(labels.size());
251  for (unsigned int i = 0; i != n; ++i) {
252  if (labels[i] == defaultLabel)
253  set = i;
254  }
255  map<string, vector<unsigned int>> table;
256  if (iPS.existsAs<vector<ParameterSet>>("prescaleTable", true)) {
257  const vector<ParameterSet>& vpTable(iPS.getParameterSetVector("prescaleTable"));
258  const unsigned int m(vpTable.size());
259  for (unsigned int i = 0; i != m; ++i) {
260  table[vpTable[i].getParameter<std::string>("pathName")] =
261  vpTable[i].getParameter<std::vector<unsigned int>>("prescales");
262  }
263  }
264  if (n > 0) {
266  } else {
268  }
269  }
270 
271  // Determine L1T Type (0=unknown, 1=legacy/stage-1 or 2=stage-2)
272  l1tType_ = 0;
273  unsigned int stage1(0), stage2(0);
274  if (processPSet_->existsAs<std::vector<std::string>>("@all_modules")) {
275  const std::vector<std::string>& allModules(processPSet_->getParameter<std::vector<std::string>>("@all_modules"));
276  for (auto const& allModule : allModules) {
277  if ((moduleType(allModule) == "HLTLevel1GTSeed") or (moduleType(allModule) == "L1GlobalTrigger")) {
278  stage1 += 1;
279  } else if ((moduleType(allModule) == "HLTL1TSeed") or (moduleType(allModule) == "L1TGlobalProducer")) {
280  stage2 += 1;
281  }
282  }
283  }
284  if ((stage1 + stage2) == 0) {
285  l1tType_ = 0;
286  // edm::LogError("HLTConfigData") << " Can't identify l1tType: Process '" << processName_ << "' does not contain any identifying instances!";
287  } else if ((stage1 * stage2) != 0) {
288  l1tType_ = 0;
289  // edm::LogError("HLTConfigData") << " Can't identify l1tType: Process '" << processName_ << "' contains both legacy/stage-1/stage-2 instances!";
290  } else if (stage1 > 0) {
291  l1tType_ = 1;
292  // edm::LogError("HLTConfigData") << " Identified Process '" << processName_ << "' as legacy/stage-1 L1T!";
293  } else {
294  l1tType_ = 2;
295  // edm::LogError("HLTConfigData") << " Identified Process '" << processName_ << "' as stage-2 L1T!";
296  }
297 
298  LogVerbatim("HLTConfigData") << "HLTConfigData: ProcessPSet with name/GT/table/l1tType: '" << processName_ << "' '"
299  << globalTag_ << "' '" << tableName_ << "' " << l1tType_;
300 
301  return;
302 }
303 
304 void HLTConfigData::dump(const std::string& what) const {
305  using namespace std;
306  using namespace edm;
307 
308  if (what == "ProcessPSet") {
309  cout << "HLTConfigData::dump: ProcessPSet = " << endl << *processPSet_ << endl;
310  } else if (what == "ProcessName") {
311  cout << "HLTConfigData::dump: ProcessName = " << processName_ << endl;
312  } else if (what == "GlobalTag") {
313  cout << "HLTConfigData::dump: GlobalTag = " << globalTag_ << endl;
314  } else if (what == "TableName") {
315  cout << "HLTConfigData::dump: TableName = " << tableName_ << endl;
316  } else if (what == "Triggers") {
317  const unsigned int n(size());
318  cout << "HLTConfigData::dump: Triggers: " << n << endl;
319  for (unsigned int i = 0; i != n; ++i) {
320  cout << " " << i << " " << triggerNames_[i] << endl;
321  }
322  } else if (what == "TriggerSeeds") {
323  const unsigned int n(size());
324  cout << "HLTConfigData::dump: TriggerSeeds: " << n << endl;
325  for (unsigned int i = 0; i != n; ++i) {
326  const unsigned int m1(hltL1GTSeeds_[i].size());
327  const unsigned int m2(hltL1TSeeds_[i].size());
328  cout << " " << i << " " << triggerNames_[i] << " " << m1 << "/" << m2 << endl;
329  if (m1 > 0) {
330  for (unsigned int j1 = 0; j1 != m1; ++j1) {
331  cout << " HLTLevel1GTSeed: " << j1 << " " << hltL1GTSeeds_[i][j1].first << "/"
332  << hltL1GTSeeds_[i][j1].second;
333  }
334  cout << endl;
335  }
336  if (m2 > 0) {
337  for (unsigned int j2 = 0; j2 != m2; ++j2) {
338  cout << " HLTL1TSeed: " << j2 << " " << hltL1TSeeds_[i][j2];
339  }
340  cout << endl;
341  }
342  }
343  } else if (what == "Modules") {
344  const unsigned int n(size());
345  cout << "HLTConfigData::dump Triggers and Modules: " << n << endl;
346  for (unsigned int i = 0; i != n; ++i) {
347  const unsigned int m(size(i));
348  cout << i << " " << triggerNames_[i] << " " << m << endl;
349  cout << " - Modules: ";
350  unsigned int nHLTPrescalers(0);
351  unsigned int nHLTLevel1GTSeed(0);
352  unsigned int nHLTL1TSeed(0);
353  for (unsigned int j = 0; j != m; ++j) {
354  const string& label(moduleLabels_[i][j]);
355  const string type(moduleType(label));
356  const string edmtype(moduleEDMType(label));
357  const bool tags(saveTags(label));
358  cout << " " << j << ":" << label << "/" << type << "/" << edmtype << "/" << tags;
359  if (type == "HLTPrescaler")
360  nHLTPrescalers++;
361  if (type == "HLTLevel1GTSeed")
362  nHLTLevel1GTSeed++;
363  if (type == "HLTL1TSeed")
364  nHLTL1TSeed++;
365  }
366  cout << endl;
367  cout << " - Number of HLTPrescaler/HLTLevel1GTSeed/HLTL1TSeed modules: " << nHLTPrescalers << "/"
368  << nHLTLevel1GTSeed << "/" << nHLTL1TSeed << endl;
369  }
370  } else if (what == "StreamNames") {
371  const unsigned int n(streamNames_.size());
372  cout << "HLTConfigData::dump: StreamNames: " << n << endl;
373  for (unsigned int i = 0; i != n; ++i) {
374  cout << " " << i << " " << streamNames_[i] << endl;
375  }
376  } else if (what == "Streams") {
377  const unsigned int n(streamNames_.size());
378  cout << "HLTConfigData::dump: Streams: " << n << endl;
379  for (unsigned int i = 0; i != n; ++i) {
380  const unsigned int m(streamContents_[i].size());
381  cout << " " << i << " " << streamNames_[i] << " " << m << endl;
382  for (unsigned int j = 0; j != m; ++j) {
383  cout << " " << j << " " << streamContents_[i][j] << endl;
384  }
385  }
386  } else if (what == "DatasetNames") {
387  const unsigned int n(datasetNames_.size());
388  cout << "HLTConfigData::dump: DatasetNames: " << n << endl;
389  for (unsigned int i = 0; i != n; ++i) {
390  cout << " " << i << " " << datasetNames_[i] << endl;
391  }
392  } else if (what == "Datasets") {
393  const unsigned int n(datasetNames_.size());
394  cout << "HLTConfigData::dump: Datasets: " << n << endl;
395  for (unsigned int i = 0; i != n; ++i) {
396  const unsigned int m(datasetContents_[i].size());
397  cout << " " << i << " " << datasetNames_[i] << " " << m << endl;
398  for (unsigned int j = 0; j != m; ++j) {
399  cout << " " << j << " " << datasetContents_[i][j] << endl;
400  }
401  }
402  } else if (what == "PrescaleTable") {
403  const unsigned int n(hltPrescaleTable_.size());
404  cout << "HLTConfigData::dump: PrescaleTable: # of sets : " << n << endl;
405  const vector<string>& labels(hltPrescaleTable_.labels());
406  for (unsigned int i = 0; i != n; ++i) {
407  cout << " " << i << "/'" << labels.at(i) << "'";
408  }
409  if (n > 0)
410  cout << endl;
411  const map<string, vector<unsigned int>>& table(hltPrescaleTable_.table());
412  cout << "HLTConfigData::dump: PrescaleTable: # of paths: " << table.size() << endl;
413  const map<string, vector<unsigned int>>::const_iterator tb(table.begin());
414  const map<string, vector<unsigned int>>::const_iterator te(table.end());
415  for (map<string, vector<unsigned int>>::const_iterator ti = tb; ti != te; ++ti) {
416  for (unsigned int i = 0; i != n; ++i) {
417  cout << " " << ti->second.at(i);
418  }
419  cout << " " << ti->first << endl;
420  }
421  } else {
422  cout << "HLTConfigData::dump: Unkown dump request: " << what << endl;
423  }
424  return;
425 }
426 
428 
430 
431 unsigned int HLTConfigData::size() const { return triggerNames_.size(); }
432 unsigned int HLTConfigData::size(unsigned int trigger) const { return moduleLabels_.at(trigger).size(); }
433 unsigned int HLTConfigData::size(const std::string& trigger) const { return size(triggerIndex(trigger)); }
434 
436 const std::vector<std::string>& HLTConfigData::triggerNames() const { return triggerNames_; }
437 const std::string& HLTConfigData::triggerName(unsigned int trigger) const { return triggerNames_.at(trigger); }
438 unsigned int HLTConfigData::triggerIndex(const std::string& trigger) const {
439  const std::map<std::string, unsigned int>::const_iterator index(triggerIndex_.find(trigger));
440  if (index == triggerIndex_.end()) {
441  return size();
442  } else {
443  return index->second;
444  }
445 }
446 
447 const std::vector<std::string>& HLTConfigData::moduleLabels(unsigned int trigger) const {
448  return moduleLabels_.at(trigger);
449 }
450 const std::vector<std::string>& HLTConfigData::moduleLabels(const std::string& trigger) const {
451  return moduleLabels_.at(triggerIndex(trigger));
452 }
453 
454 const std::vector<std::string>& HLTConfigData::saveTagsModules(unsigned int trigger) const {
455  return saveTagsModules_.at(trigger);
456 }
457 const std::vector<std::string>& HLTConfigData::saveTagsModules(const std::string& trigger) const {
459 }
460 
461 const std::string& HLTConfigData::moduleLabel(unsigned int trigger, unsigned int module) const {
462  return moduleLabels_.at(trigger).at(module);
463 }
465  return moduleLabels_.at(triggerIndex(trigger)).at(module);
466 }
467 
468 unsigned int HLTConfigData::moduleIndex(unsigned int trigger, const std::string& module) const {
469  const std::map<std::string, unsigned int>::const_iterator index(moduleIndex_.at(trigger).find(module));
470  if (index == moduleIndex_.at(trigger).end()) {
471  return size(trigger);
472  } else {
473  return index->second;
474  }
475 }
478 }
479 
482  if (pset.existsAs<std::string>("@module_type", true)) {
483  return pset.getParameter<std::string>("@module_type");
484  } else {
485  return "";
486  }
487 }
488 
491  if (pset.existsAs<std::string>("@module_edm_type", true)) {
492  return pset.getParameter<std::string>("@module_edm_type");
493  } else {
494  return "";
495  }
496 }
497 
499 
501  //HLTConfigProvider sees ignored modules as "-modname"
502  //but in the PSet, the module is named "modname"
503  //so if it starts with "-", you need to remove the "-" from the
504  //module name to be able to retreive it from the PSet
505  if (processPSet_->exists(module.front() != '-' ? module : module.substr(1))) {
506  return processPSet_->getParameterSet(module.front() != '-' ? module : module.substr(1));
507  } else {
508  return *s_dummyPSet();
509  }
510 }
511 
514  if (pset.existsAs<bool>("saveTags", true)) {
515  return pset.getParameter<bool>("saveTags");
516  } else {
517  return false;
518  }
519 }
520 
521 unsigned int HLTConfigData::l1tType() const { return l1tType_; }
522 
523 const std::vector<std::vector<std::pair<bool, std::string>>>& HLTConfigData::hltL1GTSeeds() const {
524  return hltL1GTSeeds_;
525 }
526 
527 const std::vector<std::pair<bool, std::string>>& HLTConfigData::hltL1GTSeeds(const std::string& trigger) const {
529 }
530 
531 const std::vector<std::pair<bool, std::string>>& HLTConfigData::hltL1GTSeeds(unsigned int trigger) const {
532  return hltL1GTSeeds_.at(trigger);
533 }
534 
535 const std::vector<std::vector<std::string>>& HLTConfigData::hltL1TSeeds() const { return hltL1TSeeds_; }
536 
537 const std::vector<std::string>& HLTConfigData::hltL1TSeeds(const std::string& trigger) const {
539 }
540 
541 const std::vector<std::string>& HLTConfigData::hltL1TSeeds(unsigned int trigger) const {
542  return hltL1TSeeds_.at(trigger);
543 }
544 
546 const std::vector<std::string>& HLTConfigData::streamNames() const { return streamNames_; }
547 
548 const std::string& HLTConfigData::streamName(unsigned int stream) const { return streamNames_.at(stream); }
549 
550 unsigned int HLTConfigData::streamIndex(const std::string& stream) const {
551  const std::map<std::string, unsigned int>::const_iterator index(streamIndex_.find(stream));
552  if (index == streamIndex_.end()) {
553  return streamNames_.size();
554  } else {
555  return index->second;
556  }
557 }
558 
559 const std::vector<std::vector<std::string>>& HLTConfigData::streamContents() const { return streamContents_; }
560 
561 const std::vector<std::string>& HLTConfigData::streamContent(unsigned int stream) const {
562  return streamContents_.at(stream);
563 }
564 
565 const std::vector<std::string>& HLTConfigData::streamContent(const std::string& stream) const {
567 }
568 
570 const std::vector<std::string>& HLTConfigData::datasetNames() const { return datasetNames_; }
571 
572 const std::string& HLTConfigData::datasetName(unsigned int dataset) const { return datasetNames_.at(dataset); }
573 
574 unsigned int HLTConfigData::datasetIndex(const std::string& dataset) const {
575  const std::map<std::string, unsigned int>::const_iterator index(datasetIndex_.find(dataset));
576  if (index == datasetIndex_.end()) {
577  return datasetNames_.size();
578  } else {
579  return index->second;
580  }
581 }
582 
583 const std::vector<std::vector<std::string>>& HLTConfigData::datasetContents() const { return datasetContents_; }
584 
585 const std::vector<std::string>& HLTConfigData::datasetContent(unsigned int dataset) const {
586  return datasetContents_.at(dataset);
587 }
588 
589 const std::vector<std::string>& HLTConfigData::datasetContent(const std::string& dataset) const {
591 }
592 
593 unsigned int HLTConfigData::prescaleSize() const { return hltPrescaleTable_.size(); }
594 unsigned int HLTConfigData::prescaleValue(unsigned int set, const std::string& trigger) const {
595  return hltPrescaleTable_.prescale(set, trigger);
596 }
597 
598 const std::vector<std::string>& HLTConfigData::prescaleLabels() const { return hltPrescaleTable_.labels(); }
599 const std::map<std::string, std::vector<unsigned int>>& HLTConfigData::prescaleTable() const {
600  return hltPrescaleTable_.table();
601 }
602 
SummaryClient_cfi.labels
labels
Definition: SummaryClient_cfi.py:61
HLTConfigData::modulePSet
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
Definition: HLTConfigData.cc:500
HLTConfigData::l1tType
unsigned int l1tType() const
L1T type (0=unknown, 1=legacy/stage-1 or 2=stage-2)
Definition: HLTConfigData.cc:521
trigger::HLTPrescaleTable
The single EDProduct containing the HLT Prescale Table.
Definition: HLTPrescaleTable.h:20
trigger::HLTPrescaleTable::size
unsigned int size() const
consistency condition: all vectors must have the same length
Definition: HLTPrescaleTable.h:34
mps_fire.i
i
Definition: mps_fire.py:355
HLTConfigData::moduleType
const std::string moduleType(const std::string &module) const
C++ class name of module.
Definition: HLTConfigData.cc:480
LogMessageMonitor_cff.modules
modules
Definition: LogMessageMonitor_cff.py:7
HLTConfigData::streamIndex
unsigned int streamIndex(const std::string &stream) const
index of stream with name
Definition: HLTConfigData.cc:550
MessageLogger.h
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
HLTConfigData::prescaleTable
const std::map< std::string, std::vector< unsigned int > > & prescaleTable() const
Definition: HLTConfigData.cc:599
HLTConfigData::triggerNames
const std::vector< std::string > & triggerNames() const
names of trigger paths
Definition: HLTConfigData.cc:436
modules
Definition: ZHLTMatchFilter.cc:17
edm
HLT enums.
Definition: AlignableModifier.h:19
cms::cuda::stream
cudaStream_t stream
Definition: HistoContainer.h:57
gather_cfg.cout
cout
Definition: gather_cfg.py:144
HLTConfigData::hltPrescaleTable_
trigger::HLTPrescaleTable hltPrescaleTable_
Definition: HLTConfigData.h:173
HLTConfigData::datasetNames_
std::vector< std::string > datasetNames_
Definition: HLTConfigData.h:169
HLTConfigData::tableName_
std::string tableName_
Definition: HLTConfigData.h:153
HLTConfigData::hltL1GTSeeds_
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
Definition: HLTConfigData.h:162
HLTConfigData::moduleLabels
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
Definition: HLTConfigData.cc:447
HLTConfigData::processName_
std::string processName_
Definition: HLTConfigData.h:151
HLTConfigData::processName
const std::string & processName() const
Accessors (const methods)
Definition: HLTConfigData.cc:427
HLTConfigData::triggerIndex_
std::map< std::string, unsigned int > triggerIndex_
Definition: HLTConfigData.h:158
HLTConfigData::l1tType_
unsigned int l1tType_
Definition: HLTConfigData.h:161
edm::ParameterSet::id
ParameterSetID id() const
Definition: ParameterSet.cc:182
HLTConfigData::globalTag_
std::string globalTag_
Definition: HLTConfigData.h:152
edm::ParameterSet::existsAs
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:160
HLTConfigData::prescaleValue
unsigned int prescaleValue(unsigned int set, const std::string &trigger) const
HLT prescale value in specific prescale set for a specific trigger path.
Definition: HLTConfigData.cc:594
HLTConfigData::saveTagsModules_
std::vector< std::vector< std::string > > saveTagsModules_
Definition: HLTConfigData.h:156
end
#define end
Definition: vmac.h:39
initializeDummyPSet
static const edm::ParameterSet initializeDummyPSet()
Definition: HLTConfigData.cc:18
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
HLTConfigData::datasetNames
const std::vector< std::string > & datasetNames() const
Datasets.
Definition: HLTConfigData.cc:570
edm::Hash::isValid
bool isValid() const
Definition: Hash.h:141
HLTConfigData::saveTagsModules
const std::vector< std::string > & saveTagsModules(unsigned int trigger) const
Definition: HLTConfigData.cc:454
HLTConfigData::datasetName
const std::string & datasetName(unsigned int dataset) const
name of dataset with index i
Definition: HLTConfigData.cc:572
HLTConfigData::streamIndex_
std::map< std::string, unsigned int > streamIndex_
Definition: HLTConfigData.h:166
HLTConfigData::triggerNames_
std::vector< std::string > triggerNames_
Definition: HLTConfigData.h:154
contentValuesFiles.datasets
datasets
Definition: contentValuesFiles.py:49
HLTConfigData::streamName
const std::string & streamName(unsigned int stream) const
name of stream with index i
Definition: HLTConfigData.cc:548
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
HLTConfigData::extract
void extract()
extract information into data members - called by init() methods
Definition: HLTConfigData.cc:79
edm::Hash< ParameterSetType >
HLTConfigData::HLTConfigData
HLTConfigData()
Definition: HLTConfigData.cc:29
HLTConfigData::streamNames_
std::vector< std::string > streamNames_
Definition: HLTConfigData.h:165
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:674
edm::ParameterSet
Definition: ParameterSet.h:36
HLTConfigData::moduleIndex
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 - size-1)
Definition: HLTConfigData.cc:468
HLTConfigData::moduleEDMType
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
Definition: HLTConfigData.cc:489
HLTConfigData::datasetContent
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
Definition: HLTConfigData.cc:585
HLTConfigData::streamContents_
std::vector< std::vector< std::string > > streamContents_
Definition: HLTConfigData.h:167
HLTConfigData::streamContent
const std::vector< std::string > & streamContent(unsigned int stream) const
names of datasets in stream with index i
Definition: HLTConfigData.cc:561
trigger::HLTPrescaleTable::table
const std::map< std::string, std::vector< unsigned int > > & table() const
Definition: HLTPrescaleTable.h:75
HLTConfigData::processPSet_
const edm::ParameterSet * processPSet_
Definition: HLTConfigData.h:149
HLTConfigData::datasetContents_
std::vector< std::vector< std::string > > datasetContents_
Definition: HLTConfigData.h:171
HLTConfigData::datasetContents
const std::vector< std::vector< std::string > > & datasetContents() const
names of trigger paths for all datasets
Definition: HLTConfigData.cc:583
HLTConfigData::moduleIndex_
std::vector< std::map< std::string, unsigned int > > moduleIndex_
Definition: HLTConfigData.h:159
HLTConfigData::prescaleLabels
const std::vector< std::string > & prescaleLabels() const
low-level data member access
Definition: HLTConfigData.cc:598
edm::LogVerbatim
Definition: MessageLogger.h:297
HLTConfigData::size
unsigned int size() const
number of trigger paths in trigger table
Definition: HLTConfigData.cc:431
HLTConfigData::hltL1TSeeds
const std::vector< std::vector< std::string > > & hltL1TSeeds() const
Definition: HLTConfigData.cc:535
module
Definition: vlib.h:198
HLTConfigData::hltL1TSeeds_
std::vector< std::vector< std::string > > hltL1TSeeds_
Definition: HLTConfigData.h:163
SiStripSourceConfigTier0_cff.stage2
stage2
Definition: SiStripSourceConfigTier0_cff.py:71
HLTConfigData::saveTags
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
Definition: HLTConfigData.cc:512
HLTConfigData::tableName
const std::string & tableName() const
HLT ConfDB table name.
Definition: HLTConfigData.cc:435
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
HLTConfigData::streamContents
const std::vector< std::vector< std::string > > & streamContents() const
names of datasets for all streams
Definition: HLTConfigData.cc:559
trigger::HLTPrescaleTable::prescale
unsigned int prescale(const std::string &trigger) const
high-level user access method: prescale for given trigger path
Definition: HLTPrescaleTable.h:37
HLTConfigData::dump
void dump(const std::string &what) const
Dumping config info to cout.
Definition: HLTConfigData.cc:304
type
type
Definition: HCALResponse.h:21
std
Definition: JetResolutionObject.h:76
HLTConfigData::globalTag
const std::string & globalTag() const
GlobalTag.globaltag.
Definition: HLTConfigData.cc:429
s_dummyPSet
static const edm::ParameterSet * s_dummyPSet()
Definition: HLTConfigData.cc:24
HLTConfigData.h
HLTConfigData::datasetIndex
unsigned int datasetIndex(const std::string &dataset) const
index of dataset with name
Definition: HLTConfigData.cc:574
HLT_2018_cff.streams
streams
Definition: HLT_2018_cff.py:3574
HLTConfigData::moduleLabel
const std::string & moduleLabel(unsigned int trigger, unsigned int module) const
Definition: HLTConfigData.cc:461
HLTConfigData::triggerIndex
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)
Definition: HLTConfigData.cc:438
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
HLTConfigData::hltL1GTSeeds
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
Definition: HLTConfigData.cc:523
HLTConfigData::streamNames
const std::vector< std::string > & streamNames() const
Streams.
Definition: HLTConfigData.cc:546
HLTConfigData::id
edm::ParameterSetID id() const
technical: id() function needed for use with ThreadSafeRegistry
Definition: HLTConfigData.cc:603
triggerMatcherToHLTDebug_cfi.tags
tags
Definition: triggerMatcherToHLTDebug_cfi.py:9
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
HLTConfigData::processPSet
const edm::ParameterSet & processPSet() const
ParameterSet of process.
Definition: HLTConfigData.cc:498
trigger
Definition: HLTPrescaleTableCond.h:8
dataset
Definition: dataset.py:1
trigger::HLTPrescaleTable::labels
const std::vector< std::string > & labels() const
Definition: HLTPrescaleTable.h:74
HLTConfigData::datasetIndex_
std::map< std::string, unsigned int > datasetIndex_
Definition: HLTConfigData.h:170
genParticles_cff.map
map
Definition: genParticles_cff.py:11
dummy
Definition: DummySelector.h:38
edmTracerLogToSimpleConfig.allModules
allModules
Definition: edmTracerLogToSimpleConfig.py:132
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
TableParser.table
table
Definition: TableParser.py:111
HLTConfigData::prescaleSize
unsigned int prescaleSize() const
Definition: HLTConfigData.cc:593
HLTConfigData::triggerName
const std::string & triggerName(unsigned int triggerIndex) const
Definition: HLTConfigData.cc:437
edm::InputTag
Definition: InputTag.h:15
begin
#define begin
Definition: vmac.h:32
label
const char * label
Definition: PFTauDecayModeTools.cc:11
edm::ParameterSet::getParameterSet
ParameterSet const & getParameterSet(std::string const &) const
Definition: ParameterSet.cc:2121
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
HLTConfigData::moduleLabels_
std::vector< std::vector< std::string > > moduleLabels_
Definition: HLTConfigData.h:155