CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTConfigData.cc
Go to the documentation of this file.
1 
12 
13 #include <iostream>
14 
16 {
17  static edm::ParameterSet dummyPSet;
18  dummyPSet.registerIt();
19  return &dummyPSet;
20 }
21 
23  processPSet_(s_dummyPSet()),
24  processName_(""), globalTag_(""),
25  tableName_(), triggerNames_(), moduleLabels_(), saveTagsModules_(),
26  triggerIndex_(), moduleIndex_(),
27  hltL1GTSeeds_(),
28  streamNames_(), streamIndex_(), streamContents_(),
29  datasetNames_(), datasetIndex_(), datasetContents_(),
30  hltPrescaleTable_()
31 {
32  if (processPSet_->id().isValid()) {
33  extract();
34  }
35 }
36 
38  processPSet_(iPSet),
39  processName_(""), globalTag_(""),
40  tableName_(), triggerNames_(), moduleLabels_(), saveTagsModules_(),
41  triggerIndex_(), moduleIndex_(),
42  hltL1GTSeeds_(),
43  streamNames_(), streamIndex_(), streamContents_(),
44  datasetNames_(), datasetIndex_(), datasetContents_(),
45  hltPrescaleTable_()
46 {
47  if (processPSet_->id().isValid()) {
48  extract();
49  }
50 }
51 
53 {
54  using namespace std;
55  using namespace edm;
56  using namespace trigger;
57 
58  // Extract process name
59  if (processPSet_->existsAs<string>("@process_name",true)) {
60  processName_= processPSet_->getParameter<string>("@process_name");
61  }
62 
63  // Extract globaltag
64  globalTag_="";
65  const ParameterSet* GlobalTagPSet(0);
66  if (processPSet_->exists("GlobalTag")) {
67  GlobalTagPSet = &(processPSet_->getParameterSet("GlobalTag"));
68  } else if (processPSet_->exists("PoolDBESSource@GlobalTag")) {
69  GlobalTagPSet = &(processPSet_->getParameterSet("PoolDBESSource@GlobalTag"));
70  }
71  if (GlobalTagPSet && GlobalTagPSet->existsAs<std::string>("globaltag",true)) {
72  globalTag_=GlobalTagPSet->getParameter<std::string>("globaltag");
73  }
74 
75  // Obtain PSet containing table name (available only in 2_1_10++ files)
76  if (processPSet_->existsAs<ParameterSet>("HLTConfigVersion",true)) {
77  const ParameterSet& HLTPSet(processPSet_->getParameterSet("HLTConfigVersion"));
78  if (HLTPSet.existsAs<string>("tableName",true)) {
79  tableName_=HLTPSet.getParameter<string>("tableName");
80  }
81  }
82 
83  LogVerbatim("HLTConfigData") << "ProcessPSet with: "
84  << processName_ << " "
85  << globalTag_ << " "
86  << tableName_;
87 
88  // Extract trigger paths (= paths - end_paths)
89  if (processPSet_->existsAs<ParameterSet>("@trigger_paths",true)) {
90  const ParameterSet& HLTPSet(processPSet_->getParameterSet("@trigger_paths"));
91  if (HLTPSet.existsAs<vector<string> >("@trigger_paths",true)) {
92  triggerNames_= HLTPSet.getParameter<vector<string> >("@trigger_paths");
93  }
94  }
95 
96  // Obtain module labels of all modules on all trigger paths
97  const unsigned int n(size());
98  moduleLabels_.reserve(n);
99  for (unsigned int i=0;i!=n; ++i) {
100  if (processPSet_->existsAs<vector<string> >(triggerNames_[i],true)) {
101  moduleLabels_.push_back(processPSet_->getParameter<vector<string> >(triggerNames_[i]));
102  }
103  }
104  saveTagsModules_.reserve(n);
105  vector<string> labels;
106  for (unsigned int i=0;i!=n; ++i) {
107  labels.clear();
108  const vector<string>& modules(moduleLabels(i));
109  const unsigned int m(modules.size());
110  labels.reserve(m);
111  for (unsigned int j=0;j!=m; ++j) {
112  const string& label(modules[j]);
113  if (saveTags(label)) labels.push_back(label);
114  }
115  saveTagsModules_.push_back(labels);
116  }
117 
118  // Fill index maps for fast lookup
119  moduleIndex_.resize(n);
120  for (unsigned int i=0; i!=n; ++i) {
122  moduleIndex_[i].clear();
123  const unsigned int m(size(i));
124  for (unsigned int j=0; j!=m; ++j) {
126  }
127  }
128 
129  // Extract and fill HLTLevel1GTSeed information for each trigger path
130  hltL1GTSeeds_.resize(n);
131  for (unsigned int i=0; i!=n; ++i) {
132  hltL1GTSeeds_[i].clear();
133  const unsigned int m(size(i));
134  for (unsigned int j=0; j!=m; ++j) {
135  const string& label(moduleLabels_[i][j]);
136  if (moduleType(label) == "HLTLevel1GTSeed") {
137  const ParameterSet& pset(modulePSet(label));
138  if (pset!=ParameterSet()) {
139  const bool l1Tech(pset.getParameter<bool>("L1TechTriggerSeeding"));
140  const string l1Seed(pset.getParameter<string>("L1SeedsLogicalExpression"));
141  hltL1GTSeeds_[i].push_back(pair<bool,string>(l1Tech,l1Seed));
142  }
143  }
144  }
145  }
146 
147  // Extract and fill streams information
148  if (processPSet_->existsAs<ParameterSet>("streams",true)) {
149  const ParameterSet& streams(processPSet_->getParameterSet("streams"));
150  streamNames_=streams.getParameterNamesForType<vector<string> >();
151  sort(streamNames_.begin(),streamNames_.end());
152  const unsigned int n(streamNames_.size());
153  streamContents_.resize(n);
154  for (unsigned int i=0; i!=n; ++i) {
155  streamIndex_[streamNames_[i]]=i;
156  streamContents_[i]=streams.getParameter<vector<string> >(streamNames_[i]);
158  }
159 
160  }
161 
162  // Extract and fill datasets information
163  if (processPSet_->existsAs<ParameterSet>("datasets",true)) {
164  const ParameterSet& datasets(processPSet_->getParameterSet("datasets"));
165  datasetNames_=datasets.getParameterNamesForType<vector<string> >();
166  sort(datasetNames_.begin(),datasetNames_.end());
167  const unsigned int n(datasetNames_.size());
168  datasetContents_.resize(n);
169  for (unsigned int i=0; i!=n; ++i) {
170  datasetIndex_[datasetNames_[i]]=i;
171  datasetContents_[i]=datasets.getParameter< vector<string> >(datasetNames_[i]);
173  }
174  }
175 
176  // Extract and fill Prescale information
177 
178  // Check various possibilities to get the HLT prescale sets:
179  string prescaleName("");
180  const string preS("PrescaleService");
181  const string preT("PrescaleTable");
182  if (processPSet_->existsAs<ParameterSet>(preS,true)) {
183  prescaleName=preS;
184  } else if ( processPSet_->existsAs<ParameterSet>(preT,true)) {
185  prescaleName=preT;
186  }
187  if (prescaleName=="") {
189  } else {
190  const ParameterSet& iPS(processPSet_->getParameterSet(prescaleName));
191  string defaultLabel("default");
192  if (iPS.existsAs<string>("lvl1DefaultLabel",true)) {
193  defaultLabel = iPS.getParameter<string>("lvl1DefaultLabel");
194  }
195  vector<string> labels;
196  if (iPS.existsAs<vector<string> >("lvl1Labels",true)) {
197  labels = iPS.getParameter<vector<string> >("lvl1Labels");
198  }
199  unsigned int set(0);
200  const unsigned int n(labels.size());
201  for (unsigned int i=0; i!=n; ++i) {
202  if (labels[i]==defaultLabel) set=i;
203  }
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");
211  }
212  }
213  if (n>0) {
214  hltPrescaleTable_=HLTPrescaleTable(set,labels,table);
215  } else {
217  }
218 
219  }
220 
221  return;
222 }
223 
224 void HLTConfigData::dump(const std::string& what) const {
225  using namespace std;
226  using namespace edm;
227 
228  if (what=="ProcessPSet") {
229  cout << "HLTConfigData::dump: ProcessPSet = " << endl << *processPSet_ << endl;
230  } else if (what=="ProcessName") {
231  cout << "HLTConfigData::dump: ProcessName = " << processName_ << endl;
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) {
240  cout << " " << i << " " << triggerNames_[i] << endl;
241  }
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) {
246  const unsigned int m(hltL1GTSeeds_[i].size());
247  cout << " " << i << " " << triggerNames_[i] << " " << m << endl;
248  for (unsigned int j=0; j!=m; ++j) {
249  cout << " " << j
250  << " " << hltL1GTSeeds_[i][j].first
251  << "/" << hltL1GTSeeds_[i][j].second << endl;
252  }
253  }
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));
259  cout << i << " " << triggerNames_[i] << " " << m << endl;
260  cout << " - Modules: ";
261  unsigned int nHLTPrescalers(0);
262  unsigned int nHLTLevel1GTSeed(0);
263  for (unsigned int j=0; j!=m; ++j) {
264  const string& label(moduleLabels_[i][j]);
265  const string type(moduleType(label));
266  const string edmtype(moduleEDMType(label));
267  const bool tags(saveTags(label));
268  cout << " " << j << ":" << label << "/" << type << "/" << edmtype << "/" << tags;
269  if (type=="HLTPrescaler") nHLTPrescalers++;
270  if (type=="HLTLevel1GTSeed") nHLTLevel1GTSeed++;
271  }
272  cout << endl;
273  cout << " - Number of HLTPrescaler/HLTLevel1GTSeed modules: "
274  << nHLTPrescalers << "/" << nHLTLevel1GTSeed << endl;
275  }
276  } else if (what=="StreamNames") {
277  const unsigned int n(streamNames_.size());
278  cout << "HLTConfigData::dump: StreamNames: " << n << endl;
279  for (unsigned int i=0; i!=n; ++i) {
280  cout << " " << i << " " << streamNames_[i] << endl;
281  }
282  } else if (what=="Streams") {
283  const unsigned int n(streamNames_.size());
284  cout << "HLTConfigData::dump: Streams: " << n << endl;
285  for (unsigned int i=0; i!=n; ++i) {
286  const unsigned int m(streamContents_[i].size());
287  cout << " " << i << " " << streamNames_[i] << " " << m << endl;
288  for (unsigned int j=0; j!=m; ++j) {
289  cout << " " << j << " " << streamContents_[i][j] << endl;
290  }
291  }
292  } else if (what=="DatasetNames") {
293  const unsigned int n(datasetNames_.size());
294  cout << "HLTConfigData::dump: DatasetNames: " << n << endl;
295  for (unsigned int i=0; i!=n; ++i) {
296  cout << " " << i << " " << datasetNames_[i] << endl;
297  }
298  } else if (what=="Datasets") {
299  const unsigned int n(datasetNames_.size());
300  cout << "HLTConfigData::dump: Datasets: " << n << endl;
301  for (unsigned int i=0; i!=n; ++i) {
302  const unsigned int m(datasetContents_[i].size());
303  cout << " " << i << " " << datasetNames_[i] << " " << m << endl;
304  for (unsigned int j=0; j!=m; ++j) {
305  cout << " " << j << " " << datasetContents_[i][j] << endl;
306  }
307  }
308  } else if (what=="PrescaleTable") {
309  const unsigned int n (hltPrescaleTable_.size());
310  cout << "HLTConfigData::dump: PrescaleTable: # of sets : " << n << endl;
311  const vector<string>& labels(hltPrescaleTable_.labels());
312  for (unsigned int i=0; i!=n; ++i) {
313  cout << " " << i << "/'" << labels.at(i) << "'";
314  }
315  if (n>0) cout << endl;
316  const map<string,vector<unsigned int> >& table(hltPrescaleTable_.table());
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);
323  }
324  cout << " " << ti->first << endl;
325  }
326  } else {
327  cout << "HLTConfigData::dump: Unkown dump request: " << what << endl;
328  }
329  return;
330 }
331 
333  return processName_;
334 }
335 
336 unsigned int HLTConfigData::size() const {
337  return triggerNames_.size();
338 }
339 unsigned int HLTConfigData::size(unsigned int trigger) const {
340  return moduleLabels_.at(trigger).size();
341 }
342 unsigned int HLTConfigData::size(const std::string& trigger) const {
343  return size(triggerIndex(trigger));
344 }
345 
347  return tableName_;
348 }
349 const std::vector<std::string>& HLTConfigData::triggerNames() const {
350  return triggerNames_;
351 }
352 const std::string& HLTConfigData::triggerName(unsigned int trigger) const {
353  return triggerNames_.at(trigger);
354 }
355 unsigned int HLTConfigData::triggerIndex(const std::string& trigger) const {
356  const std::map<std::string,unsigned int>::const_iterator index(triggerIndex_.find(trigger));
357  if (index==triggerIndex_.end()) {
358  return size();
359  } else {
360  return index->second;
361  }
362 }
363 
364 const std::vector<std::string>& HLTConfigData::moduleLabels(unsigned int trigger) const {
365  return moduleLabels_.at(trigger);
366 }
367 const std::vector<std::string>& HLTConfigData::moduleLabels(const std::string& trigger) const {
368  return moduleLabels_.at(triggerIndex(trigger));
369 }
370 
371 const std::vector<std::string>& HLTConfigData::saveTagsModules(unsigned int trigger) const {
372  return saveTagsModules_.at(trigger);
373 }
374 const std::vector<std::string>& HLTConfigData::saveTagsModules(const std::string& trigger) const {
375  return saveTagsModules_.at(triggerIndex(trigger));
376 }
377 
378 const std::string& HLTConfigData::moduleLabel(unsigned int trigger, unsigned int module) const {
379  return moduleLabels_.at(trigger).at(module);
380 }
381 const std::string& HLTConfigData::moduleLabel(const std::string& trigger, unsigned int module) const {
382  return moduleLabels_.at(triggerIndex(trigger)).at(module);
383 }
384 
385 unsigned int HLTConfigData::moduleIndex(unsigned int trigger, const std::string& module) const {
386  const std::map<std::string,unsigned int>::const_iterator index(moduleIndex_.at(trigger).find(module));
387  if (index==moduleIndex_.at(trigger).end()) {
388  return size(trigger);
389  } else {
390  return index->second;
391  }
392 }
393 unsigned int HLTConfigData::moduleIndex(const std::string& trigger, const std::string& module) const {
394  return moduleIndex(triggerIndex(trigger),module);
395 }
396 
398  const edm::ParameterSet& pset(modulePSet(module));
399  if (pset.existsAs<std::string>("@module_type",true)) {
400  return pset.getParameter<std::string>("@module_type");
401  } else {
402  return "";
403  }
404 }
405 
407  const edm::ParameterSet& pset(modulePSet(module));
408  if (pset.existsAs<std::string>("@module_edm_type",true)) {
409  return pset.getParameter<std::string>("@module_edm_type");
410  } else {
411  return "";
412  }
413 }
414 
416  return *processPSet_;
417 }
418 
420  if (processPSet_->exists(module)) {
421  return processPSet_->getParameterSet(module);
422  } else {
423  return *s_dummyPSet();
424  }
425 }
426 
428  const edm::ParameterSet& pset(modulePSet(module));
429  if (pset.existsAs<bool>("saveTags",true)) {
430  return pset.getParameter<bool>("saveTags");
431  } else {
432  return false;
433  }
434 }
435 
436 const std::vector<std::vector<std::pair<bool,std::string> > >& HLTConfigData::hltL1GTSeeds() const {
437  return hltL1GTSeeds_;
438 }
439 
440 const std::vector<std::pair<bool,std::string> >& HLTConfigData::hltL1GTSeeds(const std::string& trigger) const {
441  return hltL1GTSeeds(triggerIndex(trigger));
442 }
443 
444 const std::vector<std::pair<bool,std::string> >& HLTConfigData::hltL1GTSeeds(unsigned int trigger) const {
445  return hltL1GTSeeds_.at(trigger);
446 }
447 
449 const std::vector<std::string>& HLTConfigData::streamNames() const {
450  return streamNames_;
451 }
452 
453 const std::string& HLTConfigData::streamName(unsigned int stream) const {
454  return streamNames_.at(stream);
455 }
456 
457 unsigned int HLTConfigData::streamIndex(const std::string& stream) const {
458  const std::map<std::string,unsigned int>::const_iterator index(streamIndex_.find(stream));
459  if (index==streamIndex_.end()) {
460  return streamNames_.size();
461  } else {
462  return index->second;
463  }
464 }
465 
466 const std::vector<std::vector<std::string> >& HLTConfigData::streamContents() const {
467  return streamContents_;
468 }
469 
470 const std::vector<std::string>& HLTConfigData::streamContent(unsigned int stream) const {
471  return streamContents_.at(stream);
472 }
473 
474 const std::vector<std::string>& HLTConfigData::streamContent(const std::string& stream) const {
475  return streamContent(streamIndex(stream));
476 }
477 
479 const std::vector<std::string>& HLTConfigData::datasetNames() const {
480  return datasetNames_;
481 }
482 
483 const std::string& HLTConfigData::datasetName(unsigned int dataset) const {
484  return datasetNames_.at(dataset);
485 }
486 
487 unsigned int HLTConfigData::datasetIndex(const std::string& dataset) const {
488  const std::map<std::string,unsigned int>::const_iterator index(datasetIndex_.find(dataset));
489  if (index==datasetIndex_.end()) {
490  return datasetNames_.size();
491  } else {
492  return index->second;
493  }
494 }
495 
496 const std::vector<std::vector<std::string> >& HLTConfigData::datasetContents() const {
497  return datasetContents_;
498 }
499 
500 const std::vector<std::string>& HLTConfigData::datasetContent(unsigned int dataset) const {
501  return datasetContents_.at(dataset);
502 }
503 
504 const std::vector<std::string>& HLTConfigData::datasetContent(const std::string& dataset) const {
505  return datasetContent(datasetIndex(dataset));
506 }
507 
508 
509 unsigned int HLTConfigData::prescaleSize() const {
510  return hltPrescaleTable_.size();
511 }
512 unsigned int HLTConfigData::prescaleValue(unsigned int set, const std::string& trigger) const {
513  return hltPrescaleTable_.prescale(set,trigger);
514 }
515 
516 const std::vector<std::string>& HLTConfigData::prescaleLabels() const {
517  return hltPrescaleTable_.labels();
518 }
519 const std::map<std::string,std::vector<unsigned int> >& HLTConfigData::prescaleTable() const {
520  return hltPrescaleTable_.table();
521 }
522 
524  return processPSet_->id();
525 }
type
Definition: HCALResponse.h:21
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:184
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 &parameterName) 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.
std::string globalTag_
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
std::string tableName_
trigger::HLTPrescaleTable hltPrescaleTable_
std::vector< std::vector< std::string > > moduleLabels_
int j
Definition: DBlmapReader.cc:9
const std::string moduleType(const std::string &module) const
C++ class name of module.
#define end
Definition: vmac.h:37
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
tuple tags
Definition: o2o.py:248
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
#define table(NAME)
Definition: DbCore.h:49
const edm::ParameterSet * processPSet_
const edm::ParameterSet & processPSet() const
ParameterSet of process.
ParameterSet const & getParameterSet(std::string const &) const
tuple dataset
Definition: dataset.py:400
unsigned int prescaleSize() const
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
#define begin
Definition: vmac.h:30
bool isValid() const
Definition: Hash.h:150
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
tuple cout
Definition: gather_cfg.py:121
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()
Definition: vlib.h:208
static const edm::ParameterSet * s_dummyPSet()
std::string processName_
void dump(const std::string &what) const
Dumping config info to cout.