CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
 low-level data member access More...
 
unsigned int prescaleSize () const
 
const std::map< std::string,
std::vector< unsigned int > > & 
prescaleTable () const
 
unsigned int 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_
 
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 25 of file HLTConfigData.h.

Constructor & Destructor Documentation

HLTConfigData::HLTConfigData ( )

Definition at line 30 of file HLTConfigData.cc.

References extract(), edm::ParameterSet::id(), edm::Hash< I >::isValid(), and processPSet_.

30  :
32  processName_(""), globalTag_(""),
39 {
40  if (processPSet_->id().isValid()) {
41  extract();
42  }
43 }
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
std::vector< std::map< std::string, unsigned int > > moduleIndex_
ParameterSetID id() const
std::map< std::string, unsigned int > datasetIndex_
std::vector< std::string > datasetNames_
std::vector< std::vector< std::string > > saveTagsModules_
std::string globalTag_
std::vector< std::vector< std::string > > streamContents_
std::vector< std::string > triggerNames_
std::vector< std::vector< std::string > > datasetContents_
std::map< std::string, unsigned int > triggerIndex_
std::string tableName_
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
void extract()
extract information into data members - called by init() methods
std::vector< std::vector< std::string > > hltL1TSeeds_
const edm::ParameterSet * processPSet_
bool isValid() const
Definition: Hash.h:151
std::vector< std::string > streamNames_
std::map< std::string, unsigned int > streamIndex_
static const edm::ParameterSet * s_dummyPSet()
std::string processName_
unsigned int l1tType_
HLTConfigData::HLTConfigData ( const edm::ParameterSet iID)

Definition at line 45 of file HLTConfigData.cc.

References extract(), edm::ParameterSet::id(), edm::Hash< I >::isValid(), and processPSet_.

45  :
46  processPSet_(iPSet),
47  processName_(""), globalTag_(""),
54 {
55  if (processPSet_->id().isValid()) {
56  extract();
57  }
58 }
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
std::vector< std::map< std::string, unsigned int > > moduleIndex_
ParameterSetID id() const
std::map< std::string, unsigned int > datasetIndex_
std::vector< std::string > datasetNames_
std::vector< std::vector< std::string > > saveTagsModules_
std::string globalTag_
std::vector< std::vector< std::string > > streamContents_
std::vector< std::string > triggerNames_
std::vector< std::vector< std::string > > datasetContents_
std::map< std::string, unsigned int > triggerIndex_
std::string tableName_
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
void extract()
extract information into data members - called by init() methods
std::vector< std::vector< std::string > > hltL1TSeeds_
const edm::ParameterSet * processPSet_
bool isValid() const
Definition: Hash.h:151
std::vector< std::string > streamNames_
std::map< std::string, unsigned int > streamIndex_
std::string processName_
unsigned int l1tType_

Member Function Documentation

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

names of trigger paths in dataset with index i

Definition at line 602 of file HLTConfigData.cc.

References datasetContents_.

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

602  {
603  return datasetContents_.at(dataset);
604 }
std::vector< std::vector< std::string > > datasetContents_
const std::vector< std::string > & HLTConfigData::datasetContent ( const std::string &  dataset) const

names of trigger paths in dataset with name

Definition at line 606 of file HLTConfigData.cc.

References datasetContent(), and datasetIndex().

606  {
608 }
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
const std::vector< std::vector< std::string > > & HLTConfigData::datasetContents ( ) const

names of trigger paths for all datasets

Definition at line 598 of file HLTConfigData.cc.

References datasetContents_.

Referenced by HLTConfigProvider::datasetContents().

598  {
599  return datasetContents_;
600 }
std::vector< std::vector< std::string > > datasetContents_
unsigned int HLTConfigData::datasetIndex ( const std::string &  dataset) const

index of dataset with name

Definition at line 589 of file HLTConfigData.cc.

References datasetIndex_, datasetNames_, and cmsHarvester::index.

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

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

Datasets.

Datasets list of names of all datasets

Definition at line 581 of file HLTConfigData.cc.

References datasetNames_.

Referenced by HLTConfigProvider::datasetNames().

581  {
582  return datasetNames_;
583 }
std::vector< std::string > datasetNames_
void HLTConfigData::dump ( const std::string &  what) const

Dumping config info to cout.

Definition at line 289 of file HLTConfigData.cc.

References gather_cfg::cout, datasetContents_, datasetNames_, globalTag_, hltL1GTSeeds_, hltL1TSeeds_, hltPrescaleTable_, i, j, diffTwoXMLs::label, trigger::HLTPrescaleTable::labels(), HLT_FULL_cff::labels, visualization-live-secondInstance_cfg::m, moduleEDMType(), moduleLabels_, moduleType(), gen::n, processName_, processPSet_, saveTags(), trigger::HLTPrescaleTable::size(), size(), streamContents_, streamNames_, trigger::HLTPrescaleTable::table(), TableParser::table, tableName_, o2o::tags, and triggerNames_.

Referenced by HLTConfigProvider::dump().

