CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
HLTConfigData Class Reference

#include <HLTConfigData.h>

Public Member Functions

const std::vector< std::string > & datasetContent (unsigned int dataset) const
 names of trigger paths in dataset with index i More...
 
const std::vector< std::string > & datasetContent (const std::string &dataset) const
 names of trigger paths in dataset with name More...
 
const std::vector< std::vector< std::string > > & datasetContents () const
 names of trigger paths for all datasets More...
 
unsigned int datasetIndex (const std::string &dataset) const
 index of dataset with name More...
 
const std::string & datasetName (unsigned int dataset) const
 name of dataset with index i More...
 
const std::vector< std::string > & datasetNames () const
 Datasets. More...
 
void dump (const std::string &what) const
 Dumping config info to cout. More...
 
const std::string & globalTag () const
 GlobalTag.globaltag. More...
 
 HLTConfigData ()
 
 HLTConfigData (const edm::ParameterSet *iID)
 
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds () const
 
const std::vector< std::pair< bool, std::string > > & hltL1GTSeeds (const std::string &trigger) const
 HLTLevel1GTSeed modules for trigger path with name. More...
 
const std::vector< std::pair< bool, std::string > > & hltL1GTSeeds (unsigned int trigger) const
 HLTLevel1GTSeed modules for trigger path with index i. More...
 
const std::vector< std::vector< std::string > > & hltL1TSeeds () const
 
const std::vector< std::string > & hltL1TSeeds (const std::string &trigger) const
 HLTL1TSeed modules for trigger path with name. More...
 
const std::vector< std::string > & hltL1TSeeds (unsigned int trigger) const
 HLTL1TSeed modules for trigger path with index i. More...
 
edm::ParameterSetID id () const
 technical: id() function needed for use with ThreadSafeRegistry More...
 
unsigned int l1tType () const
 L1T type (0=unknown, 1=legacy/stage-1 or 2=stage-2) More...
 
const std::string moduleEDMType (const std::string &module) const
 C++ base class name of module. More...
 
unsigned int moduleIndex (unsigned int trigger, const std::string &module) const
 slot position of module on trigger path (0 - size-1) More...
 
unsigned int moduleIndex (const std::string &trigger, const std::string &module) const
 
const std::string & moduleLabel (unsigned int trigger, unsigned int module) const
 
const std::string & moduleLabel (const std::string &trigger, unsigned int module) const
 
const std::vector< std::string > & moduleLabels (unsigned int trigger) const
 label(s) of module(s) on a trigger path More...
 
const std::vector< std::string > & moduleLabels (const std::string &trigger) const
 
const edm::ParameterSetmodulePSet (const std::string &module) const
 ParameterSet of module. More...
 
const std::string moduleType (const std::string &module) const
 C++ class name of module. More...
 
const std::vector< std::string > & prescaleLabels () const
 labels of HLT prescale columns More...
 
unsigned int prescaleSize () const
 
template<typename T = unsigned int>
std::map< std::string, std::vector< T > > const & prescaleTable () const
 map of HLT prescales by trigger-path name (key=path, value=prescales) More...
 
template<>
std::map< std::string, std::vector< double > > const & prescaleTable () const
 
template<>
std::map< std::string, std::vector< FractionalPrescale > > const & prescaleTable () const
 
template<typename T = unsigned int>
T prescaleValue (unsigned int set, const std::string &trigger) const
 HLT prescale value in specific prescale set for a specific trigger path. More...
 
const std::string & processName () const
 Accessors (const methods) More...
 
const edm::ParameterSetprocessPSet () const
 ParameterSet of process. More...
 
bool saveTags (const std::string &module) const
 Is module an L3 filter (ie, tracked saveTags=true) More...
 
const std::vector< std::string > & saveTagsModules (unsigned int trigger) const
 
const std::vector< std::string > & saveTagsModules (const std::string &trigger) const
 
unsigned int size () const
 number of trigger paths in trigger table More...
 
unsigned int size (unsigned int trigger) const
 number of modules on a specific trigger path More...
 
unsigned int size (const std::string &trigger) const
 
const std::vector< std::string > & streamContent (unsigned int stream) const
 names of datasets in stream with index i More...
 
const std::vector< std::string > & streamContent (const std::string &stream) const
 names of datasets in stream with name More...
 
const std::vector< std::vector< std::string > > & streamContents () const
 names of datasets for all streams More...
 
unsigned int streamIndex (const std::string &stream) const
 index of stream with name More...
 
const std::string & streamName (unsigned int stream) const
 name of stream with index i More...
 
const std::vector< std::string > & streamNames () const
 Streams. More...
 
const std::string & tableName () const
 HLT ConfDB table name. More...
 
unsigned int triggerIndex (const std::string &triggerName) const
 slot position of trigger path in trigger table (0 - size-1) More...
 
const std::string & triggerName (unsigned int triggerIndex) const
 
const std::vector< std::string > & triggerNames () const
 names of trigger paths More...
 

Private Member Functions

void extract ()
 extract information into data members - called by init() methods More...
 

Private Attributes

std::vector< std::vector< std::string > > datasetContents_
 
std::map< std::string, unsigned int > datasetIndex_
 
std::vector< std::string > datasetNames_
 
std::string globalTag_
 
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
 
std::vector< std::vector< std::string > > hltL1TSeeds_
 
trigger::HLTPrescaleTable hltPrescaleTable_
 
std::map< std::string, std::vector< double > > hltPrescaleTableValuesDouble_
 
std::map< std::string, std::vector< FractionalPrescale > > hltPrescaleTableValuesFractional_
 
unsigned int l1tType_
 
std::vector< std::map< std::string, unsigned int > > moduleIndex_
 
std::vector< std::vector< std::string > > moduleLabels_
 
std::string processName_
 
const edm::ParameterSetprocessPSet_
 
std::vector< std::vector< std::string > > saveTagsModules_
 
std::vector< std::vector< std::string > > streamContents_
 
std::map< std::string, unsigned int > streamIndex_
 
std::vector< std::string > streamNames_
 
std::string tableName_
 
std::map< std::string, unsigned int > triggerIndex_
 
std::vector< std::string > triggerNames_
 

Detailed Description

This class provides access routines to get hold of the HLT Configuration

Author
Martin Grunewald

See header file for documentation

Author
Martin Grunewald

Definition at line 27 of file HLTConfigData.h.

Constructor & Destructor Documentation

◆ HLTConfigData() [1/2]

HLTConfigData::HLTConfigData ( )

Definition at line 31 of file HLTConfigData.cc.

