CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTConfigProvider.h
Go to the documentation of this file.
1 #ifndef HLTcore_HLTConfigProvider_h
2 #define HLTcore_HLTConfigProvider_h
3 
17 
20 
21 #include "boost/shared_ptr.hpp"
22 
23 #include<map>
24 #include<string>
25 #include<vector>
26 
27 
28 //
29 // class declaration
30 //
31 
33 
34  private:
40  };
42 
43  public:
47  // ~HLTConfigProvider();
48 
49  public:
53  bool init(const edm::Run& iRun, const edm::EventSetup& iSetup,
54  const std::string& processName, bool& changed);
55 
57  void dump(const std::string& what) const {
58  hltConfigData_->dump(what);
59  }
60 
62 
64  bool inited() const {
65  return inited_;
66  }
68  bool changed() const {
69  return changed_;
70  }
71 
73  const std::string& processName() const {
74  return hltConfigData_->processName();
75  }
76 
78  const std::string& globalTag() const {
79  return hltConfigData_->globalTag();
80  }
81 
83  const std::string& tableName() const {
84  return hltConfigData_->tableName();
85  }
86 
88  unsigned int size() const {
89  return hltConfigData_->size();
90  }
92  unsigned int size(unsigned int trigger) const {
93  return hltConfigData_->size(trigger);
94  }
95  unsigned int size(const std::string& trigger) const {
96  return hltConfigData_->size(trigger);
97  }
98 
100  const std::vector<std::string>& triggerNames() const {
101  return hltConfigData_->triggerNames();
102  }
103  const std::string& triggerName(unsigned int triggerIndex) const {
104  return hltConfigData_->triggerName(triggerIndex);
105  }
106 
108  unsigned int triggerIndex(const std::string& triggerName) const {
109  return hltConfigData_->triggerIndex(triggerName);
110  }
111 
113  const std::vector<std::string>& moduleLabels(unsigned int trigger) const {
114  return hltConfigData_->moduleLabels(trigger);
115  }
116  const std::vector<std::string>& moduleLabels(const std::string& trigger) const {
117  return hltConfigData_->moduleLabels(trigger);
118  }
119  const std::vector<std::string>& saveTagsModules(unsigned int trigger) const {
120  return hltConfigData_->saveTagsModules(trigger);
121  }
122  const std::vector<std::string>& saveTagsModules(const std::string& trigger) const {
123  return hltConfigData_->saveTagsModules(trigger);
124  }
125  const std::string& moduleLabel(unsigned int trigger, unsigned int module) const {
126  return hltConfigData_->moduleLabel(trigger,module);
127  }
128  const std::string& moduleLabel(const std::string& trigger, unsigned int module) const {
129  return hltConfigData_->moduleLabel(trigger,module);
130  }
131 
133  unsigned int moduleIndex(unsigned int trigger, const std::string& module) const {
134  return hltConfigData_->moduleIndex(trigger,module);
135  }
136  unsigned int moduleIndex(const std::string& trigger, const std::string& module) const {
137  return hltConfigData_->moduleIndex(trigger,module);
138  }
139 
141  const std::string moduleType(const std::string& module) const {
142  return hltConfigData_->moduleType(module);
143  }
144 
147  return hltConfigData_->moduleEDMType(module);
148  }
149 
152  return hltConfigData_->processPSet();
153  }
154 
157  return hltConfigData_->modulePSet(module);
158  }
159 
161  bool saveTags(const std::string& module) const {
162  return hltConfigData_->saveTags(module);
163  }
164 
167  const std::vector<std::vector<std::pair<bool,std::string> > >& hltL1GTSeeds() const {
168  return hltConfigData_->hltL1GTSeeds();
169  }
171  const std::vector<std::pair<bool,std::string> >& hltL1GTSeeds(const std::string& trigger) const {
172  return hltConfigData_->hltL1GTSeeds(trigger);
173  }
175  const std::vector<std::pair<bool,std::string> >& hltL1GTSeeds(unsigned int trigger) const {
176  return hltConfigData_->hltL1GTSeeds(trigger);
177  }
178 
179 
182  const std::vector<std::string>& streamNames() const {
183  return hltConfigData_->streamNames();
184  }
186  const std::string& streamName(unsigned int stream) const {
187  return hltConfigData_->streamName(stream);
188  }
190  unsigned int streamIndex(const std::string& stream) const {
191  return hltConfigData_->streamIndex(stream);
192  }
194  const std::vector<std::vector<std::string> >& streamContents() const {
195  return hltConfigData_->streamContents();
196  }
198  const std::vector<std::string>& streamContent(unsigned int stream) const {
199  return hltConfigData_->streamContent(stream);
200  }
202  const std::vector<std::string>& streamContent(const std::string& stream) const {
203  return hltConfigData_->streamContent(stream);
204  }
205 
206 
209  const std::vector<std::string>& datasetNames() const {
210  return hltConfigData_->datasetNames();
211  }
213  const std::string& datasetName(unsigned int dataset) const {
214  return hltConfigData_->datasetName(dataset);
215  }
217  unsigned int datasetIndex(const std::string& dataset) const {
218  return hltConfigData_->datasetIndex(dataset);
219  }
221  const std::vector<std::vector<std::string> >& datasetContents() const {
223  }
225  const std::vector<std::string>& datasetContent(unsigned int dataset) const {
226  return hltConfigData_->datasetContent(dataset);
227  }
229  const std::vector<std::string>& datasetContent(const std::string& dataset) const {
230  return hltConfigData_->datasetContent(dataset);
231  }
232 
233 
236  unsigned int prescaleSize() const {
237  return hltConfigData_->prescaleSize();
238  }
240  unsigned int prescaleValue(unsigned int set, const std::string& trigger) const {
241  return hltConfigData_->prescaleValue(set,trigger);
242  }
243 
246  int prescaleSet(const edm::Event& iEvent, const edm::EventSetup& iSetup) const;
247  // negative == error
248 
250  unsigned int prescaleValue(const edm::Event& iEvent, const edm::EventSetup& iSetup, const std::string& trigger) const;
251 
253  std::pair<int,int> prescaleValues(const edm::Event& iEvent, const edm::EventSetup& iSetup, const std::string& trigger) const;
254  // any one negative => error in retrieving this (L1T or HLT) prescale
255 
256  // In case of a complex Boolean expression as L1 seed
257  std::pair<std::vector<std::pair<std::string,int> >,int> prescaleValuesInDetail(const edm::Event& iEvent, const edm::EventSetup& iSetup, const std::string& trigger) const;
258 
260  const std::vector<std::string>& prescaleLabels() const {
261  return hltConfigData_->prescaleLabels();
262  }
263  const std::map<std::string,std::vector<unsigned int> >& prescaleTable() const {
264  return hltConfigData_->prescaleTable();
265  }
266 
268  static const std::vector<std::string> matched(const std::vector<std::string>& inputs, const std::string& pattern);
269  static const std::string removeVersion(const std::string& trigger);
270  static const std::vector<std::string> restoreVersion(const std::vector<std::string>& inputs, const std::string& trigger);
271 
272  private:
273 
274  void getDataFrom(const edm::ParameterSetID& iID);
275  void init(const edm::ProcessHistory& iHistory, const std::string& processName);
276  void init(const std::string& processName);
277  void clear();
278 
281  bool inited_;
282  bool changed_;
284  boost::shared_ptr<L1GtUtils> l1GtUtils_;
285 
286 };
287 #endif
unsigned int size() const
number of trigger paths in trigger table
void dump(const std::string &what) const
Dumping config info to cout.
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
unsigned int moduleIndex(const std::string &trigger, const std::string &module) const
const std::string moduleType(const std::string &module) const
C++ class name of module.
static const std::vector< std::string > matched(const std::vector< std::string > &inputs, const std::string &pattern)
regexp processing
const std::vector< std::vector< std::string > > & streamContents() const
names of datasets for all streams
const std::string & datasetName(unsigned int dataset) const
name of dataset with index i
const std::string & triggerName(unsigned int triggerIndex) const
const std::vector< std::string > & datasetContent(const std::string &dataset) const
names of trigger paths in dataset with name
HLTConfigCounterSentry sentry_
const std::string & streamName(unsigned int stream) const
name of stream with index i
void getDataFrom(const edm::ParameterSetID &iID)
const std::vector< std::pair< bool, std::string > > & hltL1GTSeeds(const std::string &trigger) const
HLTLevel1GTSeed modules for trigger path with name.
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
const std::vector< std::string > & triggerNames() const
names of trigger paths
const std::vector< std::string > & triggerNames() const
names of trigger paths
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
const std::string & datasetName(unsigned int dataset) const
name of dataset with index i
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
std::pair< std::vector< std::pair< std::string, int > >, int > prescaleValuesInDetail(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger) const
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
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::string & tableName() const
HLT ConfDB table name.
unsigned int size(const std::string &trigger) const
const edm::ParameterSet & modulePSet(const std::string &module) const
ParameterSet of module.
std::string processName_
data members
unsigned int streamIndex(const std::string &stream) const
index of stream with name
const std::vector< std::string > & datasetNames() const
Datasets.
const std::map< std::string, std::vector< unsigned int > > & prescaleTable() const
bool changed() const
changed?
const std::string & moduleLabel(unsigned int trigger, unsigned int module) const
static const std::string removeVersion(const std::string &trigger)
bool inited() const
Accessors (const methods)
const HLTConfigData * hltConfigData_
const std::vector< std::string > & saveTagsModules(unsigned int trigger) const
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
const std::vector< std::string > & streamNames() const
Streams.
boost::shared_ptr< L1GtUtils > l1GtUtils_
unsigned int prescaleValue(unsigned int set, const std::string &trigger) const
HLT prescale value in specific prescale set for a specific trigger path.
int iEvent
Definition: GenABIO.cc:230
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 to size-1)
const std::vector< std::string > & streamNames() const
const edm::ParameterSet & processPSet() const
ParameterSet of process.
const std::string & moduleLabel(const std::string &trigger, unsigned int module) const
const std::vector< std::string > & saveTagsModules(unsigned int trigger) const
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 > > & datasetContents() const
names of trigger paths for all datasets
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
const std::string moduleType(const std::string &module) const
C++ class name of module.
const std::vector< std::string > & saveTagsModules(const std::string &trigger) const
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 - size-1)
HLTConfigProvider()
c&#39;tor
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
process name
const std::string & processName() const
Accessors (const methods)
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
unsigned int streamIndex(const std::string &stream) const
index of stream with name
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
const std::string & tableName() const
HLT ConfDB table name.
const std::map< std::string, std::vector< unsigned int > > & prescaleTable() const
const std::vector< std::pair< bool, std::string > > & hltL1GTSeeds(unsigned int trigger) const
HLTLevel1GTSeed modules for trigger path with index i.
int prescaleSet(const edm::Event &iEvent, const edm::EventSetup &iSetup) const
const edm::ParameterSet & processPSet() const
ParameterSet of process.
static const std::vector< std::string > restoreVersion(const std::vector< std::string > &inputs, const std::string &trigger)
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
unsigned int size(unsigned int trigger) const
number of modules on a specific trigger path
tuple dataset
Definition: dataset.py:393
std::pair< int, int > prescaleValues(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger) const
Combined L1T (pair.first) and HLT (pair.second) prescales per HLT path.
unsigned int prescaleSize() const
const std::vector< std::string > & prescaleLabels() const
low-level data member access
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::string & globalTag() const
GlobalTag.globaltag.
const std::vector< std::vector< std::string > > & datasetContents() const
names of trigger paths for all datasets
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
const std::string & streamName(unsigned int stream) const
name of stream with index i
const std::vector< std::string > & streamContent(const std::string &stream) const
names of datasets in stream with name
unsigned int prescaleSize() const
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
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
Definition: vlib.h:208
const std::vector< std::string > & moduleLabels(const std::string &trigger) const
void dump(const std::string &what) const
Dumping config info to cout.
Definition: Run.h:41
const std::vector< std::string > & datasetNames() const
const std::string & globalTag() const
global tag