289  {
290  using namespace std;
291  using namespace edm;
292 
293  if (what=="ProcessPSet") {
294  cout << "HLTConfigData::dump: ProcessPSet = " << endl << *processPSet_ << endl;
295  } else if (what=="ProcessName") {
296  cout << "HLTConfigData::dump: ProcessName = " << processName_ << endl;
297  } else if (what=="GlobalTag") {
298  cout << "HLTConfigData::dump: GlobalTag = " << globalTag_ << endl;
299  } else if (what=="TableName") {
300  cout << "HLTConfigData::dump: TableName = " << tableName_ << endl;
301  } else if (what=="Triggers") {
302  const unsigned int n(size());
303  cout << "HLTConfigData::dump: Triggers: " << n << endl;
304  for (unsigned int i=0; i!=n; ++i) {
305  cout << " " << i << " " << triggerNames_[i] << endl;
306  }
307  } else if (what=="TriggerSeeds") {
308  const unsigned int n(size());
309  cout << "HLTConfigData::dump: TriggerSeeds: " << n << endl;
310  for (unsigned int i=0; i!=n; ++i) {
311  const unsigned int m1(hltL1GTSeeds_[i].size());
312  const unsigned int m2(hltL1TSeeds_[i].size());
313  cout << " " << i << " " << triggerNames_[i] << " " << m1 << "/" << m2 << endl;
314  if (m1>0) {
315  for (unsigned int j1=0; j1!=m1; ++j1) {
316  cout << " HLTLevel1GTSeed: " << j1
317  << " " << hltL1GTSeeds_[i][j1].first
318  << "/" << hltL1GTSeeds_[i][j1].second;
319  }
320  cout << endl;
321  }
322  if (m2>0) {
323  for (unsigned int j2=0; j2!=m2; ++j2) {
324  cout << " HLTL1TSeed: " << j2
325  << " " << hltL1TSeeds_[i][j2];
326  }
327  cout << endl;
328  }
329  }
330  } else if (what=="Modules") {
331  const unsigned int n(size());
332  cout << "HLTConfigData::dump Triggers and Modules: " << n << endl;
333  for (unsigned int i=0; i!=n; ++i) {
334  const unsigned int m(size(i));
335  cout << i << " " << triggerNames_[i] << " " << m << endl;
336  cout << " - Modules: ";
337  unsigned int nHLTPrescalers(0);
338  unsigned int nHLTLevel1GTSeed(0);
339  unsigned int nHLTL1TSeed(0);
340  for (unsigned int j=0; j!=m; ++j) {
341  const string& label(moduleLabels_[i][j]);
342  const string type(moduleType(label));
343  const string edmtype(moduleEDMType(label));
344  const bool tags(saveTags(label));
345  cout << " " << j << ":" << label << "/" << type << "/" << edmtype << "/" << tags;
346  if (type=="HLTPrescaler") nHLTPrescalers++;
347  if (type=="HLTLevel1GTSeed") nHLTLevel1GTSeed++;
348  if (type=="HLTL1TSeed") nHLTL1TSeed++;
349  }
350  cout << endl;
351  cout << " - Number of HLTPrescaler/HLTLevel1GTSeed/HLTL1TSeed modules: "
352  << nHLTPrescalers << "/" << nHLTLevel1GTSeed << "/" << nHLTL1TSeed << endl;
353  }
354  } else if (what=="StreamNames") {
355  const unsigned int n(streamNames_.size());
356  cout << "HLTConfigData::dump: StreamNames: " << n << endl;
357  for (unsigned int i=0; i!=n; ++i) {
358  cout << " " << i << " " << streamNames_[i] << endl;
359  }
360  } else if (what=="Streams") {
361  const unsigned int n(streamNames_.size());
362  cout << "HLTConfigData::dump: Streams: " << n << endl;
363  for (unsigned int i=0; i!=n; ++i) {
364  const unsigned int m(streamContents_[i].size());
365  cout << " " << i << " " << streamNames_[i] << " " << m << endl;
366  for (unsigned int j=0; j!=m; ++j) {
367  cout << " " << j << " " << streamContents_[i][j] << endl;
368  }
369  }
370  } else if (what=="DatasetNames") {
371  const unsigned int n(datasetNames_.size());
372  cout << "HLTConfigData::dump: DatasetNames: " << n << endl;
373  for (unsigned int i=0; i!=n; ++i) {
374  cout << " " << i << " " << datasetNames_[i] << endl;
375  }
376  } else if (what=="Datasets") {
377  const unsigned int n(datasetNames_.size());
378  cout << "HLTConfigData::dump: Datasets: " << n << endl;
379  for (unsigned int i=0; i!=n; ++i) {
380  const unsigned int m(datasetContents_[i].size());
381  cout << " " << i << " " << datasetNames_[i] << " " << m << endl;
382  for (unsigned int j=0; j!=m; ++j) {
383  cout << " " << j << " " << datasetContents_[i][j] << endl;
384  }
385  }
386  } else if (what=="PrescaleTable") {
387  const unsigned int n (hltPrescaleTable_.size());
388  cout << "HLTConfigData::dump: PrescaleTable: # of sets : " << n << endl;
389  const vector<string>& labels(hltPrescaleTable_.labels());
390  for (unsigned int i=0; i!=n; ++i) {
391  cout << " " << i << "/'" << labels.at(i) << "'";
392  }
393  if (n>0) cout << endl;
394  const map<string,vector<unsigned int> >& table(hltPrescaleTable_.table());
395  cout << "HLTConfigData::dump: PrescaleTable: # of paths: " << table.size() << endl;
396  const map<string,vector<unsigned int> >::const_iterator tb(table.begin());
397  const map<string,vector<unsigned int> >::const_iterator te(table.end());
398  for (map<string,vector<unsigned int> >::const_iterator ti=tb; ti!=te; ++ti) {
399  for (unsigned int i=0; i!=n; ++i) {
400  cout << " " << ti->second.at(i);
401  }
402  cout << " " << ti->first << endl;
403  }
404  } else {
405  cout << "HLTConfigData::dump: Unkown dump request: " << what << endl;
406  }
407  return;
408 }
type
Definition: HCALResponse.h:21
int i
Definition: DBlmapReader.cc:9
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
std::vector< std::string > datasetNames_
unsigned int size() const
number of trigger paths in trigger table
const std::map< std::string, std::vector< unsigned int > > & table() const
std::string globalTag_
std::vector< std::vector< std::string > > streamContents_
std::vector< std::string > triggerNames_
const std::vector< std::string > & labels() const
std::vector< std::vector< std::string > > datasetContents_
std::string tableName_
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
int j
Definition: DBlmapReader.cc:9
const std::string moduleType(const std::string &module) const
C++ class name of module.
std::vector< std::vector< std::string > > hltL1TSeeds_
tuple tags
Definition: o2o.py:248
const edm::ParameterSet * processPSet_
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
std::vector< std::string > streamNames_
tuple cout
Definition: gather_cfg.py:145
unsigned int size() const
consistency condition: all vectors must have the same length
std::string processName_
void HLTConfigData::extract ( )
private

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

