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...
 
edm::ParameterSetID id () const
 technical: id() function needed for use with ThreadSafeRegistry 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_
 
trigger::HLTPrescaleTable hltPrescaleTable_
 
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

Date:
2012/03/21 12:08:38
Revision:
1.15
Author
Martin Grunewald

See header file for documentation

Date:
2012/03/28 06:15:15
Revision:
1.20
Author
Martin Grunewald

Definition at line 27 of file HLTConfigData.h.

Constructor & Destructor Documentation

HLTConfigData::HLTConfigData ( )

Definition at line 24 of file HLTConfigData.cc.

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

24  :
26  processName_(""), globalTag_(""),
29  hltL1GTSeeds_(),
33 {
34  if (processPSet_->id().isValid()) {
35  extract();
36  }
37 }
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
const edm::ParameterSet * processPSet_
bool isValid() const
Definition: Hash.h:146
std::vector< std::string > streamNames_
std::map< std::string, unsigned int > streamIndex_
static const edm::ParameterSet * s_dummyPSet()
std::string processName_
HLTConfigData::HLTConfigData ( const edm::ParameterSet iID)

Definition at line 39 of file HLTConfigData.cc.

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

39  :
40  processPSet_(iPSet),
41  processName_(""), globalTag_(""),
44  hltL1GTSeeds_(),
48 {
49  if (processPSet_->id().isValid()) {
50  extract();
51  }
52 }
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
const edm::ParameterSet * processPSet_
bool isValid() const
Definition: Hash.h:146
std::vector< std::string > streamNames_
std::map< std::string, unsigned int > streamIndex_
std::string processName_

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

References datasetContents_.

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

502  {
503  return datasetContents_.at(dataset);
504 }
std::vector< std::vector< std::string > > datasetContents_
tuple dataset
Definition: dataset.py:393
const std::vector< std::string > & HLTConfigData::datasetContent ( const std::string &  dataset) const

names of trigger paths in dataset with name

Definition at line 506 of file HLTConfigData.cc.

References datasetContent(), and datasetIndex().

506  {
508 }
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
tuple dataset
Definition: dataset.py:393
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 498 of file HLTConfigData.cc.

References datasetContents_.

Referenced by HLTConfigProvider::datasetContents().

498  {
499  return datasetContents_;
500 }
std::vector< std::vector< std::string > > datasetContents_
unsigned int HLTConfigData::datasetIndex ( const std::string &  dataset) const

index of dataset with name

Definition at line 489 of file HLTConfigData.cc.

References datasetIndex_, datasetNames_, and getHLTprescales::index.

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

489  {
490  const std::map<std::string,unsigned int>::const_iterator index(datasetIndex_.find(dataset));
491  if (index==datasetIndex_.end()) {
492  return datasetNames_.size();
493  } else {
494  return index->second;
495  }
496 }
std::map< std::string, unsigned int > datasetIndex_
std::vector< std::string > datasetNames_
tuple dataset
Definition: dataset.py:393
const std::string & HLTConfigData::datasetName ( unsigned int  dataset) const

name of dataset with index i

Definition at line 485 of file HLTConfigData.cc.

References datasetNames_.

Referenced by HLTConfigProvider::datasetName().

485  {
486  return datasetNames_.at(dataset);
487 }
std::vector< std::string > datasetNames_
tuple dataset
Definition: dataset.py:393
const std::vector< std::string > & HLTConfigData::datasetNames ( ) const

Datasets.

Datasets list of names of all datasets

Definition at line 481 of file HLTConfigData.cc.

References datasetNames_.

Referenced by HLTConfigProvider::datasetNames().

481  {
482  return datasetNames_;
483 }
std::vector< std::string > datasetNames_
void HLTConfigData::dump ( const std::string &  what) const

Dumping config info to cout.

Definition at line 226 of file HLTConfigData.cc.

References gather_cfg::cout, datasetContents_, datasetNames_, globalTag_, hltL1GTSeeds_, hltPrescaleTable_, i, j, diffTwoXMLs::label, trigger::HLTPrescaleTable::labels(), reco_calib_source_client_cfg::labels, m, Association::map, moduleEDMType(), moduleLabels_, moduleType(), n, processName_, processPSet_, saveTags(), trigger::HLTPrescaleTable::size(), size(), streamContents_, streamNames_, trigger::HLTPrescaleTable::table(), asciidump::table, tableName_, o2o::tags, and triggerNames_.