33  processName_(""),
34  globalTag_(""),
35  tableName_(),
36  triggerNames_(),
37  moduleLabels_(),
39  triggerIndex_(),
40  moduleIndex_(),
41  l1tType_(0),
42  hltL1GTSeeds_(),
43  hltL1TSeeds_(),
44  streamNames_(),
45  streamIndex_(),
47  datasetNames_(),
48  datasetIndex_(),
53  if (processPSet_->id().isValid()) {
54  extract();
55  }
56 }
std::map< std::string, unsigned int > triggerIndex_
std::vector< std::string > datasetNames_
bool isValid() const
Definition: Hash.h:141
std::vector< std::vector< std::string > > saveTagsModules_
std::vector< std::map< std::string, unsigned int > > moduleIndex_
std::string globalTag_
ParameterSetID id() const
std::vector< std::vector< std::string > > streamContents_
std::vector< std::string > triggerNames_
std::vector< std::vector< std::string > > datasetContents_
std::string tableName_
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
std::map< std::string, unsigned int > streamIndex_
void extract()
extract information into data members - called by init() methods
std::vector< std::vector< std::string > > hltL1TSeeds_
std::map< std::string, unsigned int > datasetIndex_
std::map< std::string, std::vector< FractionalPrescale > > hltPrescaleTableValuesFractional_
const edm::ParameterSet * processPSet_
std::map< std::string, std::vector< double > > hltPrescaleTableValuesDouble_
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
std::vector< std::string > streamNames_
static const edm::ParameterSet * s_dummyPSet()
std::string processName_
unsigned int l1tType_

◆ HLTConfigData() [2/2]

HLTConfigData::HLTConfigData ( const edm::ParameterSet iID)

Definition at line 58 of file HLTConfigData.cc.

59  : processPSet_(iPSet),
60  processName_(""),
61  globalTag_(""),
62  tableName_(),
63  triggerNames_(),
64  moduleLabels_(),
66  triggerIndex_(),
67  moduleIndex_(),
68  l1tType_(0),
69  hltL1GTSeeds_(),
70  hltL1TSeeds_(),
71  streamNames_(),
72  streamIndex_(),
74  datasetNames_(),
75  datasetIndex_(),
80  if (processPSet_->id().isValid()) {
81  extract();
82  }
83 }
std::map< std::string, unsigned int > triggerIndex_
std::vector< std::string > datasetNames_
bool isValid() const
Definition: Hash.h:141
std::vector< std::vector< std::string > > saveTagsModules_
std::vector< std::map< std::string, unsigned int > > moduleIndex_
std::string globalTag_
ParameterSetID id() const
std::vector< std::vector< std::string > > streamContents_
std::vector< std::string > triggerNames_
std::vector< std::vector< std::string > > datasetContents_
std::string tableName_
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
std::map< std::string, unsigned int > streamIndex_
void extract()
extract information into data members - called by init() methods
std::vector< std::vector< std::string > > hltL1TSeeds_
std::map< std::string, unsigned int > datasetIndex_
std::map< std::string, std::vector< FractionalPrescale > > hltPrescaleTableValuesFractional_
const edm::ParameterSet * processPSet_
std::map< std::string, std::vector< double > > hltPrescaleTableValuesDouble_
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
std::vector< std::string > streamNames_
std::string processName_
unsigned int l1tType_

Member Function Documentation

◆ datasetContent() [1/2]

const std::vector< std::string > & HLTConfigData::datasetContent ( unsigned int  dataset) const

names of trigger paths in dataset with index i

Definition at line 598 of file HLTConfigData.cc.

References datasetContents_.

Referenced by datasetContent(), and HLTConfigProvider::datasetContent().

598  {
599  return datasetContents_.at(dataset);
600 }
std::vector< std::vector< std::string > > datasetContents_

◆ datasetContent() [2/2]

const std::vector< std::string > & HLTConfigData::datasetContent ( const std::string &  dataset) const

names of trigger paths in dataset with name

Definition at line 602 of file HLTConfigData.cc.

References datasetContent(), and datasetIndex().

602  {
604 }
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
unsigned int datasetIndex(const std::string &dataset) const
index of dataset with name

◆ datasetContents()

const std::vector< std::vector< std::string > > & HLTConfigData::datasetContents ( ) const

names of trigger paths for all datasets

Definition at line 596 of file HLTConfigData.cc.

References datasetContents_.

Referenced by HLTConfigProvider::datasetContents().

596 { return datasetContents_; }
std::vector< std::vector< std::string > > datasetContents_

◆ datasetIndex()

unsigned int HLTConfigData::datasetIndex ( const std::string &  dataset) const

index of dataset with name

Definition at line 587 of file HLTConfigData.cc.

References datasetIndex_, and datasetNames_.

Referenced by datasetContent(), and HLTConfigProvider::datasetIndex().

587  {
588  const std::map<std::string, unsigned int>::const_iterator index(datasetIndex_.find(dataset));
589  if (index == datasetIndex_.end()) {
590  return datasetNames_.size();
591  } else {
592  return index->second;
593  }
594 }
std::vector< std::string > datasetNames_
std::map< std::string, unsigned int > datasetIndex_

◆ datasetName()

const std::string & HLTConfigData::datasetName ( unsigned int  dataset) const

name of dataset with index i

Definition at line 585 of file HLTConfigData.cc.

References datasetNames_.

Referenced by HLTConfigProvider::datasetName().

585 { return datasetNames_.at(dataset); }
std::vector< std::string > datasetNames_

◆ datasetNames()

const std::vector< std::string > & HLTConfigData::datasetNames ( ) const

Datasets.

Datasets list of names of all datasets

Definition at line 583 of file HLTConfigData.cc.

References datasetNames_.

Referenced by HLTConfigProvider::datasetNames().

583 { return datasetNames_; }
std::vector< std::string > datasetNames_

◆ dump()

void HLTConfigData::dump ( const std::string &  what) const

Dumping config info to cout.

Definition at line 319 of file HLTConfigData.cc.

References gather_cfg::cout, datasetContents_, datasetNames_, globalTag_, hltL1GTSeeds_, hltL1TSeeds_, hltPrescaleTable_, mps_fire::i, dqmiolumiharvest::j, crabWrapper::key, label, SummaryClient_cfi::labels, trigger::HLTPrescaleTable::labels(), visualization-live-secondInstance_cfg::m, callgraph::m2, moduleEDMType(), moduleLabels_, moduleType(), dqmiodumpmetadata::n, processName_, processPSet_, saveTags(), trigger::HLTPrescaleTable::size(), size(), streamContents_, streamNames_, trigger::HLTPrescaleTable::table(), TableParser::table, tableName_, triggerMatcherToHLTDebug_cfi::tags, triggerNames_, and heppy_batch::val.

Referenced by HLTConfigProvider::dump().