Definition at line 60 of file HLTConfigData.cc.

References begin, datasetContents_, datasetIndex_, datasetNames_, contentValuesFiles::datasets, end, edm::ParameterSet::exists(), edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), globalTag_, hltL1GTSeeds_, hltL1TSeeds_, hltPrescaleTable_, i, j, l1tType_, edm::InputTag::label(), diffTwoXMLs::label, HLT_FULL_cff::labels, visualization-live-secondInstance_cfg::m, moduleIndex_, moduleLabels(), moduleLabels_, modulePSet(), edmConvertToStreamModule::modules, moduleType(), gen::n, or, processName_, processPSet_, TrackValidation_cff::pset, saveTags(), saveTagsModules_, size(), streamContents_, streamIndex_, streamNames_, HLT_ES_cff::streams, AlCaHLTBitMon_QueryRunRegistry::string, TableParser::table, tableName_, triggerIndex_, and triggerNames_.

Referenced by BeautifulSoup.PageElement::_invert(), BeautifulSoup.Tag::decompose(), and HLTConfigData().

61 {
62  using namespace std;
63  using namespace edm;
64  using namespace trigger;
65 
66  // Extract process name
67  if (processPSet_->existsAs<string>("@process_name",true)) {
68  processName_= processPSet_->getParameter<string>("@process_name");
69  }
70 
71  // Extract globaltag
72  globalTag_="";
73  const ParameterSet* GlobalTagPSet(0);
74  if (processPSet_->exists("GlobalTag")) {
75  GlobalTagPSet = &(processPSet_->getParameterSet("GlobalTag"));
76  } else if (processPSet_->exists("PoolDBESSource@GlobalTag")) {
77  GlobalTagPSet = &(processPSet_->getParameterSet("PoolDBESSource@GlobalTag"));
78  }
79  if (GlobalTagPSet && GlobalTagPSet->existsAs<std::string>("globaltag",true)) {
80  globalTag_=GlobalTagPSet->getParameter<std::string>("globaltag");
81  }
82 
83  // Obtain PSet containing table name (available only in 2_1_10++ files)
84  if (processPSet_->existsAs<ParameterSet>("HLTConfigVersion",true)) {
85  const ParameterSet& HLTPSet(processPSet_->getParameterSet("HLTConfigVersion"));
86  if (HLTPSet.existsAs<string>("tableName",true)) {
87  tableName_=HLTPSet.getParameter<string>("tableName");
88  }
89  }
90 
91  // Extract trigger paths (= paths - end_paths)
92  if (processPSet_->existsAs<ParameterSet>("@trigger_paths",true)) {
93  const ParameterSet& HLTPSet(processPSet_->getParameterSet("@trigger_paths"));
94  if (HLTPSet.existsAs<vector<string> >("@trigger_paths",true)) {
95  triggerNames_= HLTPSet.getParameter<vector<string> >("@trigger_paths");
96  }
97  }
98 
99  // Obtain module labels of all modules on all trigger paths
100  const unsigned int n(size());
101  moduleLabels_.reserve(n);
102  for (unsigned int i=0;i!=n; ++i) {
103  if (processPSet_->existsAs<vector<string> >(triggerNames_[i],true)) {
104  moduleLabels_.push_back(processPSet_->getParameter<vector<string> >(triggerNames_[i]));
105  }
106  }
107  saveTagsModules_.reserve(n);
108  vector<string> labels;
109  for (unsigned int i=0;i!=n; ++i) {
110  labels.clear();
111  const vector<string>& modules(moduleLabels(i));
112  const unsigned int m(modules.size());
113  labels.reserve(m);
114  for (unsigned int j=0;j!=m; ++j) {
115  const string& label(modules[j]);
116  if (saveTags(label)) labels.push_back(label);
117  }
118  saveTagsModules_.push_back(labels);
119  }
120 
121  // Fill index maps for fast lookup
122  moduleIndex_.resize(n);
123  for (unsigned int i=0; i!=n; ++i) {
125  moduleIndex_[i].clear();
126  const unsigned int m(size(i));
127  for (unsigned int j=0; j!=m; ++j) {
129  }
130  }
131 
132  // Extract and fill HLTLevel1GTSeed information for each trigger path
133  hltL1GTSeeds_.resize(n);
134  for (unsigned int i=0; i!=n; ++i) {
135  hltL1GTSeeds_[i].clear();
136  const unsigned int m(size(i));
137  for (unsigned int j=0; j!=m; ++j) {
138  const string& label(moduleLabels_[i][j]);
139  //HLTConfigProvider sees ignored modules as "-modname"
140  //if the HLTLevel1GTSeed is ignored in the config, it shouldnt
141  //count to the number of active HLTLevel1GTSeeds so we now check
142  //for the module being ignored
143  if (label.front()!='-' && moduleType(label) == "HLTLevel1GTSeed") {
145  if (pset!=ParameterSet()) {
146  const bool l1Tech(pset.getParameter<bool>("L1TechTriggerSeeding"));
147  const string l1Seed(pset.getParameter<string>("L1SeedsLogicalExpression"));
148  hltL1GTSeeds_[i].push_back(pair<bool,string>(l1Tech,l1Seed));
149  }
150  }
151  }
152  }
153 
154  // Extract and fill HLTL1TSeed information for each trigger path
155  hltL1TSeeds_.resize(n);
156  for (unsigned int i=0; i!=n; ++i) {
157  hltL1TSeeds_[i].clear();
158  const unsigned int m(size(i));
159  for (unsigned int j=0; j!=m; ++j) {
160  const string& label(moduleLabels_[i][j]);
161  //HLTConfigProvider sees ignored modules as "-modname"
162  //if the HLTL1TSeed is ignored in the config, it shouldnt
163  //count to the number of active HLTL1TSeeds so we now check
164  //for the module being ignored
165  if (label.front()!='-' && moduleType(label) == "HLTL1TSeed") {
167  if (pset!=ParameterSet()) {
168  const string l1Gtag(pset.getParameter<edm::InputTag>("L1GlobalInputTag").label());
169  // Emulator output is used to ignore L1T prescales
170  if (l1Gtag!="hltGtStage2ObjectMap") {
171  const string l1Seed(pset.getParameter<string>("L1SeedsLogicalExpression"));
172  hltL1TSeeds_[i].push_back(l1Seed);
173  }
174  }
175  }
176  }
177  }
178 
179  // Extract and fill streams information
180  if (processPSet_->existsAs<ParameterSet>("streams",true)) {
181  const ParameterSet& streams(processPSet_->getParameterSet("streams"));
182  streamNames_=streams.getParameterNamesForType<vector<string> >();
183  sort(streamNames_.begin(),streamNames_.end());
184  const unsigned int n(streamNames_.size());
185  streamContents_.resize(n);
186  for (unsigned int i=0; i!=n; ++i) {
187  streamIndex_[streamNames_[i]]=i;
188  streamContents_[i]=streams.getParameter<vector<string> >(streamNames_[i]);
189  sort(streamContents_[i].begin(),streamContents_[i].end());
190  }
191 
192  }
193 
194  // Extract and fill datasets information
195  if (processPSet_->existsAs<ParameterSet>("datasets",true)) {
196  const ParameterSet& datasets(processPSet_->getParameterSet("datasets"));
197  datasetNames_=datasets.getParameterNamesForType<vector<string> >();
198  sort(datasetNames_.begin(),datasetNames_.end());
199  const unsigned int n(datasetNames_.size());
200  datasetContents_.resize(n);
201  for (unsigned int i=0; i!=n; ++i) {
202  datasetIndex_[datasetNames_[i]]=i;
203  datasetContents_[i]=datasets.getParameter< vector<string> >(datasetNames_[i]);
204  sort(datasetContents_[i].begin(),datasetContents_[i].end());
205  }
206  }
207 
208  // Extract and fill Prescale information
209 
210  // Check various possibilities to get the HLT prescale sets:
211  string prescaleName("");
212  const string preS("PrescaleService");
213  const string preT("PrescaleTable");
214  if (processPSet_->existsAs<ParameterSet>(preS,true)) {
215  prescaleName=preS;
216  } else if ( processPSet_->existsAs<ParameterSet>(preT,true)) {
217  prescaleName=preT;
218  }
219  if (prescaleName=="") {
221  } else {
222  const ParameterSet& iPS(processPSet_->getParameterSet(prescaleName));
223  string defaultLabel("default");
224  if (iPS.existsAs<string>("lvl1DefaultLabel",true)) {
225  defaultLabel = iPS.getParameter<string>("lvl1DefaultLabel");
226  }
227  vector<string> labels;
228  if (iPS.existsAs<vector<string> >("lvl1Labels",true)) {
229  labels = iPS.getParameter<vector<string> >("lvl1Labels");
230  }
231  unsigned int set(0);
232  const unsigned int n(labels.size());
233  for (unsigned int i=0; i!=n; ++i) {
234  if (labels[i]==defaultLabel) set=i;
235  }
236  map<string,vector<unsigned int> > table;
237  if (iPS.existsAs< vector<ParameterSet> >("prescaleTable",true)) {
238  const vector<ParameterSet>& vpTable(iPS.getParameterSetVector("prescaleTable"));
239  const unsigned int m (vpTable.size());
240  for (unsigned int i=0; i!=m; ++i) {
241  table[vpTable[i].getParameter<std::string>("pathName")] =
242  vpTable[i].getParameter<std::vector<unsigned int> >("prescales");
243  }
244  }
245  if (n>0) {
246  hltPrescaleTable_=HLTPrescaleTable(set,labels,table);
247  } else {
249  }
250 
251  }
252 
253  // Determine L1T Type (0=unknown, 1=legacy/stage-1 or 2=stage-2)
254  l1tType_ = 0;
255  unsigned int stage1(0),stage2(0);
256  if (processPSet_->existsAs<std::vector<std::string>>("@all_modules")) {
257  const std::vector<std::string>& allModules(processPSet_->getParameter<std::vector<std::string>>("@all_modules"));
258  for (unsigned int i=0; i<allModules.size(); i++) {
259  if ((moduleType(allModules[i]) == "HLTLevel1GTSeed") or (moduleType(allModules[i]) == "L1GlobalTrigger")){
260  stage1 += 1;
261  } else if ((moduleType(allModules[i]) == "HLTL1TSeed") or (moduleType(allModules[i]) == "L1TGlobalProducer")){
262  stage2 += 1;
263  }
264  }
265  }
266  if ( (stage1+stage2)==0 ) {
267  l1tType_=0;
268  // edm::LogError("HLTConfigData") << " Can't identify l1tType: Process '" << processName_ << "' does not contain any identifying instances!";
269  } else if ( (stage1*stage2)!=0 ) {
270  l1tType_=0;
271  // edm::LogError("HLTConfigData") << " Can't identify l1tType: Process '" << processName_ << "' contains both legacy/stage-1/stage-2 instances!";
272  } else if (stage1>0) {
273  l1tType_=1;
274  // edm::LogError("HLTConfigData") << " Identified Process '" << processName_ << "' as legacy/stage-1 L1T!";
275  } else {
276  l1tType_=2;
277  // edm::LogError("HLTConfigData") << " Identified Process '" << processName_ << "' as stage-2 L1T!";
278  }
279 
280  LogVerbatim("HLTConfigData") << "HLTConfigData: ProcessPSet with name/GT/table/l1tType: '"
281  << processName_ << "' '"
282  << globalTag_ << "' '"
283  << tableName_ << "' "
284  << l1tType_;
285 
286  return;
287 }
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:186
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
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::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
std::vector< std::map< std::string, unsigned int > > moduleIndex_
std::map< std::string, unsigned int > datasetIndex_
The single EDProduct containing the HLT Prescale Table.
bool exists(std::string const &parameterName) const
checks if a parameter exists
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
std::vector< std::string > datasetNames_
unsigned int size() const
number of trigger paths in trigger table
std::vector< std::vector< std::string > > saveTagsModules_
std::string globalTag_
std::vector< std::vector< std::string > > streamContents_
std::vector< std::string > triggerNames_
std::vector< std::vector< std::string > > datasetContents_
std::map< std::string, unsigned int > triggerIndex_
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
std::string tableName_
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
int j
Definition: DBlmapReader.cc:9
const std::string moduleType(const std::string &module) const
C++ class name of module.
#define end
Definition: vmac.h:37
std::vector< std::vector< std::string > > hltL1TSeeds_
const edm::ParameterSet * processPSet_
ParameterSet const & getParameterSet(std::string const &) const
std::string const & label() const
Definition: InputTag.h:36
#define begin
Definition: vmac.h:30
std::vector< std::string > streamNames_
std::map< std::string, unsigned int > streamIndex_
tuple streams
Definition: HLT_ES_cff.py:11
std::string processName_
unsigned int l1tType_
const std::string & HLTConfigData::globalTag ( ) const