Referenced by HLTConfigProvider::dump().

226  {
227  using namespace std;
228  using namespace edm;
229 
230  if (what=="ProcessPSet") {
231  cout << "HLTConfigData::dump: ProcessPSet = " << endl << *processPSet_ << endl;
232  } else if (what=="ProcessName") {
233  cout << "HLTConfigData::dump: ProcessName = " << processName_ << endl;
234  } else if (what=="GlobalTag") {
235  cout << "HLTConfigData::dump: GlobalTag = " << globalTag_ << endl;
236  } else if (what=="TableName") {
237  cout << "HLTConfigData::dump: TableName = " << tableName_ << endl;
238  } else if (what=="Triggers") {
239  const unsigned int n(size());
240  cout << "HLTConfigData::dump: Triggers: " << n << endl;
241  for (unsigned int i=0; i!=n; ++i) {
242  cout << " " << i << " " << triggerNames_[i] << endl;
243  }
244  } else if (what=="TriggerSeeds") {
245  const unsigned int n(size());
246  cout << "HLTConfigData::dump: TriggerSeeds: " << n << endl;
247  for (unsigned int i=0; i!=n; ++i) {
248  const unsigned int m(hltL1GTSeeds_[i].size());
249  cout << " " << i << " " << triggerNames_[i] << " " << m << endl;
250  for (unsigned int j=0; j!=m; ++j) {
251  cout << " " << j
252  << " " << hltL1GTSeeds_[i][j].first
253  << "/" << hltL1GTSeeds_[i][j].second << endl;
254  }
255  }
256  } else if (what=="Modules") {
257  const unsigned int n(size());
258  cout << "HLTConfigData::dump Triggers and Modules: " << n << endl;
259  for (unsigned int i=0; i!=n; ++i) {
260  const unsigned int m(size(i));
261  cout << i << " " << triggerNames_[i] << " " << m << endl;
262  cout << " - Modules: ";
263  unsigned int nHLTPrescalers(0);
264  unsigned int nHLTLevel1GTSeed(0);
265  for (unsigned int j=0; j!=m; ++j) {
266  const string& label(moduleLabels_[i][j]);
267  const string type(moduleType(label));
268  const string edmtype(moduleEDMType(label));
269  const bool tags(saveTags(label));
270  cout << " " << j << ":" << label << "/" << type << "/" << edmtype << "/" << tags;
271  if (type=="HLTPrescaler") nHLTPrescalers++;
272  if (type=="HLTLevel1GTSeed") nHLTLevel1GTSeed++;
273  }
274  cout << endl;
275  cout << " - Number of HLTPrescaler/HLTLevel1GTSeed modules: "
276  << nHLTPrescalers << "/" << nHLTLevel1GTSeed << endl;
277  }
278  } else if (what=="StreamNames") {
279  const unsigned int n(streamNames_.size());
280  cout << "HLTConfigData::dump: StreamNames: " << n << endl;
281  for (unsigned int i=0; i!=n; ++i) {
282  cout << " " << i << " " << streamNames_[i] << endl;
283  }
284  } else if (what=="Streams") {
285  const unsigned int n(streamNames_.size());
286  cout << "HLTConfigData::dump: Streams: " << n << endl;
287  for (unsigned int i=0; i!=n; ++i) {
288  const unsigned int m(streamContents_[i].size());
289  cout << " " << i << " " << streamNames_[i] << " " << m << endl;
290  for (unsigned int j=0; j!=m; ++j) {
291  cout << " " << j << " " << streamContents_[i][j] << endl;
292  }
293  }
294  } else if (what=="DatasetNames") {
295  const unsigned int n(datasetNames_.size());
296  cout << "HLTConfigData::dump: DatasetNames: " << n << endl;
297  for (unsigned int i=0; i!=n; ++i) {
298  cout << " " << i << " " << datasetNames_[i] << endl;
299  }
300  } else if (what=="Datasets") {
301  const unsigned int n(datasetNames_.size());
302  cout << "HLTConfigData::dump: Datasets: " << n << endl;
303  for (unsigned int i=0; i!=n; ++i) {
304  const unsigned int m(datasetContents_[i].size());
305  cout << " " << i << " " << datasetNames_[i] << " " << m << endl;
306  for (unsigned int j=0; j!=m; ++j) {
307  cout << " " << j << " " << datasetContents_[i][j] << endl;
308  }
309  }
310  } else if (what=="PrescaleTable") {
311  const unsigned int n (hltPrescaleTable_.size());
312  cout << "HLTConfigData::dump: PrescaleTable: # of sets : " << n << endl;
313  const vector<string>& labels(hltPrescaleTable_.labels());
314  for (unsigned int i=0; i!=n; ++i) {
315  cout << " " << i << "/'" << labels.at(i) << "'";
316  }
317  if (n>0) cout << endl;
318  const map<string,vector<unsigned int> >& table(hltPrescaleTable_.table());
319  cout << "HLTConfigData::dump: PrescaleTable: # of paths: " << table.size() << endl;
320  const map<string,vector<unsigned int> >::const_iterator tb(table.begin());
321  const map<string,vector<unsigned int> >::const_iterator te(table.end());
322  for (map<string,vector<unsigned int> >::const_iterator ti=tb; ti!=te; ++ti) {
323  for (unsigned int i=0; i!=n; ++i) {
324  cout << " " << ti->second.at(i);
325  }
326  cout << " " << ti->first << endl;
327  }
328  } else {
329  cout << "HLTConfigData::dump: Unkown dump request: " << what << endl;
330  }
331  return;
332 }
list table
Definition: asciidump.py:386
type
Definition: HCALResponse.h:22
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
dictionary map
Definition: Association.py:196
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.
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:121
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 54 of file HLTConfigData.cc.

