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 32 of file HLTConfigData.cc.

34  processName_(""),
35  globalTag_(""),
36  tableName_(),
37  triggerNames_(),
38  moduleLabels_(),
40  triggerIndex_(),
41  moduleIndex_(),
42  l1tType_(0),
43  hltL1GTSeeds_(),
44  hltL1TSeeds_(),
45  streamNames_(),
46  streamIndex_(),
48  datasetNames_(),
49  datasetIndex_(),
54  if (processPSet_->id().isValid()) {
55  extract();
56  }
57 }
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 59 of file HLTConfigData.cc.

60  : processPSet_(iPSet),
61  processName_(""),
62  globalTag_(""),
63  tableName_(),
64  triggerNames_(),
65  moduleLabels_(),
67  triggerIndex_(),
68  moduleIndex_(),
69  l1tType_(0),
70  hltL1GTSeeds_(),
71  hltL1TSeeds_(),
72  streamNames_(),
73  streamIndex_(),
75  datasetNames_(),
76  datasetIndex_(),
81  if (processPSet_->id().isValid()) {
82  extract();
83  }
84 }
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 599 of file HLTConfigData.cc.

References datasetContents_.

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

599  {
600  return datasetContents_.at(dataset);
601 }
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 603 of file HLTConfigData.cc.

References datasetContent(), and datasetIndex().

603  {
605 }
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 597 of file HLTConfigData.cc.

References datasetContents_.

Referenced by HLTConfigProvider::datasetContents().