319  {
320  using namespace std;
321  using namespace edm;
322 
323  if (what == "ProcessPSet") {
324  cout << "HLTConfigData::dump: ProcessPSet = " << endl << *processPSet_ << endl;
325  } else if (what == "ProcessName") {
326  cout << "HLTConfigData::dump: ProcessName = " << processName_ << endl;
327  } else if (what == "GlobalTag") {
328  cout << "HLTConfigData::dump: GlobalTag = " << globalTag_ << endl;
329  } else if (what == "TableName") {
330  cout << "HLTConfigData::dump: TableName = " << tableName_ << endl;
331  } else if (what == "Triggers") {
332  const unsigned int n(size());
333  cout << "HLTConfigData::dump: Triggers: " << n << endl;
334  for (unsigned int i = 0; i != n; ++i) {
335  cout << " " << i << " " << triggerNames_[i] << endl;
336  }
337  } else if (what == "TriggerSeeds") {
338  const unsigned int n(size());
339  cout << "HLTConfigData::dump: TriggerSeeds: " << n << endl;
340  for (unsigned int i = 0; i != n; ++i) {
341  const unsigned int m1(hltL1GTSeeds_[i].size());
342  const unsigned int m2(hltL1TSeeds_[i].size());
343  cout << " " << i << " " << triggerNames_[i] << " " << m1 << "/" << m2 << endl;
344  if (m1 > 0) {
345  for (unsigned int j1 = 0; j1 != m1; ++j1) {
346  cout << " HLTLevel1GTSeed: " << j1 << " " << hltL1GTSeeds_[i][j1].first << "/"
347  << hltL1GTSeeds_[i][j1].second;
348  }
349  cout << endl;
350  }
351  if (m2 > 0) {
352  for (unsigned int j2 = 0; j2 != m2; ++j2) {
353  cout << " HLTL1TSeed: " << j2 << " " << hltL1TSeeds_[i][j2];
354  }
355  cout << endl;
356  }
357  }
358  } else if (what == "Modules") {
359  const unsigned int n(size());
360  cout << "HLTConfigData::dump Triggers and Modules: " << n << endl;
361  for (unsigned int i = 0; i != n; ++i) {
362  const unsigned int m(size(i));
363  cout << i << " " << triggerNames_[i] << " " << m << endl;
364  cout << " - Modules: ";
365  unsigned int nHLTPrescalers(0);
366  unsigned int nHLTLevel1GTSeed(0);
367  unsigned int nHLTL1TSeed(0);
368  for (unsigned int j = 0; j != m; ++j) {
369  const string& label(moduleLabels_[i][j]);
370  const string type(moduleType(label));
371  const string edmtype(moduleEDMType(label));
372  const bool tags(saveTags(label));
373  cout << " " << j << ":" << label << "/" << type << "/" << edmtype << "/" << tags;
374  if (type == "HLTPrescaler")
375  nHLTPrescalers++;
376  if (type == "HLTLevel1GTSeed")
377  nHLTLevel1GTSeed++;
378  if (type == "HLTL1TSeed")
379  nHLTL1TSeed++;
380  }
381  cout << endl;
382  cout << " - Number of HLTPrescaler/HLTLevel1GTSeed/HLTL1TSeed modules: " << nHLTPrescalers << "/"
383  << nHLTLevel1GTSeed << "/" << nHLTL1TSeed << endl;
384  }
385  } else if (what == "StreamNames") {
386  const unsigned int n(streamNames_.size());
387  cout << "HLTConfigData::dump: StreamNames: " << n << endl;
388  for (unsigned int i = 0; i != n; ++i) {
389  cout << " " << i << " " << streamNames_[i] << endl;
390  }
391  } else if (what == "Streams") {
392  const unsigned int n(streamNames_.size());
393  cout << "HLTConfigData::dump: Streams: " << n << endl;
394  for (unsigned int i = 0; i != n; ++i) {
395  const unsigned int m(streamContents_[i].size());
396  cout << " " << i << " " << streamNames_[i] << " " << m << endl;
397  for (unsigned int j = 0; j != m; ++j) {
398  cout << " " << j << " " << streamContents_[i][j] << endl;
399  }
400  }
401  } else if (what == "DatasetNames") {
402  const unsigned int n(datasetNames_.size());
403  cout << "HLTConfigData::dump: DatasetNames: " << n << endl;
404  for (unsigned int i = 0; i != n; ++i) {
405  cout << " " << i << " " << datasetNames_[i] << endl;
406  }
407  } else if (what == "Datasets") {
408  const unsigned int n(datasetNames_.size());
409  cout << "HLTConfigData::dump: Datasets: " << n << endl;
410  for (unsigned int i = 0; i != n; ++i) {
411  const unsigned int m(datasetContents_[i].size());
412  cout << " " << i << " " << datasetNames_[i] << " " << m << endl;
413  for (unsigned int j = 0; j != m; ++j) {
414  cout << " " << j << " " << datasetContents_[i][j] << endl;
415  }
416  }
417  } else if (what == "PrescaleTable") {
418  const unsigned int n(hltPrescaleTable_.size());
419  cout << "HLTConfigData::dump: PrescaleTable: # of sets : " << n << endl;
420  const vector<string>& labels(hltPrescaleTable_.labels());
421  for (unsigned int i = 0; i != n; ++i) {
422  cout << " " << i << "/'" << labels.at(i) << "'";
423  }
424  if (n > 0)
425  cout << endl;
426  auto const& table = hltPrescaleTable_.table();
427  cout << "HLTConfigData::dump: PrescaleTable: # of paths: " << table.size() << endl;
428  for (auto const& [key, val] : table) {
429  for (unsigned int i = 0; i != n; ++i) {
430  cout << " " << val.at(i);
431  }
432  cout << " " << key << endl;
433  }
434  } else {
435  cout << "HLTConfigData::dump: Unkown dump request: " << what << endl;
436  }
437  return;
438 }
const std::vector< std::string > & labels() const
std::vector< std::string > datasetNames_
char const * label
std::string globalTag_
std::vector< std::vector< std::string > > streamContents_
std::vector< std::string > triggerNames_
const std::map< std::string, std::vector< unsigned int > > & table() const
std::vector< std::vector< std::string > > datasetContents_
std::string tableName_
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
std::vector< std::vector< std::string > > hltL1TSeeds_
unsigned int size() const
consistency condition: all vectors must have the same length
const edm::ParameterSet * processPSet_
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
const std::string moduleType(const std::string &module) const
C++ class name of module.
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
unsigned int size() const
number of trigger paths in trigger table
HLT enums.
std::vector< std::string > streamNames_
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
std::string processName_

◆ extract()

void HLTConfigData::extract ( )
private

extract information into data members - called by init() methods

Definition at line 85 of file HLTConfigData.cc.

References edmTracerLogToSimpleConfig::allModules, edm::path_configuration::configurationToModuleBitPosition(), datasetContents_, datasetIndex_, datasetNames_, contentValuesFiles::datasets, mps_fire::end, edm::ParameterSet::exists(), edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), globalTag_, hltL1GTSeeds_, hltL1TSeeds_, hltPrescaleTable_, hltPrescaleTableValuesDouble_, hltPrescaleTableValuesFractional_, mps_fire::i, dqmiolumiharvest::j, crabWrapper::key, l1tType_, label, edm::InputTag::label(), SummaryClient_cfi::labels, visualization-live-secondInstance_cfg::m, moduleIndex_, moduleLabels(), moduleLabels_, modulePSet(), LogMessageMonitor_cff::modules, moduleType(), dqmiodumpmetadata::n, or, processName_, processPSet_, muonDTDigis_cfi::pset, saveTags(), saveTagsModules_, size(), jetUpdater_cfi::sort, SiStripSourceConfigTier0_cff::stage2, streamContents_, streamIndex_, streamNames_, HLT_2023v12_cff::streams, AlCaHLTBitMon_QueryRunRegistry::string, trigger::HLTPrescaleTable::table(), TableParser::table, tableName_, triggerIndex_, triggerNames_, and edm::vector_transform().