GlobalTag.globaltag.

Definition at line 414 of file HLTConfigData.cc.

References globalTag_.

Referenced by HLTConfigProvider::globalTag().

414  {
415  return globalTag_;
416 }
std::string globalTag_
const std::vector< std::vector< std::pair< bool, std::string > > > & HLTConfigData::hltL1GTSeeds ( ) const

HLTLevel1GTSeed module HLTLevel1GTSeed modules for all trigger paths

Definition at line 526 of file HLTConfigData.cc.

References hltL1GTSeeds_.

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

526  {
527  return hltL1GTSeeds_;
528 }
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
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 530 of file HLTConfigData.cc.

References hltL1GTSeeds(), and triggerIndex().

530  {
531  return hltL1GTSeeds(triggerIndex(trigger));
532 }
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)
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 534 of file HLTConfigData.cc.

References hltL1GTSeeds_.

534  {
535  return hltL1GTSeeds_.at(trigger);
536 }
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
const std::vector< std::vector< std::string > > & HLTConfigData::hltL1TSeeds ( ) const

HLTL1TSeed module HLTL1TSeed modules for all trigger paths

Definition at line 538 of file HLTConfigData.cc.

References hltL1TSeeds_.

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

538  {
539  return hltL1TSeeds_;
540 }
std::vector< std::vector< std::string > > hltL1TSeeds_
const std::vector< std::string > & HLTConfigData::hltL1TSeeds ( const std::string &  trigger) const