References begin, datasetContents_, datasetIndex_, datasetNames_, RecoTau_DiTaus_pt_20-420_cfg::datasets, end, edm::ParameterSet::exists(), edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), globalTag_, hltL1GTSeeds_, hltPrescaleTable_, i, j, diffTwoXMLs::label, reco_calib_source_client_cfg::labels, m, moduleIndex_, moduleLabels(), moduleLabels_, modulePSet(), moduleType(), n, processName_, processPSet_, saveTags(), saveTagsModules_, runtimedef::set(), size(), python.multivaluedict::sort(), streamContents_, streamIndex_, streamNames_, hcal_dqm_sourceclient-file_cfg::streams, asciidump::table, tableName_, triggerIndex_, and triggerNames_.

Referenced by HLTConfigData().

55 {
56  using namespace std;
57  using namespace edm;
58  using namespace trigger;
59 
60  // Extract process name
61  if (processPSet_->existsAs<string>("@process_name",true)) {
62  processName_= processPSet_->getParameter<string>("@process_name");
63  }
64 
65  // Extract globaltag
66  globalTag_="";
67  const ParameterSet* GlobalTagPSet(0);
68  if (processPSet_->exists("GlobalTag")) {
69  GlobalTagPSet = &(processPSet_->getParameterSet("GlobalTag"));
70  } else if (processPSet_->exists("PoolDBESSource@GlobalTag")) {
71  GlobalTagPSet = &(processPSet_->getParameterSet("PoolDBESSource@GlobalTag"));
72  }
73  if (GlobalTagPSet && GlobalTagPSet->existsAs<std::string>("globaltag",true)) {
74  globalTag_=GlobalTagPSet->getParameter<std::string>("globaltag");
75  }
76 
77  // Obtain PSet containing table name (available only in 2_1_10++ files)
78  if (processPSet_->existsAs<ParameterSet>("HLTConfigVersion",true)) {
79  const ParameterSet& HLTPSet(processPSet_->getParameterSet("HLTConfigVersion"));
80  if (HLTPSet.existsAs<string>("tableName",true)) {
81  tableName_=HLTPSet.getParameter<string>("tableName");
82  }
83  }
84 
85  LogVerbatim("HLTConfigData") << "ProcessPSet with: "
86  << processName_ << " "
87  << globalTag_ << " "
88  << tableName_;
89 
90  // Extract trigger paths (= paths - end_paths)
91  if (processPSet_->existsAs<ParameterSet>("@trigger_paths",true)) {
92  const ParameterSet& HLTPSet(processPSet_->getParameterSet("@trigger_paths"));
93  if (HLTPSet.existsAs<vector<string> >("@trigger_paths",true)) {
94  triggerNames_= HLTPSet.getParameter<vector<string> >("@trigger_paths");
95  }
96  }
97 
98  // Obtain module labels of all modules on all trigger paths
99  const unsigned int n(size());
100  moduleLabels_.reserve(n);
101  for (unsigned int i=0;i!=n; ++i) {
102  if (processPSet_->existsAs<vector<string> >(triggerNames_[i],true)) {
103  moduleLabels_.push_back(processPSet_->getParameter<vector<string> >(triggerNames_[i]));
104  }
105  }
106  saveTagsModules_.reserve(n);
107  vector<string> labels;
108  for (unsigned int i=0;i!=n; ++i) {
109  labels.clear();
110  const vector<string>& modules(moduleLabels(i));
111  const unsigned int m(modules.size());
112  labels.reserve(m);
113  for (unsigned int j=0;j!=m; ++j) {
114  const string& label(modules[j]);
115  if (saveTags(label)) labels.push_back(label);
116  }
117  saveTagsModules_.push_back(labels);
118  }
119 
120  // Fill index maps for fast lookup
121  moduleIndex_.resize(n);
122  for (unsigned int i=0; i!=n; ++i) {
124  moduleIndex_[i].clear();
125  const unsigned int m(size(i));
126  for (unsigned int j=0; j!=m; ++j) {
128  }
129  }
130 
131  // Extract and fill HLTLevel1GTSeed information for each trigger path
132  hltL1GTSeeds_.resize(n);
133  for (unsigned int i=0; i!=n; ++i) {
134  hltL1GTSeeds_[i].clear();
135  const unsigned int m(size(i));
136  for (unsigned int j=0; j!=m; ++j) {
137  const string& label(moduleLabels_[i][j]);
138  if (moduleType(label) == "HLTLevel1GTSeed") {
139  const ParameterSet& pset(modulePSet(label));
140  if (pset!=ParameterSet()) {
141  const bool l1Tech(pset.getParameter<bool>("L1TechTriggerSeeding"));
142  const string l1Seed(pset.getParameter<string>("L1SeedsLogicalExpression"));
143  hltL1GTSeeds_[i].push_back(pair<bool,string>(l1Tech,l1Seed));
144  }
145  }
146  }
147  }
148 
149  // Extract and fill streams information
150  if (processPSet_->existsAs<ParameterSet>("streams",true)) {
151  const ParameterSet& streams(processPSet_->getParameterSet("streams"));
152  streamNames_=streams.getParameterNamesForType<vector<string> >();
153  sort(streamNames_.begin(),streamNames_.end());
154  const unsigned int n(streamNames_.size());
155  streamContents_.resize(n);
156  for (unsigned int i=0; i!=n; ++i) {
157  streamIndex_[streamNames_[i]]=i;
158  streamContents_[i]=streams.getParameter<vector<string> >(streamNames_[i]);
160  }
161 
162  }
163 
164  // Extract and fill datasets information
165  if (processPSet_->existsAs<ParameterSet>("datasets",true)) {
166  const ParameterSet& datasets(processPSet_->getParameterSet("datasets"));
167  datasetNames_=datasets.getParameterNamesForType<vector<string> >();
168  sort(datasetNames_.begin(),datasetNames_.end());
169  const unsigned int n(datasetNames_.size());
170  datasetContents_.resize(n);
171  for (unsigned int i=0; i!=n; ++i) {
172  datasetIndex_[datasetNames_[i]]=i;
173  datasetContents_[i]=datasets.getParameter< vector<string> >(datasetNames_[i]);
175  }
176  }
177 
178  // Extract and fill Prescale information
179 
180  // Check various possibilities to get the HLT prescale sets:
181  string prescaleName("");
182  const string preS("PrescaleService");
183  const string preT("PrescaleTable");
184  if (processPSet_->existsAs<ParameterSet>(preS,true)) {
185  prescaleName=preS;
186  } else if ( processPSet_->existsAs<ParameterSet>(preT,true)) {
187  prescaleName=preT;
188  }
189  if (prescaleName=="") {
191  } else {
192  const ParameterSet& iPS(processPSet_->getParameterSet(prescaleName));
193  string defaultLabel("default");
194  if (iPS.existsAs<string>("lvl1DefaultLabel",true)) {
195  defaultLabel = iPS.getParameter<string>("lvl1DefaultLabel");
196  }
197  vector<string> labels;
198  if (iPS.existsAs<vector<string> >("lvl1Labels",true)) {
199  labels = iPS.getParameter<vector<string> >("lvl1Labels");
200  }
201  unsigned int set(0);
202  const unsigned int n(labels.size());
203  for (unsigned int i=0; i!=n; ++i) {
204  if (labels[i]==defaultLabel) set=i;
205  }
206  map<string,vector<unsigned int> > table;
207  if (iPS.existsAs< vector<ParameterSet> >("prescaleTable",true)) {
208  const vector<ParameterSet>& vpTable(iPS.getParameterSetVector("prescaleTable"));
209  const unsigned int m (vpTable.size());
210  for (unsigned int i=0; i!=m; ++i) {
211  table[vpTable[i].getParameter<std::string>("pathName")] =
212  vpTable[i].getParameter<std::vector<unsigned int> >("prescales");
213  }
214  }
215  if (n>0) {
216  hltPrescaleTable_=HLTPrescaleTable(set,labels,table);
217  } else {
219  }
220 
221  }
222 
223  return;
224 }
list table
Definition: asciidump.py:386
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:187
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
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:38
const edm::ParameterSet * processPSet_
ParameterSet const & getParameterSet(std::string const &) const
#define begin
Definition: vmac.h:31
std::vector< std::string > streamNames_
std::map< std::string, unsigned int > streamIndex_
std::string processName_
void set(const std::string &name, int value)
set the flag, with a run-time name
const std::string& HLTConfigData::globalTag ( ) const

