14 #include <unordered_set> 57 : processPSet_(iPSet),
106 if (HLTPSet.existsAs<
string>(
"tableName",
true)) {
107 tableName_ = HLTPSet.getParameter<
string>(
"tableName");
114 if (HLTPSet.existsAs<vector<string>>(
"@trigger_paths",
true)) {
115 triggerNames_ = HLTPSet.getParameter<vector<string>>(
"@trigger_paths");
120 const unsigned int n(
size());
122 for (
unsigned int i = 0;
i !=
n; ++
i) {
130 for (
unsigned int i = 0;
i !=
n; ++
i) {
133 const unsigned int m(
modules.size());
135 for (
unsigned int j = 0;
j !=
m; ++
j) {
145 for (
unsigned int i = 0;
i !=
n; ++
i) {
148 const unsigned int m(
size(
i));
149 for (
unsigned int j = 0;
j !=
m; ++
j) {
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) {
168 const bool l1Tech(
pset.getParameter<
bool>(
"L1TechTriggerSeeding"));
169 const string l1Seed(
pset.getParameter<
string>(
"L1SeedsLogicalExpression"));
178 for (
unsigned int i = 0;
i !=
n; ++
i) {
180 const unsigned int m(
size(
i));
181 for (
unsigned int j = 0;
j !=
m; ++
j) {
192 if (l1Gtag !=
"hltGtStage2ObjectMap") {
193 const string l1Seed(
pset.getParameter<
string>(
"L1SeedsLogicalExpression"));
208 for (
unsigned int i = 0;
i !=
n; ++
i) {
222 for (
unsigned int i = 0;
i !=
n; ++
i) {
232 string prescaleName(
"");
233 const string preS(
"PrescaleService");
234 const string preT(
"PrescaleTable");
240 if (prescaleName.empty()) {
244 string defaultLabel(
"default");
245 if (iPS.existsAs<
string>(
"lvl1DefaultLabel",
true)) {
246 defaultLabel = iPS.getParameter<
string>(
"lvl1DefaultLabel");
249 if (iPS.existsAs<vector<string>>(
"lvl1Labels",
true)) {
250 labels = iPS.getParameter<vector<string>>(
"lvl1Labels");
253 const unsigned int n(
labels.size());
254 for (
unsigned int i = 0;
i !=
n; ++
i) {
258 map<string, vector<unsigned int>>
table;
259 if (iPS.existsAs<vector<ParameterSet>>(
"prescaleTable",
true)) {
260 const vector<ParameterSet>& vpTable(iPS.getParameterSetVector(
"prescaleTable"));
261 const unsigned int m(vpTable.size());
262 for (
unsigned int i = 0;
i !=
m; ++
i) {
264 vpTable[
i].getParameter<std::vector<unsigned int>>(
"prescales");
276 unsigned int stage1(0),
stage2(0);
287 if ((stage1 +
stage2) == 0) {
290 }
else if ((stage1 *
stage2) != 0) {
293 }
else if (stage1 > 0) {
301 LogVerbatim(
"HLTConfigData") <<
"HLTConfigData: ProcessPSet with name/GT/table/l1tType: '" <<
processName_ <<
"' '" 311 if (what ==
"ProcessPSet") {
312 cout <<
"HLTConfigData::dump: ProcessPSet = " << endl << *
processPSet_ << endl;
313 }
else if (what ==
"ProcessName") {
315 }
else if (what ==
"GlobalTag") {
316 cout <<
"HLTConfigData::dump: GlobalTag = " <<
globalTag_ << endl;
317 }
else if (what ==
"TableName") {
318 cout <<
"HLTConfigData::dump: TableName = " <<
tableName_ << endl;
319 }
else if (what ==
"Triggers") {
320 const unsigned int n(
size());
321 cout <<
"HLTConfigData::dump: Triggers: " <<
n << endl;
322 for (
unsigned int i = 0;
i !=
n; ++
i) {
325 }
else if (what ==
"TriggerSeeds") {
326 const unsigned int n(
size());
327 cout <<
"HLTConfigData::dump: TriggerSeeds: " <<
n << endl;
328 for (
unsigned int i = 0;
i !=
n; ++
i) {
333 for (
unsigned int j1 = 0; j1 != m1; ++j1) {
340 for (
unsigned int j2 = 0; j2 !=
m2; ++j2) {
346 }
else if (what ==
"Modules") {
347 const unsigned int n(
size());
348 cout <<
"HLTConfigData::dump Triggers and Modules: " <<
n << endl;
349 for (
unsigned int i = 0;
i !=
n; ++
i) {
350 const unsigned int m(
size(
i));
352 cout <<
" - Modules: ";
353 unsigned int nHLTPrescalers(0);
354 unsigned int nHLTLevel1GTSeed(0);
355 unsigned int nHLTL1TSeed(0);
356 for (
unsigned int j = 0;
j !=
m; ++
j) {
362 if (
type ==
"HLTPrescaler")
364 if (
type ==
"HLTLevel1GTSeed")
366 if (
type ==
"HLTL1TSeed")
370 cout <<
" - Number of HLTPrescaler/HLTLevel1GTSeed/HLTL1TSeed modules: " << nHLTPrescalers <<
"/" 371 << nHLTLevel1GTSeed <<
"/" << nHLTL1TSeed << endl;
373 }
else if (what ==
"StreamNames") {
375 cout <<
"HLTConfigData::dump: StreamNames: " <<
n << endl;
376 for (
unsigned int i = 0;
i !=
n; ++
i) {
379 }
else if (what ==
"Streams") {
381 cout <<
"HLTConfigData::dump: Streams: " <<
n << endl;
382 for (
unsigned int i = 0;
i !=
n; ++
i) {
385 for (
unsigned int j = 0;
j !=
m; ++
j) {
389 }
else if (what ==
"DatasetNames") {
391 cout <<
"HLTConfigData::dump: DatasetNames: " <<
n << endl;
392 for (
unsigned int i = 0;
i !=
n; ++
i) {
395 }
else if (what ==
"Datasets") {
397 cout <<
"HLTConfigData::dump: Datasets: " <<
n << endl;
398 for (
unsigned int i = 0;
i !=
n; ++
i) {
401 for (
unsigned int j = 0;
j !=
m; ++
j) {
405 }
else if (what ==
"PrescaleTable") {
407 cout <<
"HLTConfigData::dump: PrescaleTable: # of sets : " <<
n << endl;
409 for (
unsigned int i = 0;
i !=
n; ++
i) {
415 cout <<
"HLTConfigData::dump: PrescaleTable: # of paths: " <<
table.size() << endl;
416 const map<string, vector<unsigned int>>::const_iterator tb(
table.begin());
417 const map<string, vector<unsigned int>>::const_iterator te(
table.end());
418 for (
map<
string, vector<unsigned int>>::const_iterator ti = tb; ti != te; ++ti) {
419 for (
unsigned int i = 0;
i !=
n; ++
i) {
420 cout <<
" " << ti->second.at(
i);
422 cout <<
" " << ti->first << endl;
425 cout <<
"HLTConfigData::dump: Unkown dump request: " << what << endl;
446 return index->second;
476 return index->second;
517 if (
pset.existsAs<
bool>(
"saveTags",
true)) {
518 return pset.getParameter<
bool>(
"saveTags");
558 return index->second;
582 return index->second;
Log< level::Info, true > LogVerbatim
const std::string & datasetName(unsigned int dataset) const
name of dataset with index i
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
const std::vector< std::string > & labels() const
T getParameter(std::string const &) const
const std::string & streamName(unsigned int stream) const
name of stream with index i
std::map< std::string, unsigned int > triggerIndex_
void dump(const std::string &what) const
Dumping config info to cout.
const std::string & processName() const
Accessors (const methods)
const std::vector< std::string > & streamNames() const
Streams.
edm::ParameterSetID id() const
technical: id() function needed for use with ThreadSafeRegistry
bool exists(std::string const ¶meterName) const
checks if a parameter exists
The single EDProduct containing the HLT Prescale Table.
ParameterSet const & getParameterSet(std::string const &) const
std::vector< std::string > datasetNames_
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 > > & streamContents() const
names of datasets for all streams
const std::map< std::string, std::vector< unsigned int > > & prescaleTable() const
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 - size-1)
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 > & saveTagsModules(unsigned int trigger) const
std::vector< std::vector< std::string > > saveTagsModules_
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
const std::string & tableName() const
HLT ConfDB table name.
std::vector< std::map< std::string, unsigned int > > moduleIndex_
ParameterSetID id() const
std::vector< std::string > configurationToModuleBitPosition(std::vector< std::string >)
unsigned int prescale(const std::string &trigger) const
high-level user access method: prescale for given trigger path
std::vector< std::vector< std::string > > streamContents_
std::vector< std::string > triggerNames_
const std::map< std::string, std::vector< unsigned int > > & table() const
std::vector< std::vector< std::string > > datasetContents_
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
const std::vector< std::vector< std::string > > & datasetContents() const
names of trigger paths for all datasets
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
static const edm::ParameterSet initializeDummyPSet()
std::map< std::string, unsigned int > streamIndex_
unsigned int streamIndex(const std::string &stream) const
index of stream with name
const std::vector< std::string > & prescaleLabels() const
low-level data member access
void extract()
extract information into data members - called by init() methods
const std::vector< std::string > & datasetNames() const
Datasets.
std::vector< std::vector< std::string > > hltL1TSeeds_
std::map< std::string, unsigned int > datasetIndex_
const std::vector< std::string > & triggerNames() const
names of trigger paths
unsigned int size() const
consistency condition: all vectors must have the same length
const edm::ParameterSet * processPSet_
std::vector< std::vector< std::pair< bool, std::string > > > hltL1GTSeeds_
unsigned int l1tType() const
L1T type (0=unknown, 1=legacy/stage-1 or 2=stage-2)
const std::string & globalTag() const
GlobalTag.globaltag.
const std::string moduleType(const std::string &module) const
C++ class name of module.
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
unsigned int size() const
number of trigger paths in trigger table
unsigned int prescaleSize() const
const std::vector< std::vector< std::string > > & hltL1TSeeds() const
std::vector< std::string > streamNames_
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::string moduleEDMType(const std::string &module) const
C++ base class name of module.
const edm::ParameterSet & processPSet() const
ParameterSet of process.
static const edm::ParameterSet * s_dummyPSet()
unsigned int datasetIndex(const std::string &dataset) const
index of dataset with name
const std::string & moduleLabel(unsigned int trigger, unsigned int module) const
const std::string & triggerName(unsigned int triggerIndex) const