32 processName_(
""), globalTag_(
""),
33 tableName_(), triggerNames_(), moduleLabels_(), saveTagsModules_(),
34 triggerIndex_(), moduleIndex_(),
35 l1tType_(0), hltL1GTSeeds_(), hltL1TSeeds_(),
36 streamNames_(), streamIndex_(), streamContents_(),
37 datasetNames_(), datasetIndex_(), datasetContents_(),
47 processName_(
""), globalTag_(
""),
48 tableName_(), triggerNames_(), moduleLabels_(), saveTagsModules_(),
49 triggerIndex_(), moduleIndex_(),
50 l1tType_(0), hltL1GTSeeds_(), hltL1TSeeds_(),
51 streamNames_(), streamIndex_(), streamContents_(),
52 datasetNames_(), datasetIndex_(), datasetContents_(),
64 using namespace trigger;
86 if (HLTPSet.existsAs<
string>(
"tableName",
true)) {
87 tableName_=HLTPSet.getParameter<
string>(
"tableName");
94 if (HLTPSet.existsAs<vector<string> >(
"@trigger_paths",
true)) {
95 triggerNames_= HLTPSet.getParameter<vector<string> >(
"@trigger_paths");
100 const unsigned int n(
size());
102 for (
unsigned int i=0;
i!=
n; ++
i) {
109 for (
unsigned int i=0;
i!=
n; ++
i) {
112 const unsigned int m(modules.size());
114 for (
unsigned int j=0;
j!=
m; ++
j) {
115 const string&
label(modules[
j]);
123 for (
unsigned int i=0;
i!=
n; ++
i) {
126 const unsigned int m(
size(
i));
127 for (
unsigned int j=0;
j!=
m; ++
j) {
134 for (
unsigned int i=0;
i!=
n; ++
i) {
136 const unsigned int m(
size(
i));
137 for (
unsigned int j=0;
j!=
m; ++
j) {
143 if (label.front()!=
'-' &&
moduleType(label) ==
"HLTLevel1GTSeed") {
146 const bool l1Tech(pset.
getParameter<
bool>(
"L1TechTriggerSeeding"));
147 const string l1Seed(pset.
getParameter<
string>(
"L1SeedsLogicalExpression"));
156 for (
unsigned int i=0;
i!=
n; ++
i) {
158 const unsigned int m(
size(
i));
159 for (
unsigned int j=0;
j!=
m; ++
j) {
165 if (label.front()!=
'-' &&
moduleType(label) ==
"HLTL1TSeed") {
168 const string l1Seed(pset.
getParameter<
string>(
"L1SeedsLogicalExpression"));
179 sort(streamNames_.begin(),streamNames_.end());
180 const unsigned int n(streamNames_.size());
182 for (
unsigned int i=0;
i!=
n; ++
i) {
194 sort(datasetNames_.begin(),datasetNames_.end());
195 const unsigned int n(datasetNames_.size());
197 for (
unsigned int i=0;
i!=
n; ++
i) {
207 string prescaleName(
"");
208 const string preS(
"PrescaleService");
209 const string preT(
"PrescaleTable");
215 if (prescaleName==
"") {
219 string defaultLabel(
"default");
220 if (iPS.existsAs<
string>(
"lvl1DefaultLabel",
true)) {
221 defaultLabel = iPS.getParameter<
string>(
"lvl1DefaultLabel");
224 if (iPS.existsAs<vector<string> >(
"lvl1Labels",
true)) {
225 labels = iPS.getParameter<vector<string> >(
"lvl1Labels");
228 const unsigned int n(labels.size());
229 for (
unsigned int i=0;
i!=
n; ++
i) {
230 if (labels[
i]==defaultLabel) set=
i;
232 map<string,vector<unsigned int> >
table;
233 if (iPS.existsAs< vector<ParameterSet> >(
"prescaleTable",
true)) {
234 const vector<ParameterSet>& vpTable(iPS.getParameterSetVector(
"prescaleTable"));
235 const unsigned int m (vpTable.size());
236 for (
unsigned int i=0;
i!=
m; ++
i) {
237 table[vpTable[
i].getParameter<
std::string>(
"pathName")] =
238 vpTable[
i].getParameter<std::vector<unsigned int> >(
"prescales");
251 unsigned int stage1(0),stage2(0);
254 for (
unsigned int i=0;
i<allModules.size();
i++) {
257 }
else if ((
moduleType(allModules[i]) ==
"HLTL1TSeed")
or (
moduleType(allModules[i]) ==
"L1TGlobalProducer")){
262 if ( (stage1+stage2)==0 ) {
265 }
else if ( (stage1*stage2)!=0 ) {
268 }
else if (stage1>0) {
276 LogVerbatim(
"HLTConfigData") <<
"HLTConfigData: ProcessPSet with name/GT/table/l1tType: '"
289 if (what==
"ProcessPSet") {
290 cout <<
"HLTConfigData::dump: ProcessPSet = " << endl << *
processPSet_ << endl;
291 }
else if (what==
"ProcessName") {
293 }
else if (what==
"GlobalTag") {
294 cout <<
"HLTConfigData::dump: GlobalTag = " <<
globalTag_ << endl;
295 }
else if (what==
"TableName") {
296 cout <<
"HLTConfigData::dump: TableName = " <<
tableName_ << endl;
297 }
else if (what==
"Triggers") {
298 const unsigned int n(
size());
299 cout <<
"HLTConfigData::dump: Triggers: " << n << endl;
300 for (
unsigned int i=0;
i!=
n; ++
i) {
303 }
else if (what==
"TriggerSeeds") {
304 const unsigned int n(
size());
305 cout <<
"HLTConfigData::dump: TriggerSeeds: " << n << endl;
306 for (
unsigned int i=0;
i!=
n; ++
i) {
311 for (
unsigned int j1=0; j1!=m1; ++j1) {
312 cout <<
" HLTLevel1GTSeed: " << j1
319 for (
unsigned int j2=0; j2!=m2; ++j2) {
320 cout <<
" HLTL1TSeed: " << j2
326 }
else if (what==
"Modules") {
327 const unsigned int n(
size());
328 cout <<
"HLTConfigData::dump Triggers and Modules: " << n << endl;
329 for (
unsigned int i=0;
i!=
n; ++
i) {
330 const unsigned int m(
size(
i));
332 cout <<
" - Modules: ";
333 unsigned int nHLTPrescalers(0);
334 unsigned int nHLTLevel1GTSeed(0);
335 unsigned int nHLTL1TSeed(0);
336 for (
unsigned int j=0;
j!=
m; ++
j) {
341 cout <<
" " << j <<
":" << label <<
"/" << type <<
"/" << edmtype <<
"/" <<
tags;
342 if (type==
"HLTPrescaler") nHLTPrescalers++;
343 if (type==
"HLTLevel1GTSeed") nHLTLevel1GTSeed++;
344 if (type==
"HLTL1TSeed") nHLTL1TSeed++;
347 cout <<
" - Number of HLTPrescaler/HLTLevel1GTSeed/HLTL1TSeed modules: "
348 << nHLTPrescalers <<
"/" << nHLTLevel1GTSeed <<
"/" << nHLTL1TSeed << endl;
350 }
else if (what==
"StreamNames") {
352 cout <<
"HLTConfigData::dump: StreamNames: " <<
n << endl;
353 for (
unsigned int i=0;
i!=
n; ++
i) {
356 }
else if (what==
"Streams") {
358 cout <<
"HLTConfigData::dump: Streams: " <<
n << endl;
359 for (
unsigned int i=0;
i!=
n; ++
i) {
362 for (
unsigned int j=0;
j!=
m; ++
j) {
366 }
else if (what==
"DatasetNames") {
368 cout <<
"HLTConfigData::dump: DatasetNames: " <<
n << endl;
369 for (
unsigned int i=0;
i!=
n; ++
i) {
372 }
else if (what==
"Datasets") {
374 cout <<
"HLTConfigData::dump: Datasets: " <<
n << endl;
375 for (
unsigned int i=0;
i!=
n; ++
i) {
378 for (
unsigned int j=0;
j!=
m; ++
j) {
382 }
else if (what==
"PrescaleTable") {
384 cout <<
"HLTConfigData::dump: PrescaleTable: # of sets : " <<
n << endl;
386 for (
unsigned int i=0;
i!=
n; ++
i) {
389 if (
n>0)
cout << endl;
391 cout <<
"HLTConfigData::dump: PrescaleTable: # of paths: " <<
table.size() << endl;
392 const map<string,vector<unsigned int> >::const_iterator tb(
table.begin());
393 const map<string,vector<unsigned int> >::const_iterator te(
table.end());
394 for (map<
string,vector<unsigned int> >::const_iterator ti=tb; ti!=te; ++ti) {
395 for (
unsigned int i=0;
i!=
n; ++
i) {
396 cout <<
" " << ti->second.at(
i);
398 cout <<
" " << ti->first << endl;
401 cout <<
"HLTConfigData::dump: Unkown dump request: " << what << endl;
434 const std::map<std::string,unsigned int>::const_iterator
index(
triggerIndex_.find(trigger));
438 return index->second;
464 const std::map<std::string,unsigned int>::const_iterator
index(
moduleIndex_.at(trigger).find(module));
466 return size(trigger);
468 return index->second;
511 if (pset.
existsAs<
bool>(
"saveTags",
true)) {
556 const std::map<std::string,unsigned int>::const_iterator
index(
streamIndex_.find(stream));
560 return index->second;
586 const std::map<std::string,unsigned int>::const_iterator
index(
datasetIndex_.find(dataset));
590 return index->second;
T getParameter(std::string const &) const
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
const std::string & datasetName(unsigned int dataset) const
name of dataset with index i
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
std::vector< std::map< std::string, unsigned int > > moduleIndex_
const std::string & streamName(unsigned int stream) const
name of stream with index i
ParameterSetID id() const
std::map< std::string, unsigned int > datasetIndex_
The single EDProduct containing the HLT Prescale Table.
const std::vector< std::string > & triggerNames() const
names of trigger paths
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
bool exists(std::string const ¶meterName) 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
unsigned int prescaleValue(unsigned int set, const std::string &trigger) const
HLT prescale value in specific prescale set for a specific trigger path.
const std::vector< std::string > & datasetNames() const
Datasets.
const std::map< std::string, std::vector< unsigned int > > & table() const
std::vector< std::vector< std::string > > saveTagsModules_
const std::vector< std::string > & streamNames() const
Streams.
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
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_
const std::vector< std::string > & saveTagsModules(unsigned int trigger) const
const std::vector< std::vector< std::string > > & datasetContents() const
names of trigger paths for all datasets
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
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
static const edm::ParameterSet initializeDummyPSet()
const std::string moduleType(const std::string &module) const
C++ class name of module.
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)
void extract()
extract information into data members - called by init() methods
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 - size-1)
std::vector< std::vector< std::string > > hltL1TSeeds_
const std::string & processName() const
Accessors (const methods)
unsigned int prescale(const std::string &trigger) const
high-level user access method: prescale for given trigger path
unsigned int streamIndex(const std::string &stream) const
index of stream with name
const std::string & tableName() const
HLT ConfDB table name.
const std::map< std::string, std::vector< unsigned int > > & prescaleTable() const
const edm::ParameterSet * processPSet_
const edm::ParameterSet & processPSet() const
ParameterSet of process.
ParameterSet const & getParameterSet(std::string const &) const
unsigned int prescaleSize() const
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
const std::vector< std::vector< std::string > > & hltL1TSeeds() const
unsigned int datasetIndex(const std::string &dataset) const
index of dataset with name
const std::vector< std::string > & prescaleLabels() const
low-level data member access
std::vector< std::string > streamNames_
const std::vector< std::vector< std::string > > & streamContents() const
names of datasets for all streams
const std::string & moduleLabel(unsigned int trigger, unsigned int module) const
std::map< std::string, unsigned int > streamIndex_
unsigned int size() const
consistency condition: all vectors must have the same length
const std::string & triggerName(unsigned int triggerIndex) const
const std::vector< std::string > & streamContent(unsigned int stream) const
names of datasets in stream with index i
edm::ParameterSetID id() const
technical: id() function needed for use with ThreadSafeRegistry
unsigned int l1tType() const
L1T type (0=unknown, 1=legacy/stage-1 or 2=stage-2)
ParameterSet const & registerIt()
static const edm::ParameterSet * s_dummyPSet()
void dump(const std::string &what) const
Dumping config info to cout.
const std::string & globalTag() const
GlobalTag.globaltag.