GlobalTag.globaltag.

Referenced by HLTConfigProvider::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 438 of file HLTConfigData.cc.

References hltL1GTSeeds_.

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

438  {
439  return hltL1GTSeeds_;
440 }
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 442 of file HLTConfigData.cc.

References hltL1GTSeeds(), and triggerIndex().

442  {
443  return hltL1GTSeeds(triggerIndex(trigger));
444 }
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 446 of file HLTConfigData.cc.

References hltL1GTSeeds_.

446  {
447  return hltL1GTSeeds_.at(trigger);
448 }
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
edm::ParameterSetID HLTConfigData::id ( void  ) const

technical: id() function needed for use with ThreadSafeRegistry

Definition at line 525 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::init().

525  {
526  return processPSet_->id();
527 }
ParameterSetID id() const
const edm::ParameterSet * processPSet_
const std::string HLTConfigData::moduleEDMType ( const std::string &  module) const

C++ base class name of module.

Definition at line 408 of file HLTConfigData.cc.

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

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

408  {
409  const edm::ParameterSet& pset(modulePSet(module));
410  if (pset.existsAs<std::string>("@module_edm_type",true)) {
411  return pset.getParameter<std::string>("@module_edm_type");
412  } else {
413  return "";
414  }
415 }
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
Definition: vlib.h:209
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 387 of file HLTConfigData.cc.

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

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