85  {
86  using namespace std;
87  using namespace edm;
88  using namespace trigger;
89 
90  // Extract process name
91  if (processPSet_->existsAs<string>("@process_name", true)) {
92  processName_ = processPSet_->getParameter<string>("@process_name");
93  }
94 
95  // Extract globaltag
96  globalTag_ = "";
97  const ParameterSet* GlobalTagPSet(nullptr);
98  if (processPSet_->exists("GlobalTag")) {
99  GlobalTagPSet = &(processPSet_->getParameterSet("GlobalTag"));
100  } else if (processPSet_->exists("PoolDBESSource@GlobalTag")) {
101  GlobalTagPSet = &(processPSet_->getParameterSet("PoolDBESSource@GlobalTag"));
102  }
103  if (GlobalTagPSet && GlobalTagPSet->existsAs<std::string>("globaltag", true)) {
104  globalTag_ = GlobalTagPSet->getParameter<std::string>("globaltag");
105  }
106 
107  // Obtain PSet containing table name (available only in 2_1_10++ files)
108  if (processPSet_->existsAs<ParameterSet>("HLTConfigVersion", true)) {
109  const ParameterSet& HLTPSet(processPSet_->getParameterSet("HLTConfigVersion"));
110  if (HLTPSet.existsAs<string>("tableName", true)) {
111  tableName_ = HLTPSet.getParameter<string>("tableName");
112  }
113  }
114 
115  // Extract trigger paths (= paths - end_paths)
116  if (processPSet_->existsAs<ParameterSet>("@trigger_paths", true)) {
117  const ParameterSet& HLTPSet(processPSet_->getParameterSet("@trigger_paths"));
118  if (HLTPSet.existsAs<vector<string>>("@trigger_paths", true)) {
119  triggerNames_ = HLTPSet.getParameter<vector<string>>("@trigger_paths");
120  }
121  }
122 
123  // Obtain module labels of all modules on all trigger paths
124  const unsigned int n(size());
125  moduleLabels_.reserve(n);
126  for (unsigned int i = 0; i != n; ++i) {
127  if (processPSet_->existsAs<vector<string>>(triggerNames_[i], true)) {
129  processPSet_->getParameter<vector<string>>(triggerNames_[i])));
130  }
131  }
132  saveTagsModules_.reserve(n);
133  vector<string> labels;
134  for (unsigned int i = 0; i != n; ++i) {
135  labels.clear();
136  const vector<string>& modules(moduleLabels(i));
137  const unsigned int m(modules.size());
138  labels.reserve(m);
139  for (unsigned int j = 0; j != m; ++j) {
140  const string& label(modules[j]);
141  if (saveTags(label))
142  labels.push_back(label);
143  }
144  saveTagsModules_.push_back(labels);
145  }
146 
147  // Fill index maps for fast lookup
148  moduleIndex_.resize(n);
149  for (unsigned int i = 0; i != n; ++i) {
151  moduleIndex_[i].clear();
152  const unsigned int m(size(i));
153  for (unsigned int j = 0; j != m; ++j) {
155  }
156  }
157 
158  // Extract and fill HLTLevel1GTSeed information for each trigger path
159  hltL1GTSeeds_.resize(n);
160  for (unsigned int i = 0; i != n; ++i) {
161  hltL1GTSeeds_[i].clear();
162  const unsigned int m(size(i));
163  for (unsigned int j = 0; j != m; ++j) {
164  const string& label(moduleLabels_[i][j]);
165  //HLTConfigProvider sees ignored modules as "-modname"
166  //if the HLTLevel1GTSeed is ignored in the config, it shouldnt
167  //count to the number of active HLTLevel1GTSeeds so we now check
168  //for the module being ignored
169  if (label.front() != '-' && moduleType(label) == "HLTLevel1GTSeed") {
171  if (pset != ParameterSet()) {
172  const bool l1Tech(pset.getParameter<bool>("L1TechTriggerSeeding"));
173  const string l1Seed(pset.getParameter<string>("L1SeedsLogicalExpression"));
174  hltL1GTSeeds_[i].push_back(pair<bool, string>(l1Tech, l1Seed));
175  }
176  }
177  }
178  }
179 
180  // Extract and fill HLTL1TSeed information for each trigger path
181  hltL1TSeeds_.resize(n);
182  for (unsigned int i = 0; i != n; ++i) {
183  hltL1TSeeds_[i].clear();
184  const unsigned int m(size(i));
185  for (unsigned int j = 0; j != m; ++j) {
186  const string& label(moduleLabels_[i][j]);
187  //HLTConfigProvider sees ignored modules as "-modname"
188  //if the HLTL1TSeed is ignored in the config, it shouldnt
189  //count to the number of active HLTL1TSeeds so we now check
190  //for the module being ignored
191  if (label.front() != '-' && moduleType(label) == "HLTL1TSeed") {
193  if (pset != ParameterSet()) {
194  const string l1Gtag(pset.getParameter<edm::InputTag>("L1GlobalInputTag").label());
195  // Emulator output is used to ignore L1T prescales
196  if (l1Gtag != "hltGtStage2ObjectMap") {
197  const string l1Seed(pset.getParameter<string>("L1SeedsLogicalExpression"));
198  hltL1TSeeds_[i].push_back(l1Seed);
199  }
200  }
201  }
202  }
203  }
204 
205  // Extract and fill streams information
206  if (processPSet_->existsAs<ParameterSet>("streams", true)) {
207  const ParameterSet& streams(processPSet_->getParameterSet("streams"));
208  streamNames_ = streams.getParameterNamesForType<vector<string>>();
209  sort(streamNames_.begin(), streamNames_.end());
210  const unsigned int n(streamNames_.size());
211  streamContents_.resize(n);
212  for (unsigned int i = 0; i != n; ++i) {
214  streamContents_[i] = streams.getParameter<vector<string>>(streamNames_[i]);
216  }
217  }
218 
219  // Extract and fill datasets information
220  if (processPSet_->existsAs<ParameterSet>("datasets", true)) {
221  const ParameterSet& datasets(processPSet_->getParameterSet("datasets"));
222  datasetNames_ = datasets.getParameterNamesForType<vector<string>>();
223  sort(datasetNames_.begin(), datasetNames_.end());
224  const unsigned int n(datasetNames_.size());
225  datasetContents_.resize(n);
226  for (unsigned int i = 0; i != n; ++i) {
228  datasetContents_[i] = datasets.getParameter<vector<string>>(datasetNames_[i]);
230  }
231  }
232 
233  // Extract and fill Prescale information
234 
235  // Check various possibilities to get the HLT prescale sets:
236  string prescaleName("");
237  const string preS("PrescaleService");
238  const string preT("PrescaleTable");
239  if (processPSet_->existsAs<ParameterSet>(preS, true)) {
240  prescaleName = preS;
241  } else if (processPSet_->existsAs<ParameterSet>(preT, true)) {
242  prescaleName = preT;
243  }
244  if (prescaleName.empty()) {
246  } else {
247  const ParameterSet& iPS(processPSet_->getParameterSet(prescaleName));
248  string defaultLabel("default");
249  if (iPS.existsAs<string>("lvl1DefaultLabel", true)) {
250  defaultLabel = iPS.getParameter<string>("lvl1DefaultLabel");
251  }
252  vector<string> labels;
253  if (iPS.existsAs<vector<string>>("lvl1Labels", true)) {
254  labels = iPS.getParameter<vector<string>>("lvl1Labels");
255  }
256  unsigned int set(0);
257  const unsigned int n(labels.size());
258  for (unsigned int i = 0; i != n; ++i) {
259  if (labels[i] == defaultLabel)
260  set = i;
261  }
262  map<string, vector<unsigned int>> table;
263  if (iPS.existsAs<vector<ParameterSet>>("prescaleTable", true)) {
264  const vector<ParameterSet>& vpTable(iPS.getParameterSetVector("prescaleTable"));
265  const unsigned int m(vpTable.size());
266  for (unsigned int i = 0; i != m; ++i) {
267  table[vpTable[i].getParameter<std::string>("pathName")] =
268  vpTable[i].getParameter<std::vector<unsigned int>>("prescales");
269  }
270  }
271  if (n > 0) {
273  } else {
275  }
276  }
277 
278  // fill maps to return prescales values with allowed types (double, FractionalPrescale)
279  for (auto const& [key, psVals] : hltPrescaleTable_.table()) {
281  {key, edm::vector_transform(psVals, [](auto const ps) -> double { return ps; })});
283  {key, edm::vector_transform(psVals, [](auto const ps) -> FractionalPrescale { return ps; })});
284  }
285 
286  // Determine L1T Type (0=unknown, 1=legacy/stage-1 or 2=stage-2)
287  l1tType_ = 0;
288  unsigned int stage1(0), stage2(0);
289  if (processPSet_->existsAs<std::vector<std::string>>("@all_modules")) {
290  const std::vector<std::string>& allModules(processPSet_->getParameter<std::vector<std::string>>("@all_modules"));
291  for (auto const& allModule : allModules) {
292  if ((moduleType(allModule) == "HLTLevel1GTSeed") or (moduleType(allModule) == "L1GlobalTrigger")) {
293  stage1 += 1;
294  } else if ((moduleType(allModule) == "HLTL1TSeed") or (moduleType(allModule) == "L1TGlobalProducer")) {
295  stage2 += 1;
296  }
297  }
298  }
299  if ((stage1 + stage2) == 0) {
300  l1tType_ = 0;
301  // edm::LogError("HLTConfigData") << " Can't identify l1tType: Process '" << processName_ << "' does not contain any identifying instances!";
302  } else if ((stage1 * stage2) != 0) {
303  l1tType_ = 0;
304  // edm::LogError("HLTConfigData") << " Can't identify l1tType: Process '" << processName_ << "' contains both legacy/stage-1/stage-2 instances!";
305  } else if (stage1 > 0) {
306  l1tType_ = 1;
307  // edm::LogError("HLTConfigData") << " Identified Process '" << processName_ << "' as legacy/stage-1 L1T!";
308  } else {
309  l1tType_ = 2;
310  // edm::LogError("HLTConfigData") << " Identified Process '" << processName_ << "' as stage-2 L1T!";
311  }
312 
313  LogVerbatim("HLTConfigData") << "HLTConfigData: ProcessPSet with name/GT/table/l1tType: '" << processName_ << "' '"
314  << globalTag_ << "' '" << tableName_ << "' " << l1tType_;
315 
316  return;
317 }
Log< level::Info, true > LogVerbatim
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::map< std::string, unsigned int > triggerIndex_
bool exists(std::string const &parameterName) const
checks if a parameter exists
The single EDProduct containing the HLT Prescale Table.
ParameterSet const & getParameterSet(std::string const &) const
std::vector< std::string > datasetNames_
std::string const & label() const
Definition: InputTag.h:36
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:171
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
Definition: transform.h:11
std::vector< std::vector< std::string > > saveTagsModules_
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
char const * label
std::vector< std::map< std::string, unsigned int > > moduleIndex_
std::string globalTag_
boost::rational< int > FractionalPrescale
std::vector< std::string > configurationToModuleBitPosition(std::vector< std::string >)
std::vector< std::vector< std::string > > streamContents_
std::vector< std::string > triggerNames_
const std::map< std::string, std::vector< unsigned int > > & table() const
std::vector< std::vector< std::string > > datasetContents_
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
std::string tableName_
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
std::map< std::string, unsigned int > streamIndex_
std::vector< std::vector< std::string > > hltL1TSeeds_
std::map< std::string, unsigned int > datasetIndex_
std::map< std::string, std::vector< FractionalPrescale > > hltPrescaleTableValuesFractional_
const edm::ParameterSet * processPSet_
std::map< std::string, std::vector< double > > hltPrescaleTableValuesDouble_
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
const std::string moduleType(const std::string &module) const
C++ class name of module.
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
unsigned int size() const
number of trigger paths in trigger table
HLT enums.
std::vector< std::string > streamNames_
std::string processName_
unsigned int l1tType_