HLTL1TSeed modules for trigger path with name.

Definition at line 542 of file HLTConfigData.cc.

References hltL1TSeeds(), and triggerIndex().

542  {
543  return hltL1TSeeds(triggerIndex(trigger));
544 }
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)
const std::vector< std::vector< std::string > > & hltL1TSeeds() const
const std::vector< std::string > & HLTConfigData::hltL1TSeeds ( unsigned int  trigger) const

HLTL1TSeed modules for trigger path with index i.

Definition at line 546 of file HLTConfigData.cc.

References hltL1TSeeds_.

546  {
547  return hltL1TSeeds_.at(trigger);
548 }
std::vector< std::vector< std::string > > hltL1TSeeds_
edm::ParameterSetID HLTConfigData::id ( void  ) const

technical: id() function needed for use with ThreadSafeRegistry

Definition at line 625 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::init().

625  {
626  return processPSet_->id();
627 }
ParameterSetID id() const
const edm::ParameterSet * processPSet_
unsigned int HLTConfigData::l1tType ( ) const

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

Definition at line 522 of file HLTConfigData.cc.

References l1tType_.

Referenced by HLTConfigProvider::l1tType().

522  {
523  return l1tType_;
524 }
unsigned int l1tType_
const std::string HLTConfigData::moduleEDMType ( const std::string &  module) const