387  {
388  const std::map<std::string,unsigned int>::const_iterator index(moduleIndex_.at(trigger).find(module));
389  if (index==moduleIndex_.at(trigger).end()) {
390  return size(trigger);
391  } else {
392  return index->second;
393  }
394 }
std::vector< std::map< std::string, unsigned int > > moduleIndex_
unsigned int size() const
number of trigger paths in trigger table
Definition: vlib.h:209
unsigned int HLTConfigData::moduleIndex ( const std::string &  trigger,
const std::string &  module 
) const

Definition at line 395 of file HLTConfigData.cc.

References moduleIndex(), and triggerIndex().

395  {
396  return moduleIndex(triggerIndex(trigger),module);
397 }
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:209
const std::string & HLTConfigData::moduleLabel ( unsigned int  trigger,
unsigned int  module 
) const

Definition at line 380 of file HLTConfigData.cc.

References moduleLabels_.

Referenced by HLTConfigProvider::moduleLabel().

380  {
381  return moduleLabels_.at(trigger).at(module);
382 }
std::vector< std::vector< std::string > > moduleLabels_
Definition: vlib.h:209
const std::string & HLTConfigData::moduleLabel ( const std::string &  trigger,
unsigned int  module 
) const

Definition at line 383 of file HLTConfigData.cc.

References moduleLabels_, and triggerIndex().