◆ globalTag()

const std::string & HLTConfigData::globalTag ( ) const

GlobalTag.globaltag.

Definition at line 442 of file HLTConfigData.cc.

References globalTag_.

Referenced by HLTConfigProvider::globalTag().

442 { return globalTag_; }
std::string globalTag_

◆ hltL1GTSeeds() [1/3]

const std::vector< std::vector< std::pair< bool, std::string > > > & HLTConfigData::hltL1GTSeeds ( ) const

HLTLevel1GTSeed module HLTLevel1GTSeed modules for all trigger paths

Definition at line 536 of file HLTConfigData.cc.

References hltL1GTSeeds_.

Referenced by hltL1GTSeeds(), and HLTConfigProvider::hltL1GTSeeds().

536  {
537  return hltL1GTSeeds_;
538 }
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_

◆ hltL1GTSeeds() [2/3]

const std::vector< std::pair< bool, std::string > > & HLTConfigData::hltL1GTSeeds ( const std::string &  trigger) const

HLTLevel1GTSeed modules for trigger path with name.

Definition at line 540 of file HLTConfigData.cc.

References hltL1GTSeeds(), and triggerIndex().

540  {
542 }
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)

◆ hltL1GTSeeds() [3/3]

const std::vector< std::pair< bool, std::string > > & HLTConfigData::hltL1GTSeeds ( unsigned int  trigger) const

HLTLevel1GTSeed modules for trigger path with index i.

Definition at line 544 of file HLTConfigData.cc.

References hltL1GTSeeds_.

544  {
545  return hltL1GTSeeds_.at(trigger);
546 }
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_

◆ hltL1TSeeds() [1/3]

const std::vector< std::vector< std::string > > & HLTConfigData::hltL1TSeeds ( ) const

HLTL1TSeed module HLTL1TSeed modules for all trigger paths

Definition at line 548 of file HLTConfigData.cc.

References hltL1TSeeds_.

Referenced by hltL1TSeeds(), and HLTConfigProvider::hltL1TSeeds().

548 { return hltL1TSeeds_; }
std::vector< std::vector< std::string > > hltL1TSeeds_

◆ hltL1TSeeds() [2/3]

const std::vector< std::string > & HLTConfigData::hltL1TSeeds ( const std::string &  trigger) const

HLTL1TSeed modules for trigger path with name.

