27 tableName_(), triggerNames_(), moduleLabels_(), saveTagsModules_(),
28 triggerIndex_(), moduleIndex_(),
30 streamNames_(), streamIndex_(), streamContents_(),
31 datasetNames_(), datasetIndex_(), datasetContents_(),
42 tableName_(), triggerNames_(), moduleLabels_(), saveTagsModules_(),
43 triggerIndex_(), moduleIndex_(),
45 streamNames_(), streamIndex_(), streamContents_(),
46 datasetNames_(), datasetIndex_(), datasetContents_(),
58 using namespace trigger;
68 if (HLTPSet.existsAs<
string>(
"tableName",
true)) {
69 tableName_=HLTPSet.getParameter<
string>(
"tableName");
72 LogVerbatim(
"HLTConfigData") <<
"ProcessPSet with: "
79 if (HLTPSet.existsAs<vector<string> >(
"@trigger_paths",
true)) {
80 triggerNames_= HLTPSet.getParameter<vector<string> >(
"@trigger_paths");
85 const unsigned int n(
size());
87 for (
unsigned int i=0;
i!=
n; ++
i) {
94 for (
unsigned int i=0;
i!=
n; ++
i) {
97 const unsigned int m(modules.size());
99 for (
unsigned int j=0;
j!=
m; ++
j) {
100 const string&
label(modules[
j]);
108 for (
unsigned int i=0;
i!=
n; ++
i) {
111 const unsigned int m(
size(
i));
112 for (
unsigned int j=0;
j!=
m; ++
j) {
119 for (
unsigned int i=0;
i!=
n; ++
i) {
121 const unsigned int m(
size(
i));
122 for (
unsigned int j=0;
j!=
m; ++
j) {
127 const bool l1Tech(pset.
getParameter<
bool>(
"L1TechTriggerSeeding"));
128 const string l1Seed(pset.
getParameter<
string>(
"L1SeedsLogicalExpression"));
139 sort(streamNames_.begin(),streamNames_.end());
140 const unsigned int n(streamNames_.size());
142 for (
unsigned int i=0;
i!=
n; ++
i) {
154 sort(datasetNames_.begin(),datasetNames_.end());
155 const unsigned int n(datasetNames_.size());
157 for (
unsigned int i=0;
i!=
n; ++
i) {
167 string prescaleName(
"");
168 const string preS(
"PrescaleService");
169 const string preT(
"PrescaleTable");
175 if (prescaleName==
"") {
179 string defaultLabel(iPS.getUntrackedParameter<
string>(
"lvl1DefaultLabel",
""));
181 if (iPS.existsAs<vector<string> >(
"lvl1Labels",
true)) {
182 labels = iPS.getParameter<vector<string> >(
"lvl1Labels");
185 const unsigned int n(labels.size());
186 for (
unsigned int i=0;
i!=
n; ++
i) {
187 if (labels[
i]==defaultLabel) set=
i;
189 map<string,vector<unsigned int> >
table;
190 if (iPS.existsAs< vector<ParameterSet> >(
"prescaleTable",
true)) {
191 const vector<ParameterSet>& vpTable(iPS.getParameterSetVector(
"prescaleTable"));
192 const unsigned int m (vpTable.size());
193 for (
unsigned int i=0;
i!=
m; ++
i) {
194 table[vpTable[
i].getParameter<std::string>(
"pathName")] =
195 vpTable[
i].getParameter<std::vector<unsigned int> >(
"prescales");
213 if (what==
"ProcessPSet") {
214 cout <<
"HLTConfigData::dump: ProcessPSet = " << endl << *
processPSet_ << endl;
215 }
else if (what==
"ProcessName") {
218 }
else if (what==
"TableName") {
219 cout <<
"HLTConfigData::dump: TableName = " <<
tableName_ << endl;
220 }
else if (what==
"Triggers") {
221 const unsigned int n(
size());
222 cout <<
"HLTConfigData::dump: Triggers: " << n << endl;
223 for (
unsigned int i=0;
i!=
n; ++
i) {
226 }
else if (what==
"TriggerSeeds") {
227 const unsigned int n(
size());
228 cout <<
"HLTConfigData::dump: TriggerSeeds: " << n << endl;
229 for (
unsigned int i=0;
i!=
n; ++
i) {
232 for (
unsigned int j=0;
j!=
m; ++
j) {
238 }
else if (what==
"Modules") {
239 const unsigned int n(
size());
240 cout <<
"HLTConfigData::dump Triggers and Modules: " << n << endl;
241 for (
unsigned int i=0;
i!=
n; ++
i) {
242 const unsigned int m(
size(
i));
244 cout <<
" - Modules: ";
245 unsigned int nHLTPrescalers(0);
246 unsigned int nHLTLevel1GTSeed(0);
247 for (
unsigned int j=0;
j!=
m; ++
j) {
252 cout <<
" " << j <<
":" << label <<
"/" << type <<
"/" << edmtype <<
"/" <<
tags;
253 if (type==
"HLTPrescaler") nHLTPrescalers++;
254 if (type==
"HLTLevel1GTSeed") nHLTLevel1GTSeed++;
257 cout <<
" - Number of HLTPrescaler/HLTLevel1GTSeed modules: "
258 << nHLTPrescalers <<
"/" << nHLTLevel1GTSeed << endl;
260 }
else if (what==
"StreamNames") {
262 cout <<
"HLTConfigData::dump: StreamNames: " <<
n << endl;
263 for (
unsigned int i=0;
i!=
n; ++
i) {
266 }
else if (what==
"Streams") {
268 cout <<
"HLTConfigData::dump: Streams: " <<
n << endl;
269 for (
unsigned int i=0;
i!=
n; ++
i) {
272 for (
unsigned int j=0;
j!=
m; ++
j) {
276 }
else if (what==
"DatasetNames") {
278 cout <<
"HLTConfigData::dump: DatasetNames: " <<
n << endl;
279 for (
unsigned int i=0;
i!=
n; ++
i) {
282 }
else if (what==
"Datasets") {
284 cout <<
"HLTConfigData::dump: Datasets: " <<
n << endl;
285 for (
unsigned int i=0;
i!=
n; ++
i) {
288 for (
unsigned int j=0;
j!=
m; ++
j) {
292 }
else if (what==
"PrescaleTable") {
294 cout <<
"HLTConfigData::dump: PrescaleTable: # of sets : " <<
n << endl;
296 for (
unsigned int i=0;
i!=
n; ++
i) {
299 if (
n>0)
cout << endl;
301 cout <<
"HLTConfigData::dump: PrescaleTable: # of paths: " <<
table.size() << endl;
302 const map<string,vector<unsigned int> >::const_iterator tb(
table.begin());
303 const map<string,vector<unsigned int> >::const_iterator te(
table.end());
304 for (
map<
string,vector<unsigned int> >::const_iterator ti=tb; ti!=te; ++ti) {
305 for (
unsigned int i=0;
i!=
n; ++
i) {
306 cout <<
" " << ti->second.at(
i);
308 cout <<
" " << ti->first << endl;
311 cout <<
"HLTConfigData::dump: Unkown dump request: " << what << endl;
340 const std::map<std::string,unsigned int>::const_iterator
index(
triggerIndex_.find(trigger));
344 return index->second;
370 const std::map<std::string,unsigned int>::const_iterator
index(
moduleIndex_.at(trigger).find(module));
372 return size(trigger);
374 return index->second;
383 if (pset.
existsAs<std::string>(
"@module_type",
true)) {
392 if (pset.
existsAs<std::string>(
"@module_edm_type",
true)) {
393 return pset.
getParameter<std::string>(
"@module_edm_type");
413 if (pset.
existsAs<
bool>(
"saveTags",
true)) {
442 const std::map<std::string,unsigned int>::const_iterator
index(
streamIndex_.find(stream));
446 return index->second;
472 const std::map<std::string,unsigned int>::const_iterator
index(
datasetIndex_.find(dataset));
476 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
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 bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
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.