C++ base class name of module.

Definition at line 488 of file HLTConfigData.cc.

References edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), modulePSet(), TrackValidation_cff::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

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

488  {
490  if (pset.existsAs<std::string>("@module_edm_type",true)) {
491  return pset.getParameter<std::string>("@module_edm_type");
492  } else {
493  return "";
494  }
495 }
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
Definition: vlib.h:208
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 467 of file HLTConfigData.cc.

References cmsHarvester::index, moduleIndex_, and size().

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

467  {
468  const std::map<std::string,unsigned int>::const_iterator index(moduleIndex_.at(trigger).find(module));
469  if (index==moduleIndex_.at(trigger).end()) {
470  return size(trigger);
471  } else {
472  return index->second;
473  }
474 }
std::vector< std::map< std::string, unsigned int > > moduleIndex_
unsigned int size() const
number of trigger paths in trigger table
Definition: vlib.h:208
unsigned int HLTConfigData::moduleIndex ( const std::string &  trigger,
const std::string &  module 
) const

Definition at line 475 of file HLTConfigData.cc.

References moduleIndex(), and triggerIndex().

475  {
476  return moduleIndex(triggerIndex(trigger),module);
477 }
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 - size-1)
Definition: vlib.h:208
const std::string & HLTConfigData::moduleLabel ( unsigned int  trigger,
unsigned int  module 
) const

Definition at line 460 of file HLTConfigData.cc.

References moduleLabels_.

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

460  {
461  return moduleLabels_.at(trigger).at(module);
462 }
std::vector< std::vector< std::string > > moduleLabels_
Definition: vlib.h:208
const std::string & HLTConfigData::moduleLabel ( const std::string &  trigger,
unsigned int  module 
) const

Definition at line 463 of file HLTConfigData.cc.

References moduleLabels_, and triggerIndex().

463  {
464  return moduleLabels_.at(triggerIndex(trigger)).at(module);
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)
Definition: vlib.h:208
const std::vector< std::string > & HLTConfigData::moduleLabels ( unsigned int  trigger) const

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

Definition at line 446 of file HLTConfigData.cc.

References moduleLabels_.

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

446  {
447  return moduleLabels_.at(trigger);
448 }
std::vector< std::vector< std::string > > moduleLabels_
const std::vector< std::string > & HLTConfigData::moduleLabels ( const std::string &  trigger) const

Definition at line 449 of file HLTConfigData.cc.

References moduleLabels_, and triggerIndex().

449  {
450  return moduleLabels_.at(triggerIndex(trigger));
451 }
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)
const edm::ParameterSet & HLTConfigData::modulePSet ( const std::string &  module) const

ParameterSet of module.

Definition at line 501 of file HLTConfigData.cc.

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

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