Definition at line 550 of file HLTConfigData.cc.

References hltL1TSeeds(), and triggerIndex().

550  {
552 }
const std::vector< std::vector< std::string > > & hltL1TSeeds() const
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)

◆ hltL1TSeeds() [3/3]

const std::vector< std::string > & HLTConfigData::hltL1TSeeds ( unsigned int  trigger) const

HLTL1TSeed modules for trigger path with index i.

Definition at line 554 of file HLTConfigData.cc.

References hltL1TSeeds_.

554  {
555  return hltL1TSeeds_.at(trigger);
556 }
std::vector< std::vector< std::string > > hltL1TSeeds_

◆ id()

edm::ParameterSetID HLTConfigData::id ( void  ) const

technical: id() function needed for use with ThreadSafeRegistry

Definition at line 620 of file HLTConfigData.cc.

References edm::ParameterSet::id(), and processPSet_.

Referenced by HLTConfigProvider::init().

620 { return processPSet_->id(); }
ParameterSetID id() const
const edm::ParameterSet * processPSet_

◆ l1tType()

unsigned int HLTConfigData::l1tType ( ) const

L1T type (0=unknown, 1=legacy/stage-1 or 2=stage-2)

Definition at line 534 of file HLTConfigData.cc.

References l1tType_.

Referenced by HLTConfigProvider::l1tType().

534 { return l1tType_; }
unsigned int l1tType_

◆ moduleEDMType()

const std::string HLTConfigData::moduleEDMType ( const std::string &  module) const

C++ base class name of module.

Definition at line 502 of file HLTConfigData.cc.

References modulePSet(), muonDTDigis_cfi::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dump(), and HLTConfigProvider::moduleEDMType().

502  {
504  if (pset.existsAs<std::string>("@module_edm_type", true)) {
505  return pset.getParameter<std::string>("@module_edm_type");
506  } else {
507  return "";
508  }
509 }
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.

◆ moduleIndex() [1/2]

unsigned int HLTConfigData::moduleIndex ( unsigned int  trigger,
const std::string &  module 
) const

slot position of module on trigger path (0 - size-1)

Definition at line 481 of file HLTConfigData.cc.

References moduleIndex_, and size().

Referenced by moduleIndex(), and HLTConfigProvider::moduleIndex().

481  {
482  const std::map<std::string, unsigned int>::const_iterator index(moduleIndex_.at(trigger).find(module));
483  if (index == moduleIndex_.at(trigger).end()) {
484  return size(trigger);
485  } else {
486  return index->second;
487  }
488 }
std::vector< std::map< std::string, unsigned int > > moduleIndex_
unsigned int size() const
number of trigger paths in trigger table

◆ moduleIndex() [2/2]

unsigned int HLTConfigData::moduleIndex ( const std::string &  trigger,
const std::string &  module 
) const

Definition at line 489 of file HLTConfigData.cc.

References moduleIndex(), and triggerIndex().

489  {
491 }
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 - size-1)
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)

◆ moduleLabel() [1/2]

const std::string & HLTConfigData::moduleLabel ( unsigned int  trigger,
unsigned int  module 
) const

Definition at line 474 of file HLTConfigData.cc.

References moduleLabels_.

Referenced by HLTConfigProvider::moduleLabel(), and HLTConfigDataEx::moduleLabel().

474  {
475  return moduleLabels_.at(trigger).at(module);
476 }
std::vector< std::vector< std::string > > moduleLabels_

◆ moduleLabel() [2/2]

const std::string & HLTConfigData::moduleLabel ( const std::string &  trigger,
unsigned int  module 
) const

Definition at line 477 of file HLTConfigData.cc.

References moduleLabels_, and triggerIndex().

477  {
478  return moduleLabels_.at(triggerIndex(trigger)).at(module);
479 }
std::vector< std::vector< std::string > > moduleLabels_
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)

◆ moduleLabels() [1/2]

const std::vector< std::string > & HLTConfigData::moduleLabels ( unsigned int  trigger) const

label(s) of module(s) on a trigger path

Definition at line 460 of file HLTConfigData.cc.

References moduleLabels_.

Referenced by extract(), and HLTConfigProvider::moduleLabels().

460  {
461  return moduleLabels_.at(trigger);
462 }
std::vector< std::vector< std::string > > moduleLabels_

◆ moduleLabels() [2/2]

const std::vector< std::string > & HLTConfigData::moduleLabels ( const std::string &  trigger) const

Definition at line 463 of file HLTConfigData.cc.

References moduleLabels_, and triggerIndex().

463  {
464  return moduleLabels_.at(triggerIndex(trigger));
465 }
std::vector< std::vector< std::string > > moduleLabels_
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)

◆ modulePSet()

const edm::ParameterSet & HLTConfigData::modulePSet ( const std::string &  module) const

ParameterSet of module.

Definition at line 513 of file HLTConfigData.cc.

References edm::ParameterSet::exists(), edm::ParameterSet::getParameterSet(), callgraph::module, processPSet_, and s_dummyPSet().

Referenced by extract(), moduleEDMType(), HLTConfigProvider::modulePSet(), moduleType(), and saveTags().

513  {
514  //HLTConfigProvider sees ignored modules as "-modname"
515  //but in the PSet, the module is named "modname"
516  //so if it starts with "-", you need to remove the "-" from the
517  //module name to be able to retreive it from the PSet
518  if (processPSet_->exists(module.front() != '-' ? module : module.substr(1))) {
519  return processPSet_->getParameterSet(module.front() != '-' ? module : module.substr(1));
520  } else {
521  return *s_dummyPSet();
522  }
523 }
bool exists(std::string const &parameterName) const
checks if a parameter exists
ParameterSet const & getParameterSet(std::string const &) const
const edm::ParameterSet * processPSet_
static const edm::ParameterSet * s_dummyPSet()

◆ moduleType()

const std::string HLTConfigData::moduleType ( const std::string &  module) const

C++ class name of module.

Definition at line 493 of file HLTConfigData.cc.

References modulePSet(), muonDTDigis_cfi::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dump(), extract(), HLTConfigDataEx::HLTConfigDataEx(), and HLTConfigProvider::moduleType().

493  {
495  if (pset.existsAs<std::string>("@module_type", true)) {
496  return pset.getParameter<std::string>("@module_type");
497  } else {
498  return "";
499  }
500 }
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.

◆ prescaleLabels()

const std::vector< std::string > & HLTConfigData::prescaleLabels ( ) const

labels of HLT prescale columns

Definition at line 618 of file HLTConfigData.cc.

References hltPrescaleTable_, and trigger::HLTPrescaleTable::labels().

Referenced by HLTConfigProvider::prescaleLabels().

618 { return hltPrescaleTable_.labels(); }
const std::vector< std::string > & labels() const
trigger::HLTPrescaleTable hltPrescaleTable_

◆ prescaleSize()

unsigned int HLTConfigData::prescaleSize ( ) const

HLT prescale info Number of HLT prescale sets

Definition at line 606 of file HLTConfigData.cc.

References hltPrescaleTable_, and trigger::HLTPrescaleTable::size().

Referenced by HLTConfigProvider::prescaleSize().

