24 processName_(
""), globalTag_(
""),
25 tableName_(), triggerNames_(), moduleLabels_(), saveTagsModules_(),
26 triggerIndex_(), moduleIndex_(),
28 streamNames_(), streamIndex_(), streamContents_(),
29 datasetNames_(), datasetIndex_(), datasetContents_(),
39 processName_(
""), globalTag_(
""),
40 tableName_(), triggerNames_(), moduleLabels_(), saveTagsModules_(),
41 triggerIndex_(), moduleIndex_(),
43 streamNames_(), streamIndex_(), streamContents_(),
44 datasetNames_(), datasetIndex_(), datasetContents_(),
56 using namespace trigger;
78 if (HLTPSet.existsAs<
string>(
"tableName",
true)) {
79 tableName_=HLTPSet.getParameter<
string>(
"tableName");
83 LogVerbatim(
"HLTConfigData") <<
"ProcessPSet with: "
91 if (HLTPSet.existsAs<vector<string> >(
"@trigger_paths",
true)) {
92 triggerNames_= HLTPSet.getParameter<vector<string> >(
"@trigger_paths");
97 const unsigned int n(
size());
99 for (
unsigned int i=0;
i!=
n; ++
i) {
106 for (
unsigned int i=0;
i!=
n; ++
i) {
109 const unsigned int m(modules.size());
111 for (
unsigned int j=0;
j!=
m; ++
j) {
112 const string&
label(modules[
j]);
120 for (
unsigned int i=0;
i!=
n; ++
i) {
123 const unsigned int m(
size(
i));
124 for (
unsigned int j=0;
j!=
m; ++
j) {
131 for (
unsigned int i=0;
i!=
n; ++
i) {
133 const unsigned int m(
size(
i));
134 for (
unsigned int j=0;
j!=
m; ++
j) {
139 const bool l1Tech(pset.
getParameter<
bool>(
"L1TechTriggerSeeding"));
140 const string l1Seed(pset.
getParameter<
string>(
"L1SeedsLogicalExpression"));
151 sort(streamNames_.begin(),streamNames_.end());
152 const unsigned int n(streamNames_.size());
154 for (
unsigned int i=0;
i!=
n; ++
i) {
166 sort(datasetNames_.begin(),datasetNames_.end());
167 const unsigned int n(datasetNames_.size());
169 for (
unsigned int i=0;
i!=
n; ++
i) {
179 string prescaleName(
"");
180 const string preS(
"PrescaleService");
181 const string preT(
"PrescaleTable");
187 if (prescaleName==
"") {
191 string defaultLabel(
"default");
192 if (iPS.existsAs<
string>(
"lvl1DefaultLabel",
true)) {
193 defaultLabel = iPS.getParameter<
string>(
"lvl1DefaultLabel");
196 if (iPS.existsAs<vector<string> >(
"lvl1Labels",
true)) {
197 labels = iPS.getParameter<vector<string> >(
"lvl1Labels");
200 const unsigned int n(labels.size());
201 for (
unsigned int i=0;
i!=
n; ++
i) {
202 if (labels[
i]==defaultLabel) set=
i;
204 map<string,vector<unsigned int> >
table;
205 if (iPS.existsAs< vector<ParameterSet> >(
"prescaleTable",
true)) {
206 const vector<ParameterSet>& vpTable(iPS.getParameterSetVector(
"prescaleTable"));
207 const unsigned int m (vpTable.size());
208 for (
unsigned int i=0;
i!=
m; ++
i) {
209 table[vpTable[
i].getParameter<
std::string>(
"pathName")] =
210 vpTable[
i].getParameter<std::vector<unsigned int> >(
"prescales");
228 if (what==
"ProcessPSet") {
229 cout <<
"HLTConfigData::dump: ProcessPSet = " << endl << *
processPSet_ << endl;
230 }
else if (what==
"ProcessName") {
232 }
else if (what==
"GlobalTag") {
233 cout <<
"HLTConfigData::dump: GlobalTag = " <<
globalTag_ << endl;
234 }
else if (what==
"TableName") {
235 cout <<
"HLTConfigData::dump: TableName = " <<
tableName_ << endl;
236 }
else if (what==
"Triggers") {
237 const unsigned int n(
size());
238 cout <<
"HLTConfigData::dump: Triggers: " << n << endl;
239 for (
unsigned int i=0;
i!=
n; ++
i) {
242 }
else if (what==
"TriggerSeeds") {
243 const unsigned int n(
size());
244 cout <<
"HLTConfigData::dump: TriggerSeeds: " << n << endl;
245 for (
unsigned int i=0;
i!=
n; ++
i) {
248 for (
unsigned int j=0;
j!=
m; ++
j) {
254 }
else if (what==
"Modules") {
255 const unsigned int n(
size());
256 cout <<
"HLTConfigData::dump Triggers and Modules: " << n << endl;
257 for (
unsigned int i=0;
i!=
n; ++
i) {
258 const unsigned int m(
size(
i));
260 cout <<
" - Modules: ";
261 unsigned int nHLTPrescalers(0);
262 unsigned int nHLTLevel1GTSeed(0);
263 for (
unsigned int j=0;
j!=
m; ++
j) {
268 cout <<
" " << j <<
":" << label <<
"/" << type <<
"/" << edmtype <<
"/" <<
tags;
269 if (type==
"HLTPrescaler") nHLTPrescalers++;
270 if (type==
"HLTLevel1GTSeed") nHLTLevel1GTSeed++;
273 cout <<
" - Number of HLTPrescaler/HLTLevel1GTSeed modules: "
274 << nHLTPrescalers <<
"/" << nHLTLevel1GTSeed << endl;
276 }
else if (what==
"StreamNames") {
278 cout <<
"HLTConfigData::dump: StreamNames: " <<
n << endl;
279 for (
unsigned int i=0;
i!=
n; ++
i) {
282 }
else if (what==
"Streams") {
284 cout <<
"HLTConfigData::dump: Streams: " <<
n << endl;
285 for (
unsigned int i=0;
i!=
n; ++
i) {
288 for (
unsigned int j=0;
j!=
m; ++
j) {
292 }
else if (what==
"DatasetNames") {
294 cout <<
"HLTConfigData::dump: DatasetNames: " <<
n << endl;
295 for (
unsigned int i=0;
i!=
n; ++
i) {
298 }
else if (what==
"Datasets") {
300 cout <<
"HLTConfigData::dump: Datasets: " <<
n << endl;
301 for (
unsigned int i=0;
i!=
n; ++
i) {
304 for (
unsigned int j=0;
j!=
m; ++
j) {
308 }
else if (what==
"PrescaleTable") {
310 cout <<
"HLTConfigData::dump: PrescaleTable: # of sets : " <<
n << endl;
312 for (
unsigned int i=0;
i!=
n; ++
i) {
315 if (
n>0)
cout << endl;
317 cout <<
"HLTConfigData::dump: PrescaleTable: # of paths: " <<
table.size() << endl;
318 const map<string,vector<unsigned int> >::const_iterator tb(
table.begin());
319 const map<string,vector<unsigned int> >::const_iterator te(
table.end());
320 for (
map<
string,vector<unsigned int> >::const_iterator ti=tb; ti!=te; ++ti) {
321 for (
unsigned int i=0;
i!=
n; ++
i) {
322 cout <<
" " << ti->second.at(
i);
324 cout <<
" " << ti->first << endl;
327 cout <<
"HLTConfigData::dump: Unkown dump request: " << what << endl;
356 const std::map<std::string,unsigned int>::const_iterator
index(
triggerIndex_.find(trigger));
360 return index->second;
386 const std::map<std::string,unsigned int>::const_iterator
index(
moduleIndex_.at(trigger).find(module));
388 return size(trigger);
390 return index->second;
429 if (pset.
existsAs<
bool>(
"saveTags",
true)) {
458 const std::map<std::string,unsigned int>::const_iterator
index(
streamIndex_.find(stream));
462 return index->second;
488 const std::map<std::string,unsigned int>::const_iterator
index(
datasetIndex_.find(dataset));
492 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_
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_
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)
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.
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
ParameterSet const & registerIt()
static const edm::ParameterSet * s_dummyPSet()
void dump(const std::string &what) const
Dumping config info to cout.