501  {
502  //HLTConfigProvider sees ignored modules as "-modname"
503  //but in the PSet, the module is named "modname"
504  //so if it starts with "-", you need to remove the "-" from the
505  //module name to be able to retreive it from the PSet
506  if (processPSet_->exists(module.front()!='-' ? module : module.substr(1))) {
507  return processPSet_->getParameterSet(module.front()!='-' ? module : module.substr(1));
508  } else {
509  return *s_dummyPSet();
510  }
511 }
bool exists(std::string const &parameterName) const
checks if a parameter exists
const edm::ParameterSet * processPSet_
ParameterSet const & getParameterSet(std::string const &) const
Definition: vlib.h:208
static const edm::ParameterSet * s_dummyPSet()
const std::string HLTConfigData::moduleType ( const std::string &  module) const

C++ class name of module.

Definition at line 479 of file HLTConfigData.cc.

References edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), modulePSet(), TrackValidation_cff::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

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

479  {
481  if (pset.existsAs<std::string>("@module_type",true)) {
482  return pset.getParameter<std::string>("@module_type");
483  } else {
484  return "";
485  }
486 }
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
Definition: vlib.h:208
const std::vector< std::string > & HLTConfigData::prescaleLabels ( ) const

low-level data member access

Definition at line 618 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::prescaleLabels().

618  {
619  return hltPrescaleTable_.labels();
620 }
const std::vector< std::string > & labels() const
trigger::HLTPrescaleTable hltPrescaleTable_
unsigned int HLTConfigData::prescaleSize ( ) const

HLT prescale info Number of HLT prescale sets

Definition at line 611 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::prescaleSize().

611  {
612  return hltPrescaleTable_.size();
613 }
trigger::HLTPrescaleTable hltPrescaleTable_
unsigned int size() const
consistency condition: all vectors must have the same length
const std::map< std::string, std::vector< unsigned int > > & HLTConfigData::prescaleTable ( ) const

Definition at line 621 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::prescaleTable().

621  {
622  return hltPrescaleTable_.table();
623 }
const std::map< std::string, std::vector< unsigned int > > & table() const
trigger::HLTPrescaleTable hltPrescaleTable_
unsigned int 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 614 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::prescaleValue().

614  {
615  return hltPrescaleTable_.prescale(set,trigger);
616 }
trigger::HLTPrescaleTable hltPrescaleTable_
unsigned int prescale(const std::string &trigger) const
high-level user access method: prescale for given trigger path
const std::string & HLTConfigData::processName ( ) const

Accessors (const methods)

process name

Definition at line 410 of file HLTConfigData.cc.

References processName_.

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

410  {
411  return processName_;
412 }
std::string processName_
const edm::ParameterSet & HLTConfigData::processPSet ( ) const

ParameterSet of process.

Definition at line 497 of file HLTConfigData.cc.

References processPSet_.

Referenced by HLTConfigProvider::processPSet().

497  {
498  return *processPSet_;
499 }
const edm::ParameterSet * processPSet_
bool HLTConfigData::saveTags ( const std::string &  module) const

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

Definition at line 513 of file HLTConfigData.cc.

References edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), modulePSet(), and TrackValidation_cff::pset.

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

513  {
515  if (pset.existsAs<bool>("saveTags",true)) {
516  return pset.getParameter<bool>("saveTags");
517  } else {
518  return false;
519  }
520 }
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
Definition: vlib.h:208
const std::vector< std::string > & HLTConfigData::saveTagsModules ( unsigned int  trigger) const

Definition at line 453 of file HLTConfigData.cc.

References saveTagsModules_.

Referenced by HLTConfigProvider::saveTagsModules().

453  {
454  return saveTagsModules_.at(trigger);
455 }
std::vector< std::vector< std::string > > saveTagsModules_
const std::vector< std::string > & HLTConfigData::saveTagsModules ( const std::string &  trigger) const

Definition at line 456 of file HLTConfigData.cc.

References saveTagsModules_, and triggerIndex().

456  {
457  return saveTagsModules_.at(triggerIndex(trigger));
458 }
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)
unsigned int HLTConfigData::size ( void  ) const

number of trigger paths in trigger table

Definition at line 418 of file HLTConfigData.cc.

References triggerNames_.

Referenced by ntuple._Collection::__iter__(), ntuple._Collection::__len__(), dump(), extract(), HLTConfigDataEx::HLTConfigDataEx(), moduleIndex(), size(), HLTConfigProvider::size(), HLTConfigDataEx::size(), and triggerIndex().

418  {
419  return triggerNames_.size();
420 }
std::vector< std::string > triggerNames_
unsigned int HLTConfigData::size ( unsigned int  trigger) const

number of modules on a specific trigger path

Definition at line 421 of file HLTConfigData.cc.

References moduleLabels_.

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

421  {
422  return moduleLabels_.at(trigger).size();
423 }
std::vector< std::vector< std::string > > moduleLabels_
unsigned int HLTConfigData::size ( const std::string &  trigger) const

Definition at line 424 of file HLTConfigData.cc.

References size(), and triggerIndex().

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

424  {
425  return size(triggerIndex(trigger));
426 }
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)
const std::vector< std::string > & HLTConfigData::streamContent ( unsigned int  stream) const

names of datasets in stream with index i

Definition at line 572 of file HLTConfigData.cc.