606 { return hltPrescaleTable_.size(); }
trigger::HLTPrescaleTable hltPrescaleTable_
unsigned int size() const
consistency condition: all vectors must have the same length

◆ prescaleTable() [1/3]

template<typename T >
std::map< std::string, std::vector< T > > const & HLTConfigData::prescaleTable ( ) const

map of HLT prescales by trigger-path name (key=path, value=prescales)

Definition at line 192 of file HLTConfigData.h.

References hltPrescaleTable_, or, and trigger::HLTPrescaleTable::table().

Referenced by HLTConfigProvider::prescaleTable().

192  {
193  static_assert(std::is_same_v<T, double> or std::is_same_v<T, FractionalPrescale>,
194  "\n\tPlease use prescaleTable<double> or prescaleTable<FractionalPrescale>"
195  "\n\t(other types for HLT prescales are not supported anymore by HLTConfigData)");
196  return hltPrescaleTable_.table();
197 }
const std::map< std::string, std::vector< unsigned int > > & table() const
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
trigger::HLTPrescaleTable hltPrescaleTable_

◆ prescaleTable() [2/3]

std::map< std::string, std::vector< double > > const & HLTConfigData::prescaleTable ( ) const

Definition at line 609 of file HLTConfigData.cc.

References hltPrescaleTableValuesDouble_.

609  {
611 }
std::map< std::string, std::vector< double > > hltPrescaleTableValuesDouble_

◆ prescaleTable() [3/3]

std::map< std::string, std::vector< FractionalPrescale > > const & HLTConfigData::prescaleTable ( ) const

Definition at line 614 of file HLTConfigData.cc.

References hltPrescaleTableValuesFractional_.

614  {
616 }
std::map< std::string, std::vector< FractionalPrescale > > hltPrescaleTableValuesFractional_

◆ prescaleValue()

template<typename T >
T HLTConfigData::prescaleValue ( unsigned int  set,
const std::string &  trigger 
) const

HLT prescale value in specific prescale set for a specific trigger path.

Definition at line 184 of file HLTConfigData.h.

References hltPrescaleTable_, or, and trigger::HLTPrescaleTable::prescale().

Referenced by HLTConfigProvider::prescaleValue().

184  {
185  static_assert(std::is_same_v<T, double> or std::is_same_v<T, FractionalPrescale>,
186  "\n\tPlease use prescaleValue<double> or prescaleValue<FractionalPrescale>"
187  "\n\t(other types for HLT prescales are not supported anymore by HLTConfigData)");
188  return hltPrescaleTable_.prescale(set, trigger);
189 }
unsigned int prescale(const std::string &trigger) const
high-level user access method: prescale for given trigger path
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
trigger::HLTPrescaleTable hltPrescaleTable_

◆ processName()

const std::string & HLTConfigData::processName ( ) const

Accessors (const methods)

process name

Definition at line 440 of file HLTConfigData.cc.

References processName_.

Referenced by HLTConfigProvider::processName(), and HLTConfigDataEx::processName().

440 { return processName_; }
std::string processName_

◆ processPSet()

const edm::ParameterSet & HLTConfigData::processPSet ( ) const

ParameterSet of process.

Definition at line 511 of file HLTConfigData.cc.

References processPSet_.

Referenced by HLTConfigProvider::processPSet().

511 { return *processPSet_; }
const edm::ParameterSet * processPSet_

◆ saveTags()

bool HLTConfigData::saveTags ( const std::string &  module) const

Is module an L3 filter (ie, tracked saveTags=true)

Definition at line 525 of file HLTConfigData.cc.

References modulePSet(), and muonDTDigis_cfi::pset.

Referenced by dump(), extract(), and HLTConfigProvider::saveTags().

525  {
527  if (pset.existsAs<bool>("saveTags", true)) {
528  return pset.getParameter<bool>("saveTags");
529  } else {
530  return false;
531  }
532 }
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.

◆ saveTagsModules() [1/2]

const std::vector< std::string > & HLTConfigData::saveTagsModules ( unsigned int  trigger) const

Definition at line 467 of file HLTConfigData.cc.

References saveTagsModules_.

Referenced by HLTConfigProvider::saveTagsModules().

467  {
468  return saveTagsModules_.at(trigger);
469 }
std::vector< std::vector< std::string > > saveTagsModules_

◆ saveTagsModules() [2/2]

const std::vector< std::string > & HLTConfigData::saveTagsModules ( const std::string &  trigger) const

Definition at line 470 of file HLTConfigData.cc.

References saveTagsModules_, and triggerIndex().

470  {
472 }
std::vector< std::vector< std::string > > saveTagsModules_
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)

◆ size() [1/3]

unsigned int HLTConfigData::size ( void  ) const

◆ size() [2/3]

unsigned int HLTConfigData::size ( unsigned int  trigger) const

number of modules on a specific trigger path

Definition at line 445 of file HLTConfigData.cc.

References moduleLabels_.

Referenced by ntupleDataFormat._Collection::__iter__(), and ntupleDataFormat._Collection::__len__().

445 { return moduleLabels_.at(trigger).size(); }
std::vector< std::vector< std::string > > moduleLabels_

◆ size() [3/3]

unsigned int HLTConfigData::size ( const std::string &  trigger) const

Definition at line 446 of file HLTConfigData.cc.

References size(), and triggerIndex().

Referenced by ntupleDataFormat._Collection::__iter__(), and ntupleDataFormat._Collection::__len__().

446 { return size(triggerIndex(trigger)); }
unsigned int size() const
number of trigger paths in trigger table
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)

◆ streamContent() [1/2]

const std::vector< std::string > & HLTConfigData::streamContent ( unsigned int  stream) const

names of datasets in stream with index i

Definition at line 574 of file HLTConfigData.cc.

References cms::cuda::stream, and streamContents_.

Referenced by streamContent(), and HLTConfigProvider::streamContent().

574  {
575  return streamContents_.at(stream);
576 }
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
std::vector< std::vector< std::string > > streamContents_

◆ streamContent() [2/2]

const std::vector< std::string > & HLTConfigData::streamContent ( const std::string &  stream) const

names of datasets in stream with name

Definition at line 578 of file HLTConfigData.cc.

References cms::cuda::stream, streamContent(), and streamIndex().

578  {
580 }
const std::vector< std::string > & streamContent(unsigned int stream) const
names of datasets in stream with index i
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
unsigned int streamIndex(const std::string &stream) const
index of stream with name

◆ streamContents()

const std::vector< std::vector< std::string > > & HLTConfigData::streamContents ( ) const

names of datasets for all streams

Definition at line 572 of file HLTConfigData.cc.

References streamContents_.

Referenced by HLTConfigProvider::streamContents().

572 { return streamContents_; }
std::vector< std::vector< std::string > > streamContents_

◆ streamIndex()

unsigned int HLTConfigData::streamIndex ( const std::string &  stream) const

index of stream with name

Definition at line 563 of file HLTConfigData.cc.

References cms::cuda::stream, streamIndex_, and streamNames_.

Referenced by streamContent(), and HLTConfigProvider::streamIndex().