597 { 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 588 of file HLTConfigData.cc.

References datasetIndex_, and datasetNames_.

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

588  {
589  const std::map<std::string, unsigned int>::const_iterator index(datasetIndex_.find(dataset));
590  if (index == datasetIndex_.end()) {
591  return datasetNames_.size();
592  } else {
593  return index->second;
594  }
595 }
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 586 of file HLTConfigData.cc.

References datasetNames_.

Referenced by HLTConfigProvider::datasetName().

586 { 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 584 of file HLTConfigData.cc.

References datasetNames_.

Referenced by HLTConfigProvider::datasetNames().

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

◆ dump()

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

Dumping config info to cout.

Definition at line 318 of file HLTConfigData.cc.

References gather_cfg::cout, datasetContents_, datasetNames_, globalTag_, hltL1GTSeeds_, hltL1TSeeds_, hltPrescaleTable_, mps_fire::i, dqmiolumiharvest::j, submitPVResolutionJobs::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().

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

References edmTracerLogToSimpleConfig::allModules, CMS_SA_ALLOW, 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, submitPVResolutionJobs::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_2024v12_cff::streams, AlCaHLTBitMon_QueryRunRegistry::string, trigger::HLTPrescaleTable::table(), TableParser::table, tableName_, triggerIndex_, triggerNames_, and edm::vector_transform().

86  {
87  using namespace std;
88  using namespace edm;
89  using namespace trigger;
90 
91  // Extract process name
92  CMS_SA_ALLOW if (processPSet_->existsAs<string>("@process_name", true)) {
93  processName_ = processPSet_->getParameter<string>("@process_name");
94  }
95 
96  // Extract globaltag
97  globalTag_ = "";
98  const ParameterSet* GlobalTagPSet(nullptr);
99  CMS_SA_ALLOW if (processPSet_->exists("GlobalTag")) { GlobalTagPSet = &(processPSet_->getParameterSet("GlobalTag")); }
100  else if (processPSet_->exists("PoolDBESSource@GlobalTag")) {
101  GlobalTagPSet = &(processPSet_->getParameterSet("PoolDBESSource@GlobalTag"));
102  }
103  CMS_SA_ALLOW 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  CMS_SA_ALLOW if (processPSet_->existsAs<ParameterSet>("HLTConfigVersion", true)) {
109  const ParameterSet& HLTPSet(processPSet_->getParameterSet("HLTConfigVersion"));
110  CMS_SA_ALLOW if (HLTPSet.existsAs<string>("tableName", true)) {
111  tableName_ = HLTPSet.getParameter<string>("tableName");
112  }
113  }
114 
115  // Extract trigger paths (= paths - end_paths)
116  CMS_SA_ALLOW if (processPSet_->existsAs<ParameterSet>("@trigger_paths", true)) {
117  const ParameterSet& HLTPSet(processPSet_->getParameterSet("@trigger_paths"));
118  CMS_SA_ALLOW 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  CMS_SA_ALLOW 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  CMS_SA_ALLOW 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  CMS_SA_ALLOW 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  CMS_SA_ALLOW if (processPSet_->existsAs<ParameterSet>(preS, true)) { prescaleName = preS; }
240  else if (processPSet_->existsAs<ParameterSet>(preT, true)) {
241  prescaleName = preT;
242  }
243  if (prescaleName.empty()) {
245  } else {
246  const ParameterSet& iPS(processPSet_->getParameterSet(prescaleName));
247  string defaultLabel("default");
248  CMS_SA_ALLOW if (iPS.existsAs<string>("lvl1DefaultLabel", true)) {
249  defaultLabel = iPS.getParameter<string>("lvl1DefaultLabel");
250  }
251  vector<string> labels;
252  CMS_SA_ALLOW if (iPS.existsAs<vector<string>>("lvl1Labels", true)) {
253  labels = iPS.getParameter<vector<string>>("lvl1Labels");
254  }
255  unsigned int set(0);
256  const unsigned int n(labels.size());
257  for (unsigned int i = 0; i != n; ++i) {
258  if (labels[i] == defaultLabel)
259  set = i;
260  }
261  map<string, vector<unsigned int>> table;
262  CMS_SA_ALLOW if (iPS.existsAs<vector<ParameterSet>>("prescaleTable", true)) {
263  const vector<ParameterSet>& vpTable(iPS.getParameterSetVector("prescaleTable"));
264  const unsigned int m(vpTable.size());
265  for (unsigned int i = 0; i != m; ++i) {
266  table[vpTable[i].getParameter<std::string>("pathName")] =
267  vpTable[i].getParameter<std::vector<unsigned int>>("prescales");
268  }
269  }
270  if (n > 0) {
272  } else {
274  }
275  }
276 
277  // fill maps to return prescales values with allowed types (double, FractionalPrescale)
278  for (auto const& [key, psVals] : hltPrescaleTable_.table()) {
280  {key, edm::vector_transform(psVals, [](auto const ps) -> double { return ps; })});
282  {key, edm::vector_transform(psVals, [](auto const ps) -> FractionalPrescale { return ps; })});
283  }
284 
285  // Determine L1T Type (0=unknown, 1=legacy/stage-1 or 2=stage-2)
286  l1tType_ = 0;
287  unsigned int stage1(0), stage2(0);
288  CMS_SA_ALLOW if (processPSet_->existsAs<std::vector<std::string>>("@all_modules")) {
289  const std::vector<std::string>& allModules(processPSet_->getParameter<std::vector<std::string>>("@all_modules"));
290  for (auto const& allModule : allModules) {
291  if ((moduleType(allModule) == "HLTLevel1GTSeed") or (moduleType(allModule) == "L1GlobalTrigger")) {
292  stage1 += 1;
293  } else if ((moduleType(allModule) == "HLTL1TSeed") or (moduleType(allModule) == "L1TGlobalProducer")) {
294  stage2 += 1;
295  }
296  }
297  }
298  if ((stage1 + stage2) == 0) {
299  l1tType_ = 0;
300  // edm::LogError("HLTConfigData") << " Can't identify l1tType: Process '" << processName_ << "' does not contain any identifying instances!";
301  } else if ((stage1 * stage2) != 0) {
302  l1tType_ = 0;
303  // edm::LogError("HLTConfigData") << " Can't identify l1tType: Process '" << processName_ << "' contains both legacy/stage-1/stage-2 instances!";
304  } else if (stage1 > 0) {
305  l1tType_ = 1;
306  // edm::LogError("HLTConfigData") << " Identified Process '" << processName_ << "' as legacy/stage-1 L1T!";
307  } else {
308  l1tType_ = 2;
309  // edm::LogError("HLTConfigData") << " Identified Process '" << processName_ << "' as stage-2 L1T!";
310  }
311 
312  LogVerbatim("HLTConfigData") << "HLTConfigData: ProcessPSet with name/GT/table/l1tType: '" << processName_ << "' '"
313  << globalTag_ << "' '" << tableName_ << "' " << l1tType_;
314 
315  return;
316 }
Log< level::Info, true > LogVerbatim
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
#define CMS_SA_ALLOW
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:172
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_
key
prepare the HTCondor submission files and eventually submit them
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 441 of file HLTConfigData.cc.

References globalTag_.

Referenced by HLTConfigProvider::globalTag().

441 { 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 537 of file HLTConfigData.cc.

References hltL1GTSeeds_.

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

537  {
538  return hltL1GTSeeds_;
539 }
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 541 of file HLTConfigData.cc.

References hltL1GTSeeds(), and triggerIndex().

541  {
543 }
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 545 of file HLTConfigData.cc.

References hltL1GTSeeds_.

545  {
546  return hltL1GTSeeds_.at(trigger);
547 }
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 549 of file HLTConfigData.cc.

References hltL1TSeeds_.

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

549 { 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 551 of file HLTConfigData.cc.

References hltL1TSeeds(), and triggerIndex().

551  {
553 }
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 555 of file HLTConfigData.cc.

References hltL1TSeeds_.

555  {
556  return hltL1TSeeds_.at(trigger);
557 }
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 621 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::init().

621 { 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 535 of file HLTConfigData.cc.

References l1tType_.

Referenced by HLTConfigProvider::l1tType().

535 { 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 CMS_SA_ALLOW, modulePSet(), muonDTDigis_cfi::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

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

502  {
504  CMS_SA_ALLOW if (pset.existsAs<std::string>("@module_edm_type", true)) {
505  return pset.getParameter<std::string>("@module_edm_type");
506  }
507  else {
508  return "";
509  }
510 }
#define CMS_SA_ALLOW
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 480 of file HLTConfigData.cc.

References moduleIndex_, and size().

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

480  {
481  const std::map<std::string, unsigned int>::const_iterator index(moduleIndex_.at(trigger).find(module));
482  if (index == moduleIndex_.at(trigger).end()) {
483  return size(trigger);
484  } else {
485  return index->second;
486  }
487 }
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 488 of file HLTConfigData.cc.

References moduleIndex(), and triggerIndex().

488  {
490 }
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 473 of file HLTConfigData.cc.

References moduleLabels_.

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

473  {
474  return moduleLabels_.at(trigger).at(module);
475 }
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 476 of file HLTConfigData.cc.

References moduleLabels_, and triggerIndex().

476  {
477  return moduleLabels_.at(triggerIndex(trigger)).at(module);
478 }
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 459 of file HLTConfigData.cc.

References moduleLabels_.

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

459  {
460  return moduleLabels_.at(trigger);
461 }
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 462 of file HLTConfigData.cc.

References moduleLabels_, and triggerIndex().

462  {
463  return moduleLabels_.at(triggerIndex(trigger));
464 }
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 514 of file HLTConfigData.cc.

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

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

514  {
515  //HLTConfigProvider sees ignored modules as "-modname"
516  //but in the PSet, the module is named "modname"
517  //so if it starts with "-", you need to remove the "-" from the
518  //module name to be able to retreive it from the PSet
519  CMS_SA_ALLOW if (processPSet_->exists(module.front() != '-' ? module : module.substr(1))) {
520  return processPSet_->getParameterSet(module.front() != '-' ? module : module.substr(1));
521  }
522  else {
523  return *s_dummyPSet();
524  }
525 }
#define CMS_SA_ALLOW
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 492 of file HLTConfigData.cc.

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

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

492  {
494  CMS_SA_ALLOW if (pset.existsAs<std::string>("@module_type", true)) {
495  return pset.getParameter<std::string>("@module_type");
496  }
497  else {
498  return "";
499  }
500 }
#define CMS_SA_ALLOW
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 619 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::prescaleLabels().

619 { 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 607 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::prescaleSize().

607 { 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 610 of file HLTConfigData.cc.

References hltPrescaleTableValuesDouble_.

610  {
612 }
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 615 of file HLTConfigData.cc.

References hltPrescaleTableValuesFractional_.

615  {
617 }
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 439 of file HLTConfigData.cc.

References processName_.

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

439 { return processName_; }
std::string processName_

◆ processPSet()

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

ParameterSet of process.

Definition at line 512 of file HLTConfigData.cc.

References processPSet_.

Referenced by HLTConfigProvider::processPSet().

512 { 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 527 of file HLTConfigData.cc.

References CMS_SA_ALLOW, modulePSet(), and muonDTDigis_cfi::pset.

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

527  {
529  CMS_SA_ALLOW if (pset.existsAs<bool>("saveTags", true)) { return pset.getParameter<bool>("saveTags"); }
530  else {
531  return false;
532  }
533 }
#define CMS_SA_ALLOW
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 466 of file HLTConfigData.cc.

References saveTagsModules_.

Referenced by HLTConfigProvider::saveTagsModules().

466  {
467  return saveTagsModules_.at(trigger);
468 }
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 469 of file HLTConfigData.cc.

References saveTagsModules_, and triggerIndex().

469  {
471 }
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 444 of file HLTConfigData.cc.

References moduleLabels_.

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

444 { 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 445 of file HLTConfigData.cc.

References size(), and triggerIndex().

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

445 { 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 575 of file HLTConfigData.cc.

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

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

575  {
576  return streamContents_.at(stream);
577 }
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 579 of file HLTConfigData.cc.

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

579  {
581 }
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 573 of file HLTConfigData.cc.

References streamContents_.

Referenced by HLTConfigProvider::streamContents().

573 { 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 564 of file HLTConfigData.cc.

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

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

564  {
565  const std::map<std::string, unsigned int>::const_iterator index(streamIndex_.find(stream));
566  if (index == streamIndex_.end()) {
567  return streamNames_.size();
568  } else {
569  return index->second;
570  }
571 }
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 562 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::streamName().

562 { 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 560 of file HLTConfigData.cc.

References streamNames_.

Referenced by HLTConfigProvider::streamNames().

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

◆ tableName()

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

HLT ConfDB table name.

Definition at line 447 of file HLTConfigData.cc.

References tableName_.

Referenced by HLTConfigProvider::tableName().

447 { 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 450 of file HLTConfigData.cc.

References size(), and triggerIndex_.

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

450  {
451  const std::map<std::string, unsigned int>::const_iterator index(triggerIndex_.find(trigger));
452  if (index == triggerIndex_.end()) {
453  return size();
454  } else {
455  return index->second;
456  }
457 }
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 449 of file HLTConfigData.cc.

References triggerNames_.

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

449 { 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 448 of file HLTConfigData.cc.

References triggerNames_.

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

448 { 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().