383  {
384  return moduleLabels_.at(triggerIndex(trigger)).at(module);
385 }
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:209
const std::vector< std::string > & HLTConfigData::moduleLabels ( unsigned int  trigger) const

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

Definition at line 366 of file HLTConfigData.cc.

References moduleLabels_.

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

366  {
367  return moduleLabels_.at(trigger);
368 }
std::vector< std::vector< std::string > > moduleLabels_
const std::vector< std::string > & HLTConfigData::moduleLabels ( const std::string &  trigger) const

Definition at line 369 of file HLTConfigData.cc.

References moduleLabels_, and triggerIndex().

369  {
370  return moduleLabels_.at(triggerIndex(trigger));
371 }
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 421 of file HLTConfigData.cc.

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

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

421  {
422  if (processPSet_->exists(module)) {
424  } else {
425  return *s_dummyPSet();
426  }
427 }
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:209
static const edm::ParameterSet * s_dummyPSet()
const std::string HLTConfigData::moduleType ( const std::string &  module) const

C++ class name of module.

Definition at line 399 of file HLTConfigData.cc.

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

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

399  {
400  const edm::ParameterSet& pset(modulePSet(module));
401  if (pset.existsAs<std::string>("@module_type",true)) {
402  return pset.getParameter<std::string>("@module_type");
403  } else {
404  return "";
405  }
406 }
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
Definition: vlib.h:209
const std::vector< std::string > & HLTConfigData::prescaleLabels ( ) const

low-level data member access

Definition at line 518 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::prescaleLabels().

518  {
519  return hltPrescaleTable_.labels();
520 }
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 511 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::prescaleSize().

511  {
512  return hltPrescaleTable_.size();
513 }
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 521 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::prescaleTable().

521  {
522  return hltPrescaleTable_.table();
523 }
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 514 of file HLTConfigData.cc.

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

Referenced by HLTConfigProvider::prescaleValue().

514  {
515  return hltPrescaleTable_.prescale(set,trigger);
516 }
trigger::HLTPrescaleTable hltPrescaleTable_
unsigned int prescale(const std::string &trigger) const
high-level user access method: prescale for given trigger path
void set(const std::string &name, int value)
set the flag, with a run-time name
const std::string & HLTConfigData::processName ( ) const

Accessors (const methods)

process name

Definition at line 334 of file HLTConfigData.cc.

References processName_.

Referenced by HLTConfigProvider::processName().

334  {
335  return processName_;
336 }
std::string processName_
const edm::ParameterSet & HLTConfigData::processPSet ( ) const

ParameterSet of process.

Definition at line 417 of file HLTConfigData.cc.

References processPSet_.

Referenced by HLTConfigProvider::processPSet().

417  {
418  return *processPSet_;
419 }
const edm::ParameterSet * processPSet_
bool HLTConfigData::saveTags ( const std::string &  module) const

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

Definition at line 429 of file HLTConfigData.cc.

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

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

429  {
430  const edm::ParameterSet& pset(modulePSet(module));
431  if (pset.existsAs<bool>("saveTags",true)) {
432  return pset.getParameter<bool>("saveTags");
433  } else {
434  return false;
435  }
436 }
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
Definition: vlib.h:209
const std::vector< std::string > & HLTConfigData::saveTagsModules ( unsigned int  trigger) const

Definition at line 373 of file HLTConfigData.cc.

References saveTagsModules_.

Referenced by HLTConfigProvider::saveTagsModules().

373  {
374  return saveTagsModules_.at(trigger);
375 }
std::vector< std::vector< std::string > > saveTagsModules_
const std::vector< std::string > & HLTConfigData::saveTagsModules ( const std::string &  trigger) const

Definition at line 376 of file HLTConfigData.cc.

References saveTagsModules_, and triggerIndex().

376  {
377  return saveTagsModules_.at(triggerIndex(trigger));
378 }
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 338 of file HLTConfigData.cc.

References triggerNames_.

Referenced by dump(), extract(), moduleIndex(), size(), HLTConfigProvider::size(), and triggerIndex().

338  {
339  return triggerNames_.size();
340 }
std::vector< std::string > triggerNames_
unsigned int HLTConfigData::size ( unsigned int  trigger) const

number of modules on a specific trigger path

Definition at line 341 of file HLTConfigData.cc.

References moduleLabels_.

