55 : processPSet_(iPSet),
82 using namespace trigger;
104 if (HLTPSet.existsAs<
string>(
"tableName",
true)) {
105 tableName_ = HLTPSet.getParameter<
string>(
"tableName");
112 if (HLTPSet.existsAs<vector<string>>(
"@trigger_paths",
true)) {
113 triggerNames_ = HLTPSet.getParameter<vector<string>>(
"@trigger_paths");
118 const unsigned int n(
size());
120 for (
unsigned int i = 0;
i !=
n; ++
i) {
127 for (
unsigned int i = 0;
i !=
n; ++
i) {
130 const unsigned int m(modules.size());
132 for (
unsigned int j = 0;
j !=
m; ++
j) {
133 const string&
label(modules[
j]);
142 for (
unsigned int i = 0;
i !=
n; ++
i) {
145 const unsigned int m(
size(
i));
146 for (
unsigned int j = 0;
j !=
m; ++
j) {
153 for (
unsigned int i = 0;
i !=
n; ++
i) {
155 const unsigned int m(
size(
i));
156 for (
unsigned int j = 0;
j !=
m; ++
j) {
162 if (label.front() !=
'-' &&
moduleType(label) ==
"HLTLevel1GTSeed") {
165 const bool l1Tech(pset.
getParameter<
bool>(
"L1TechTriggerSeeding"));
166 const string l1Seed(pset.
getParameter<
string>(
"L1SeedsLogicalExpression"));
175 for (
unsigned int i = 0;
i !=
n; ++
i) {
177 const unsigned int m(
size(
i));
178 for (
unsigned int j = 0;
j !=
m; ++
j) {
184 if (label.front() !=
'-' &&
moduleType(label) ==
"HLTL1TSeed") {
189 if (l1Gtag !=
"hltGtStage2ObjectMap") {
190 const string l1Seed(pset.
getParameter<
string>(
"L1SeedsLogicalExpression"));
201 streamNames_ = streams.getParameterNamesForType<vector<string>>();
202 sort(streamNames_.begin(), streamNames_.end());
203 const unsigned int n(streamNames_.size());
205 for (
unsigned int i = 0;
i !=
n; ++
i) {
216 sort(datasetNames_.begin(), datasetNames_.end());
217 const unsigned int n(datasetNames_.size());
219 for (
unsigned int i = 0;
i !=
n; ++
i) {
229 string prescaleName(
"");
230 const string preS(
"PrescaleService");
231 const string preT(
"PrescaleTable");
237 if (prescaleName.empty()) {
241 string defaultLabel(
"default");
242 if (iPS.existsAs<
string>(
"lvl1DefaultLabel",
true)) {
243 defaultLabel = iPS.getParameter<
string>(
"lvl1DefaultLabel");
246 if (iPS.existsAs<vector<string>>(
"lvl1Labels",
true)) {
247 labels = iPS.getParameter<vector<string>>(
"lvl1Labels");
250 const unsigned int n(labels.size());
251 for (
unsigned int i = 0;
i !=
n; ++
i) {
252 if (labels[
i] == defaultLabel)
255 map<string, vector<unsigned int>>
table;
256 if (iPS.existsAs<vector<ParameterSet>>(
"prescaleTable",
true)) {
257 const vector<ParameterSet>& vpTable(iPS.getParameterSetVector(
"prescaleTable"));
258 const unsigned int m(vpTable.size());
259 for (
unsigned int i = 0;
i !=
m; ++
i) {
260 table[vpTable[
i].getParameter<
std::string>(
"pathName")] =
261 vpTable[
i].getParameter<std::vector<unsigned int>>(
"prescales");
273 unsigned int stage1(0), stage2(0);
276 for (
auto const& allModule : allModules) {
284 if ((stage1 + stage2) == 0) {
287 }
else if ((stage1 * stage2) != 0) {
290 }
else if (stage1 > 0) {
298 LogVerbatim(
"HLTConfigData") <<
"HLTConfigData: ProcessPSet with name/GT/table/l1tType: '" <<
processName_ <<
"' '"
308 if (what ==
"ProcessPSet") {
309 cout <<
"HLTConfigData::dump: ProcessPSet = " << endl << *
processPSet_ << endl;
310 }
else if (what ==
"ProcessName") {
312 }
else if (what ==
"GlobalTag") {
313 cout <<
"HLTConfigData::dump: GlobalTag = " <<
globalTag_ << endl;
314 }
else if (what ==
"TableName") {
315 cout <<
"HLTConfigData::dump: TableName = " <<
tableName_ << endl;
316 }
else if (what ==
"Triggers") {
317 const unsigned int n(
size());
318 cout <<
"HLTConfigData::dump: Triggers: " << n << endl;
319 for (
unsigned int i = 0;
i !=
n; ++
i) {
322 }
else if (what ==
"TriggerSeeds") {
323 const unsigned int n(
size());
324 cout <<
"HLTConfigData::dump: TriggerSeeds: " << n << endl;
325 for (
unsigned int i = 0;
i !=
n; ++
i) {
330 for (
unsigned int j1 = 0; j1 != m1; ++j1) {
337 for (
unsigned int j2 = 0; j2 !=
m2; ++j2) {
343 }
else if (what ==
"Modules") {
344 const unsigned int n(
size());
345 cout <<
"HLTConfigData::dump Triggers and Modules: " << n << endl;
346 for (
unsigned int i = 0;
i !=
n; ++
i) {
347 const unsigned int m(
size(
i));
349 cout <<
" - Modules: ";
350 unsigned int nHLTPrescalers(0);
351 unsigned int nHLTLevel1GTSeed(0);
352 unsigned int nHLTL1TSeed(0);
353 for (
unsigned int j = 0;
j !=
m; ++
j) {
358 cout <<
" " << j <<
":" << label <<
"/" << type <<
"/" << edmtype <<
"/" <<
tags;
359 if (type ==
"HLTPrescaler")
361 if (type ==
"HLTLevel1GTSeed")
363 if (type ==
"HLTL1TSeed")
367 cout <<
" - Number of HLTPrescaler/HLTLevel1GTSeed/HLTL1TSeed modules: " << nHLTPrescalers <<
"/"
368 << nHLTLevel1GTSeed <<
"/" << nHLTL1TSeed << endl;
370 }
else if (what ==
"StreamNames") {
372 cout <<
"HLTConfigData::dump: StreamNames: " <<
n << endl;
373 for (
unsigned int i = 0;
i !=
n; ++
i) {
376 }
else if (what ==
"Streams") {
378 cout <<
"HLTConfigData::dump: Streams: " <<
n << endl;
379 for (
unsigned int i = 0;
i !=
n; ++
i) {
382 for (
unsigned int j = 0;
j !=
m; ++
j) {
386 }
else if (what ==
"DatasetNames") {
388 cout <<
"HLTConfigData::dump: DatasetNames: " <<
n << endl;
389 for (
unsigned int i = 0;
i !=
n; ++
i) {
392 }
else if (what ==
"Datasets") {
394 cout <<
"HLTConfigData::dump: Datasets: " <<
n << endl;
395 for (
unsigned int i = 0;
i !=
n; ++
i) {
398 for (
unsigned int j = 0;
j !=
m; ++
j) {
402 }
else if (what ==
"PrescaleTable") {
404 cout <<
"HLTConfigData::dump: PrescaleTable: # of sets : " <<
n << endl;
406 for (
unsigned int i = 0;
i !=
n; ++
i) {
412 cout <<
"HLTConfigData::dump: PrescaleTable: # of paths: " <<
table.size() << endl;
413 const map<string, vector<unsigned int>>::const_iterator tb(
table.begin());
414 const map<string, vector<unsigned int>>::const_iterator te(
table.end());
415 for (map<
string, vector<unsigned int>>::const_iterator ti = tb; ti != te; ++ti) {
416 for (
unsigned int i = 0;
i !=
n; ++
i) {
417 cout <<
" " << ti->second.at(
i);
419 cout <<
" " << ti->first << endl;
422 cout <<
"HLTConfigData::dump: Unkown dump request: " << what << endl;
439 const std::map<std::string, unsigned int>::const_iterator
index(
triggerIndex_.find(trigger));
443 return index->second;
469 const std::map<std::string, unsigned int>::const_iterator
index(
moduleIndex_.at(trigger).find(module));
471 return size(trigger);
473 return index->second;
514 if (pset.
existsAs<
bool>(
"saveTags",
true)) {
551 const std::map<std::string, unsigned int>::const_iterator
index(
streamIndex_.find(stream));
555 return index->second;
575 const std::map<std::string, unsigned int>::const_iterator
index(
datasetIndex_.find(dataset));
579 return index->second;
Log< level::Info, true > LogVerbatim
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
std::map< std::string, unsigned int > triggerIndex_
const std::string & datasetName(unsigned int dataset) const
name of dataset with index i
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
const std::string & streamName(unsigned int stream) const
name of stream with index i
ParameterSetID id() const
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.
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
const std::vector< std::string > & datasetNames() const
Datasets.
std::vector< std::vector< std::string > > saveTagsModules_
const std::vector< std::string > & streamNames() const
Streams.
std::vector< std::map< std::string, unsigned int > > moduleIndex_
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
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()
std::map< std::string, unsigned int > streamIndex_
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)
std::map< std::string, unsigned int > datasetIndex_
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
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
T getParameter(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
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)
const std::map< std::string, std::vector< unsigned int > > & table() const
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.