563  {
564  const std::map<std::string, unsigned int>::const_iterator index(streamIndex_.find(stream));
565  if (index == streamIndex_.end()) {
566  return streamNames_.size();
567  } else {
568  return index->second;
569  }
570 }
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
std::map< std::string, unsigned int > streamIndex_
std::vector< std::string > streamNames_

◆ streamName()

const std::string & HLTConfigData::streamName ( unsigned int  stream) const

name of stream with index i

Definition at line 561 of file HLTConfigData.cc.

References cms::cuda::stream, and streamNames_.

Referenced by HLTConfigProvider::streamName().

561 { return streamNames_.at(stream); }
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
std::vector< std::string > streamNames_

◆ streamNames()

const std::vector< std::string > & HLTConfigData::streamNames ( ) const

Streams.

Streams list of names of all streams

Definition at line 559 of file HLTConfigData.cc.

References streamNames_.

Referenced by HLTConfigProvider::streamNames().

559 { return streamNames_; }
std::vector< std::string > streamNames_

◆ tableName()

const std::string & HLTConfigData::tableName ( ) const

HLT ConfDB table name.

Definition at line 448 of file HLTConfigData.cc.

References tableName_.

Referenced by HLTConfigProvider::tableName().

448 { return tableName_; }
std::string tableName_

◆ triggerIndex()

unsigned int HLTConfigData::triggerIndex ( const std::string &  triggerName) const

slot position of trigger path in trigger table (0 - size-1)

Definition at line 451 of file HLTConfigData.cc.

References size(), and triggerIndex_.

Referenced by hltL1GTSeeds(), hltL1TSeeds(), moduleIndex(), moduleLabel(), moduleLabels(), saveTagsModules(), size(), and HLTConfigProvider::triggerIndex().

451  {
452  const std::map<std::string, unsigned int>::const_iterator index(triggerIndex_.find(trigger));
453  if (index == triggerIndex_.end()) {
454  return size();
455  } else {
456  return index->second;
457  }
458 }
std::map< std::string, unsigned int > triggerIndex_
unsigned int size() const
number of trigger paths in trigger table

◆ triggerName()

const std::string & HLTConfigData::triggerName ( unsigned int  triggerIndex) const

Definition at line 450 of file HLTConfigData.cc.

References triggerNames_.

Referenced by HLTConfigProvider::triggerName(), and HLTConfigDataEx::triggerName().

450 { return triggerNames_.at(trigger); }
std::vector< std::string > triggerNames_

◆ triggerNames()

const std::vector< std::string > & HLTConfigData::triggerNames ( ) const

names of trigger paths

Definition at line 449 of file HLTConfigData.cc.

References triggerNames_.

Referenced by HLTConfigProvider::triggerNames(), and HLTConfigDataEx::triggerNames().

449 { return triggerNames_; }
std::vector< std::string > triggerNames_

Member Data Documentation

◆ datasetContents_

std::vector<std::vector<std::string> > HLTConfigData::datasetContents_
private

Definition at line 176 of file HLTConfigData.h.

Referenced by datasetContent(), datasetContents(), dump(), and extract().

◆ datasetIndex_

std::map<std::string, unsigned int> HLTConfigData::datasetIndex_
private

Definition at line 175 of file HLTConfigData.h.

Referenced by datasetIndex(), and extract().

◆ datasetNames_

std::vector<std::string> HLTConfigData::datasetNames_
private

Definition at line 174 of file HLTConfigData.h.

Referenced by datasetIndex(), datasetName(), datasetNames(), dump(), and extract().

◆ globalTag_

std::string HLTConfigData::globalTag_
private

Definition at line 157 of file HLTConfigData.h.

Referenced by dump(), extract(), and globalTag().

◆ hltL1GTSeeds_

std::vector<std::vector<std::pair<bool, std::string> > > HLTConfigData::hltL1GTSeeds_
private

Definition at line 167 of file HLTConfigData.h.

Referenced by dump(), extract(), and hltL1GTSeeds().

◆ hltL1TSeeds_

std::vector<std::vector<std::string> > HLTConfigData::hltL1TSeeds_
private

Definition at line 168 of file HLTConfigData.h.

Referenced by dump(), extract(), and hltL1TSeeds().

◆ hltPrescaleTable_

trigger::HLTPrescaleTable HLTConfigData::hltPrescaleTable_
private

◆ hltPrescaleTableValuesDouble_

std::map<std::string, std::vector<double> > HLTConfigData::hltPrescaleTableValuesDouble_
private

Definition at line 179 of file HLTConfigData.h.

Referenced by extract(), and prescaleTable().

◆ hltPrescaleTableValuesFractional_

std::map<std::string, std::vector<FractionalPrescale> > HLTConfigData::hltPrescaleTableValuesFractional_
private

Definition at line 180 of file HLTConfigData.h.

Referenced by extract(), and prescaleTable().

◆ l1tType_

unsigned int HLTConfigData::l1tType_
private

Definition at line 166 of file HLTConfigData.h.

Referenced by extract(), and l1tType().

◆ moduleIndex_

std::vector<std::map<std::string, unsigned int> > HLTConfigData::moduleIndex_
private

Definition at line 164 of file HLTConfigData.h.

Referenced by extract(), and moduleIndex().

◆ moduleLabels_

std::vector<std::vector<std::string> > HLTConfigData::moduleLabels_
private

Definition at line 160 of file HLTConfigData.h.

Referenced by dump(), extract(), moduleLabel(), moduleLabels(), and size().

◆ processName_

std::string HLTConfigData::processName_
private

Definition at line 156 of file HLTConfigData.h.

Referenced by dump(), extract(), and processName().

◆ processPSet_

const edm::ParameterSet* HLTConfigData::processPSet_
private

Definition at line 154 of file HLTConfigData.h.

Referenced by dump(), extract(), id(), modulePSet(), and processPSet().

◆ saveTagsModules_

std::vector<std::vector<std::string> > HLTConfigData::saveTagsModules_
private

Definition at line 161 of file HLTConfigData.h.

Referenced by extract(), and saveTagsModules().

◆ streamContents_

std::vector<std::vector<std::string> > HLTConfigData::streamContents_
private

Definition at line 172 of file HLTConfigData.h.

Referenced by dump(), extract(), streamContent(), and streamContents().

◆ streamIndex_

std::map<std::string, unsigned int> HLTConfigData::streamIndex_
private

Definition at line 171 of file HLTConfigData.h.

Referenced by extract(), and streamIndex().

◆ streamNames_

std::vector<std::string> HLTConfigData::streamNames_
private

Definition at line 170 of file HLTConfigData.h.

Referenced by dump(), extract(), streamIndex(), streamName(), and streamNames().

◆ tableName_

std::string HLTConfigData::tableName_
private

Definition at line 158 of file HLTConfigData.h.

Referenced by dump(), extract(), and tableName().

◆ triggerIndex_

std::map<std::string, unsigned int> HLTConfigData::triggerIndex_
private

Definition at line 163 of file HLTConfigData.h.

Referenced by extract(), and triggerIndex().

◆ triggerNames_

std::vector<std::string> HLTConfigData::triggerNames_
private

Definition at line 159 of file HLTConfigData.h.

Referenced by dump(), extract(), size(), triggerName(), and triggerNames().