341  {
342  return moduleLabels_.at(trigger).size();
343 }
std::vector< std::vector< std::string > > moduleLabels_
unsigned int HLTConfigData::size ( const std::string &  trigger) const

Definition at line 344 of file HLTConfigData.cc.

References size(), and triggerIndex().

344  {
345  return size(triggerIndex(trigger));
346 }
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 472 of file HLTConfigData.cc.

References streamContents_.

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

472  {
473  return streamContents_.at(stream);
474 }
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 476 of file HLTConfigData.cc.

References streamContent(), and streamIndex().

476  {
477  return streamContent(streamIndex(stream));
478 }
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 468 of file HLTConfigData.cc.

References streamContents_.

Referenced by HLTConfigProvider::streamContents().

468  {
469  return streamContents_;
470 }
std::vector< std::vector< std::string > > streamContents_
unsigned int HLTConfigData::streamIndex ( const std::string &  stream) const

index of stream with name

Definition at line 459 of file HLTConfigData.cc.

References getHLTprescales::index, streamIndex_, and streamNames_.

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

459  {
460  const std::map<std::string,unsigned int>::const_iterator index(streamIndex_.find(stream));
461  if (index==streamIndex_.end()) {
462  return streamNames_.size();
463  } else {
464  return index->second;
465  }
466 }
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 455 of file HLTConfigData.cc.

References streamNames_.

Referenced by HLTConfigProvider::streamName().

455  {
456  return streamNames_.at(stream);
457 }
std::vector< std::string > streamNames_
const std::vector< std::string > & HLTConfigData::streamNames ( ) const

Streams.

Streams list of names of all streams

Definition at line 451 of file HLTConfigData.cc.

References streamNames_.

Referenced by HLTConfigProvider::streamNames().

451  {
452  return streamNames_;
453 }
std::vector< std::string > streamNames_
const std::string & HLTConfigData::tableName ( ) const

HLT ConfDB table name.

Definition at line 348 of file HLTConfigData.cc.

References tableName_.

Referenced by HLTConfigProvider::tableName().

348  {
349  return tableName_;
350 }
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 357 of file HLTConfigData.cc.

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

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

357  {
358  const std::map<std::string,unsigned int>::const_iterator index(triggerIndex_.find(trigger));
359  if (index==triggerIndex_.end()) {
360  return size();
361  } else {
362  return index->second;
363  }
364 }
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 354 of file HLTConfigData.cc.

References triggerNames_.

Referenced by HLTConfigProvider::triggerName().

354  {
355  return triggerNames_.at(trigger);
356 }
std::vector< std::string > triggerNames_
const std::vector< std::string > & HLTConfigData::triggerNames ( ) const

names of trigger paths

Definition at line 351 of file HLTConfigData.cc.

References triggerNames_.

Referenced by HLTConfigProvider::triggerNames().

351  {
352  return triggerNames_;
353 }
std::vector< std::string > triggerNames_

Member Data Documentation

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

Definition at line 166 of file HLTConfigData.h.

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

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

Definition at line 165 of file HLTConfigData.h.

Referenced by datasetIndex(), and extract().

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

Definition at line 164 of file HLTConfigData.h.

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

std::string HLTConfigData::globalTag_
private

Definition at line 149 of file HLTConfigData.h.

Referenced by dump(), and extract().

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

Definition at line 158 of file HLTConfigData.h.

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

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

Definition at line 156 of file HLTConfigData.h.

Referenced by extract(), and moduleIndex().

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

Definition at line 152 of file HLTConfigData.h.

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

std::string HLTConfigData::processName_
private

Definition at line 148 of file HLTConfigData.h.

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

const edm::ParameterSet* HLTConfigData::processPSet_
private

Definition at line 146 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 153 of file HLTConfigData.h.

Referenced by extract(), and saveTagsModules().

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

Definition at line 162 of file HLTConfigData.h.

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

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

Definition at line 161 of file HLTConfigData.h.

Referenced by extract(), and streamIndex().

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

Definition at line 160 of file HLTConfigData.h.

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

std::string HLTConfigData::tableName_
private

Definition at line 150 of file HLTConfigData.h.

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

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

Definition at line 155 of file HLTConfigData.h.

Referenced by extract(), and triggerIndex().

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

Definition at line 151 of file HLTConfigData.h.

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