References streamContents_.

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

572  {
573  return streamContents_.at(stream);
574 }
std::vector< std::vector< std::string > > streamContents_
const std::vector< std::string > & HLTConfigData::streamContent ( const std::string &  stream) const

names of datasets in stream with name

Definition at line 576 of file HLTConfigData.cc.

References streamContent(), and streamIndex().

576  {
577  return streamContent(streamIndex(stream));
578 }
unsigned int streamIndex(const std::string &stream) const
index of stream with name
const std::vector< std::string > & streamContent(unsigned int stream) const
names of datasets in stream with index i
const std::vector< std::vector< std::string > > & HLTConfigData::streamContents ( ) const

names of datasets for all streams

Definition at line 568 of file HLTConfigData.cc.

References streamContents_.

Referenced by HLTConfigProvider::streamContents().

568  {
569  return streamContents_;
570 }
std::vector< std::vector< std::string > > streamContents_
unsigned int HLTConfigData::streamIndex ( const std::string &  stream) const

index of stream with name

Definition at line 559 of file HLTConfigData.cc.

References cmsHarvester::index, streamIndex_, and streamNames_.

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

559  {
560  const std::map<std::string,unsigned int>::const_iterator index(streamIndex_.find(stream));
561  if (index==streamIndex_.end()) {
562  return streamNames_.size();
563  } else {
564  return index->second;
565  }
566 }
std::vector< std::string > streamNames_
std::map< std::string, unsigned int > streamIndex_
const std::string & HLTConfigData::streamName ( unsigned int  stream) const

name of stream with index i

Definition at line 555 of file HLTConfigData.cc.

References streamNames_.

Referenced by HLTConfigProvider::streamName().

555  {
556  return streamNames_.at(stream);
557 }
std::vector< std::string > streamNames_
const std::vector< std::string > & HLTConfigData::streamNames ( ) const

Streams.

Streams list of names of all streams

Definition at line 551 of file HLTConfigData.cc.

References streamNames_.

Referenced by HLTConfigProvider::streamNames().

551  {
552  return streamNames_;
553 }
std::vector< std::string > streamNames_
const std::string & HLTConfigData::tableName ( ) const

HLT ConfDB table name.

Definition at line 428 of file HLTConfigData.cc.

References tableName_.

Referenced by HLTConfigProvider::tableName().

428  {
429  return tableName_;
430 }
std::string tableName_
unsigned int HLTConfigData::triggerIndex ( const std::string &  triggerName) const

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

Definition at line 437 of file HLTConfigData.cc.

References cmsHarvester::index, size(), and triggerIndex_.

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

437  {
438  const std::map<std::string,unsigned int>::const_iterator index(triggerIndex_.find(trigger));
439  if (index==triggerIndex_.end()) {
440  return size();
441  } else {
442  return index->second;
443  }
444 }
unsigned int size() const
number of trigger paths in trigger table
std::map< std::string, unsigned int > triggerIndex_
const std::string & HLTConfigData::triggerName ( unsigned int  triggerIndex) const

Definition at line 434 of file HLTConfigData.cc.

References triggerNames_.

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

434  {
435  return triggerNames_.at(trigger);
436 }
std::vector< std::string > triggerNames_
const std::vector< std::string > & HLTConfigData::triggerNames ( ) const

names of trigger paths

Definition at line 431 of file HLTConfigData.cc.

References triggerNames_.

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

431  {
432  return triggerNames_;
433 }
std::vector< std::string > triggerNames_

Member Data Documentation

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

Definition at line 178 of file HLTConfigData.h.

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

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

Definition at line 177 of file HLTConfigData.h.

Referenced by datasetIndex(), and extract().

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

Definition at line 176 of file HLTConfigData.h.

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

std::string HLTConfigData::globalTag_
private

Definition at line 159 of file HLTConfigData.h.

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

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

Definition at line 169 of file HLTConfigData.h.

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

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

Definition at line 170 of file HLTConfigData.h.

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

trigger::HLTPrescaleTable HLTConfigData::hltPrescaleTable_
private
unsigned int HLTConfigData::l1tType_
private

Definition at line 168 of file HLTConfigData.h.

Referenced by extract(), and l1tType().

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

Definition at line 166 of file HLTConfigData.h.

Referenced by extract(), and moduleIndex().

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

Definition at line 162 of file HLTConfigData.h.

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

std::string HLTConfigData::processName_
private

Definition at line 158 of file HLTConfigData.h.

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

const edm::ParameterSet* HLTConfigData::processPSet_
private

Definition at line 156 of file HLTConfigData.h.

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

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

Definition at line 163 of file HLTConfigData.h.

Referenced by extract(), and saveTagsModules().

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

Definition at line 174 of file HLTConfigData.h.

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

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

Definition at line 173 of file HLTConfigData.h.

Referenced by extract(), and streamIndex().

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

Definition at line 172 of file HLTConfigData.h.

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

std::string HLTConfigData::tableName_
private

Definition at line 160 of file HLTConfigData.h.

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

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

Definition at line 165 of file HLTConfigData.h.

Referenced by extract(), and triggerIndex().

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

Definition at line 161 of file HLTConfigData.h.

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