51 hltPrescaleTableValuesDouble_{},
52 hltPrescaleTableValuesFractional_{} {
53 if (processPSet_->id().isValid()) {
59 : processPSet_(iPSet),
78 hltPrescaleTableValuesDouble_{},
79 hltPrescaleTableValuesFractional_{} {
80 if (processPSet_->id().isValid()) {
110 if (HLTPSet.existsAs<
string>(
"tableName",
true)) {
111 tableName_ = HLTPSet.getParameter<
string>(
"tableName");
118 if (HLTPSet.existsAs<vector<string>>(
"@trigger_paths",
true)) {
119 triggerNames_ = HLTPSet.getParameter<vector<string>>(
"@trigger_paths");
124 const unsigned int n(
size());
126 for (
unsigned int i = 0;
i !=
n; ++
i) {
134 for (
unsigned int i = 0;
i !=
n; ++
i) {
137 const unsigned int m(
modules.size());
139 for (
unsigned int j = 0;
j !=
m; ++
j) {
149 for (
unsigned int i = 0;
i !=
n; ++
i) {
152 const unsigned int m(
size(
i));
153 for (
unsigned int j = 0;
j !=
m; ++
j) {
160 for (
unsigned int i = 0;
i !=
n; ++
i) {
162 const unsigned int m(
size(
i));
163 for (
unsigned int j = 0;
j !=
m; ++
j) {
172 const bool l1Tech(
pset.getParameter<
bool>(
"L1TechTriggerSeeding"));
173 const string l1Seed(
pset.getParameter<
string>(
"L1SeedsLogicalExpression"));
182 for (
unsigned int i = 0;
i !=
n; ++
i) {
184 const unsigned int m(
size(
i));
185 for (
unsigned int j = 0;
j !=
m; ++
j) {
196 if (l1Gtag !=
"hltGtStage2ObjectMap") {
197 const string l1Seed(
pset.getParameter<
string>(
"L1SeedsLogicalExpression"));
212 for (
unsigned int i = 0;
i !=
n; ++
i) {
226 for (
unsigned int i = 0;
i !=
n; ++
i) {
236 string prescaleName(
"");
237 const string preS(
"PrescaleService");
238 const string preT(
"PrescaleTable");
244 if (prescaleName.empty()) {
248 string defaultLabel(
"default");
249 if (iPS.existsAs<
string>(
"lvl1DefaultLabel",
true)) {
250 defaultLabel = iPS.getParameter<
string>(
"lvl1DefaultLabel");
253 if (iPS.existsAs<vector<string>>(
"lvl1Labels",
true)) {
254 labels = iPS.getParameter<vector<string>>(
"lvl1Labels");
257 const unsigned int n(
labels.size());
258 for (
unsigned int i = 0;
i !=
n; ++
i) {
262 map<string, vector<unsigned int>>
table;
263 if (iPS.existsAs<vector<ParameterSet>>(
"prescaleTable",
true)) {
264 const vector<ParameterSet>& vpTable(iPS.getParameterSetVector(
"prescaleTable"));
265 const unsigned int m(vpTable.size());
266 for (
unsigned int i = 0;
i !=
m; ++
i) {
268 vpTable[
i].getParameter<std::vector<unsigned int>>(
"prescales");
288 unsigned int stage1(0),
stage2(0);
299 if ((stage1 +
stage2) == 0) {
302 }
else if ((stage1 *
stage2) != 0) {
305 }
else if (stage1 > 0) {
313 LogVerbatim(
"HLTConfigData") <<
"HLTConfigData: ProcessPSet with name/GT/table/l1tType: '" <<
processName_ <<
"' '" 323 if (what ==
"ProcessPSet") {
324 cout <<
"HLTConfigData::dump: ProcessPSet = " << endl << *
processPSet_ << endl;
325 }
else if (what ==
"ProcessName") {
327 }
else if (what ==
"GlobalTag") {
328 cout <<
"HLTConfigData::dump: GlobalTag = " <<
globalTag_ << endl;
329 }
else if (what ==
"TableName") {
330 cout <<
"HLTConfigData::dump: TableName = " <<
tableName_ << endl;
331 }
else if (what ==
"Triggers") {
332 const unsigned int n(
size());
333 cout <<
"HLTConfigData::dump: Triggers: " <<
n << endl;
334 for (
unsigned int i = 0;
i !=
n; ++
i) {
337 }
else if (what ==
"TriggerSeeds") {
338 const unsigned int n(
size());
339 cout <<
"HLTConfigData::dump: TriggerSeeds: " <<
n << endl;
340 for (
unsigned int i = 0;
i !=
n; ++
i) {
345 for (
unsigned int j1 = 0; j1 != m1; ++j1) {
352 for (
unsigned int j2 = 0; j2 !=
m2; ++j2) {
358 }
else if (what ==
"Modules") {
359 const unsigned int n(
size());
360 cout <<
"HLTConfigData::dump Triggers and Modules: " <<
n << endl;
361 for (
unsigned int i = 0;
i !=
n; ++
i) {
362 const unsigned int m(
size(
i));
364 cout <<
" - Modules: ";
365 unsigned int nHLTPrescalers(0);
366 unsigned int nHLTLevel1GTSeed(0);
367 unsigned int nHLTL1TSeed(0);
368 for (
unsigned int j = 0;
j !=
m; ++
j) {
374 if (
type ==
"HLTPrescaler")
376 if (
type ==
"HLTLevel1GTSeed")
378 if (
type ==
"HLTL1TSeed")
382 cout <<
" - Number of HLTPrescaler/HLTLevel1GTSeed/HLTL1TSeed modules: " << nHLTPrescalers <<
"/" 383 << nHLTLevel1GTSeed <<
"/" << nHLTL1TSeed << endl;
385 }
else if (what ==
"StreamNames") {
387 cout <<
"HLTConfigData::dump: StreamNames: " <<
n << endl;
388 for (
unsigned int i = 0;
i !=
n; ++
i) {
391 }
else if (what ==
"Streams") {
393 cout <<
"HLTConfigData::dump: Streams: " <<
n << endl;
394 for (
unsigned int i = 0;
i !=
n; ++
i) {
397 for (
unsigned int j = 0;
j !=
m; ++
j) {
401 }
else if (what ==
"DatasetNames") {
403 cout <<
"HLTConfigData::dump: DatasetNames: " <<
n << endl;
404 for (
unsigned int i = 0;
i !=
n; ++
i) {
407 }
else if (what ==
"Datasets") {
409 cout <<
"HLTConfigData::dump: Datasets: " <<
n << endl;
410 for (
unsigned int i = 0;
i !=
n; ++
i) {
413 for (
unsigned int j = 0;
j !=
m; ++
j) {
417 }
else if (what ==
"PrescaleTable") {
419 cout <<
"HLTConfigData::dump: PrescaleTable: # of sets : " <<
n << endl;
421 for (
unsigned int i = 0;
i !=
n; ++
i) {
427 cout <<
"HLTConfigData::dump: PrescaleTable: # of paths: " <<
table.size() << endl;
429 for (
unsigned int i = 0;
i !=
n; ++
i) {
435 cout <<
"HLTConfigData::dump: Unkown dump request: " << what << endl;
456 return index->second;
486 return index->second;
527 if (
pset.existsAs<
bool>(
"saveTags",
true)) {
528 return pset.getParameter<
bool>(
"saveTags");
568 return index->second;
592 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
std::map< std::string, std::vector< T > > const & prescaleTable() const
map of HLT prescales by trigger-path name (key=path, value=prescales)
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
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::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)
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_
boost::rational< int > FractionalPrescale
ParameterSetID id() const
std::vector< std::string > configurationToModuleBitPosition(std::vector< std::string >)
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
labels of HLT prescale columns
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_
int extract(std::vector< int > *output, const std::string &dati)
std::map< std::string, std::vector< FractionalPrescale > > hltPrescaleTableValuesFractional_
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::map< std::string, std::vector< double > > hltPrescaleTableValuesDouble_
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