CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
HLTConfigProvider Class Reference

#include <HLTConfigProvider.h>

Classes

struct  HLTConfigCounterSentry
 

Public Member Functions

bool changed () const
 changed? More...
 
const std::vector< std::string > & datasetContent (unsigned int dataset) const
 names of trigger paths in dataset with index i More...
 
const std::vector< std::string > & datasetContent (const std::string &dataset) const
 names of trigger paths in dataset with name More...
 
const std::vector< std::vector
< std::string > > & 
datasetContents () const
 names of trigger paths for all datasets More...
 
unsigned int datasetIndex (const std::string &dataset) const
 index of dataset with name More...
 
const std::string & datasetName (unsigned int dataset) const
 name of dataset with index i More...
 
const std::vector< std::string > & datasetNames () const
 
void dump (const std::string &what) const
 Dumping config info to cout. More...
 
const std::string & globalTag () const
 global tag More...
 
 HLTConfigProvider ()
 c'tor More...
 
const std::vector< std::vector
< std::pair< bool, std::string > > > & 
hltL1GTSeeds () const
 
const std::vector< std::pair
< bool, std::string > > & 
hltL1GTSeeds (const std::string &trigger) const
 HLTLevel1GTSeed modules for trigger path with name. More...
 
const std::vector< std::pair
< bool, std::string > > & 
hltL1GTSeeds (unsigned int trigger) const
 HLTLevel1GTSeed modules for trigger path with index i. More...
 
bool init (const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
 d'tor More...
 
bool inited () const
 Accessors (const methods) More...
 
const std::string moduleEDMType (const std::string &module) const
 C++ base class name of module. More...
 
unsigned int moduleIndex (unsigned int trigger, const std::string &module) const
 slot position of module on trigger path (0 to size-1) More...
 
unsigned int moduleIndex (const std::string &trigger, const std::string &module) const
 
const std::string & moduleLabel (unsigned int trigger, unsigned int module) const
 
const std::string & moduleLabel (const std::string &trigger, unsigned int module) const
 
const std::vector< std::string > & moduleLabels (unsigned int trigger) const
 label(s) of module(s) on a trigger path More...
 
const std::vector< std::string > & moduleLabels (const std::string &trigger) const
 
const edm::ParameterSetmodulePSet (const std::string &module) const
 ParameterSet of module. More...
 
const std::string moduleType (const std::string &module) const
 C++ class name of module. More...
 
const std::vector< std::string > & prescaleLabels () const
 low-level data member access More...
 
int prescaleSet (const edm::Event &iEvent, const edm::EventSetup &iSetup) const
 
unsigned int prescaleSize () const
 
const std::map< std::string,
std::vector< unsigned int > > & 
prescaleTable () const
 
unsigned int prescaleValue (unsigned int set, const std::string &trigger) const
 HLT prescale value in specific prescale set for a specific trigger path. More...
 
unsigned int prescaleValue (const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger) const
 combining the two methods above More...
 
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. More...
 
const std::string & processName () const
 process name More...
 
const edm::ParameterSetprocessPSet () const
 ParameterSet of process. More...
 
bool saveTags (const std::string &module) const
 Is module an L3 filter (ie, tracked saveTags=true) More...
 
const std::vector< std::string > & saveTagsModules (unsigned int trigger) const
 
const std::vector< std::string > & saveTagsModules (const std::string &trigger) const
 
unsigned int size () const
 number of trigger paths in trigger table More...
 
unsigned int size (unsigned int trigger) const
 number of modules on a specific trigger path More...
 
unsigned int size (const std::string &trigger) const
 
const std::vector< std::string > & streamContent (unsigned int stream) const
 names of datasets in stream with index i More...
 
const std::vector< std::string > & streamContent (const std::string &stream) const
 names of datasets in stream with name More...
 
const std::vector< std::vector
< std::string > > & 
streamContents () const
 names of datasets for all streams More...
 
unsigned int streamIndex (const std::string &stream) const
 index of stream with name More...
 
const std::string & streamName (unsigned int stream) const
 name of stream with index i More...
 
const std::vector< std::string > & streamNames () const
 
const std::string & tableName () const
 HLT ConfDB table name. More...
 
unsigned int triggerIndex (const std::string &triggerName) const
 slot position of trigger path in trigger table (0 to size-1) More...
 
const std::string & triggerName (unsigned int triggerIndex) const
 
const std::vector< std::string > & triggerNames () const
 names of trigger paths More...
 

Static Public Member Functions

static const std::vector
< std::string > 
matched (const std::vector< std::string > &inputs, const std::string &pattern)
 regexp processing More...
 
static const std::string removeVersion (const std::string &trigger)
 
static const std::vector
< std::string > 
restoreVersion (const std::vector< std::string > &inputs, const std::string &trigger)
 

Private Member Functions

void clear ()
 
void getDataFrom (const edm::ParameterSetID &iID)
 
void init (const edm::ProcessHistory &iHistory, const std::string &processName)
 
void init (const std::string &processName)
 

Private Attributes

bool changed_
 
const HLTConfigDatahltConfigData_
 
bool inited_
 
boost::shared_ptr< L1GtUtilsl1GtUtils_
 
std::string processName_
 data members More...
 
HLTConfigCounterSentry sentry_
 

Detailed Description

This class provides access routines to get hold of the HLT Configuration

Date:
2012/10/03 13:34:09
Revision:
1.47
Author
Martin Grunewald

See header file for documentation

Date:
2012/10/03 13:34:09
Revision:
1.68
Author
Martin Grunewald

Definition at line 34 of file HLTConfigProvider.h.

Constructor & Destructor Documentation

HLTConfigProvider::HLTConfigProvider ( )

c'tor

Definition at line 35 of file HLTConfigProvider.cc.

35  :
36  processName_(""),
37  inited_(false),
38  changed_(true),
40  l1GtUtils_(new L1GtUtils())
41 {
42  // HLTConfigDataRegistry::instance()->extra().increment();
43 }
static const HLTConfigData * s_dummyHLTConfigData()
std::string processName_
data members
const HLTConfigData * hltConfigData_
boost::shared_ptr< L1GtUtils > l1GtUtils_

Member Function Documentation

bool HLTConfigProvider::changed ( ) const
inline

changed?

Definition at line 70 of file HLTConfigProvider.h.

References changed_.

Referenced by EmDQMFeeder::beginRun().

70  {
71  return changed_;
72  }
void HLTConfigProvider::clear ( void  )
private

Definition at line 267 of file HLTConfigProvider.cc.

References changed_, hltConfigData_, inited_, l1GtUtils_, processName_, and s_dummyHLTConfigData().

Referenced by getDataFrom(), and init().

268 {
269  // clear all data members
270 
271  processName_ = "";
272  inited_ = false;
273  changed_ = true;
275  *l1GtUtils_ = L1GtUtils();
276 
277  return;
278 }
static const HLTConfigData * s_dummyHLTConfigData()
std::string processName_
data members
const HLTConfigData * hltConfigData_
boost::shared_ptr< L1GtUtils > l1GtUtils_
const std::vector<std::string>& HLTConfigProvider::datasetContent ( unsigned int  dataset) const
inline

names of trigger paths in dataset with index i

Definition at line 227 of file HLTConfigProvider.h.

References HLTConfigData::datasetContent(), and hltConfigData_.

Referenced by GeneralHLTOffline::beginRun(), HLTOfflineReproducibility::beginRun(), HLTScalers::beginRun(), FourVectorHLTOnline::beginRun(), TrigResRateMon::beginRun(), and FourVectorHLTOffline::beginRun().

227  {
229  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
tuple dataset
Definition: dataset.py:393
const std::vector<std::string>& HLTConfigProvider::datasetContent ( const std::string &  dataset) const
inline

names of trigger paths in dataset with name

Definition at line 231 of file HLTConfigProvider.h.

References HLTConfigData::datasetContent(), and hltConfigData_.

231  {
233  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
tuple dataset
Definition: dataset.py:393
const std::vector<std::vector<std::string> >& HLTConfigProvider::datasetContents ( ) const
inline

names of trigger paths for all datasets

Definition at line 223 of file HLTConfigProvider.h.

References HLTConfigData::datasetContents(), and hltConfigData_.

Referenced by HLTrigReport::reset().

223  {
225  }
const HLTConfigData * hltConfigData_
const std::vector< std::vector< std::string > > & datasetContents() const
names of trigger paths for all datasets
unsigned int HLTConfigProvider::datasetIndex ( const std::string &  dataset) const
inline

index of dataset with name

Definition at line 219 of file HLTConfigProvider.h.

References HLTConfigData::datasetIndex(), and hltConfigData_.

219  {
221  }
const HLTConfigData * hltConfigData_
tuple dataset
Definition: dataset.py:393
unsigned int datasetIndex(const std::string &dataset) const
index of dataset with name
const std::string& HLTConfigProvider::datasetName ( unsigned int  dataset) const
inline

name of dataset with index i

Definition at line 215 of file HLTConfigProvider.h.

References HLTConfigData::datasetName(), and hltConfigData_.

215  {
217  }
const std::string & datasetName(unsigned int dataset) const
name of dataset with index i
const HLTConfigData * hltConfigData_
tuple dataset
Definition: dataset.py:393
const std::vector<std::string>& HLTConfigProvider::datasetNames ( ) const
inline

Datasets list of names of all datasets

Definition at line 211 of file HLTConfigProvider.h.

References HLTConfigData::datasetNames(), and hltConfigData_.

Referenced by HLTOfflineReproducibility::beginRun(), FourVectorHLTOnline::beginRun(), FourVectorHLTOffline::beginRun(), and HLTrigReport::reset().

211  {
212  return hltConfigData_->datasetNames();
213  }
const std::vector< std::string > & datasetNames() const
Datasets.
const HLTConfigData * hltConfigData_
void HLTConfigProvider::dump ( const std::string &  what) const
inline

Dumping config info to cout.

Definition at line 59 of file HLTConfigProvider.h.

References HLTConfigData::dump(), and hltConfigData_.

Referenced by HLTEventAnalyzerAOD::beginRun(), HLTEventAnalyzerRAW::beginRun(), TriggerValidator::beginRun(), and prescaleValues().

59  {
60  hltConfigData_->dump(what);
61  }
const HLTConfigData * hltConfigData_
void dump(const std::string &what) const
Dumping config info to cout.
void HLTConfigProvider::getDataFrom ( const edm::ParameterSetID iID)
private

Definition at line 156 of file HLTConfigProvider.cc.

References changed_, clear(), edm::detail::ThreadSafeRegistry< KEY, T, E >::getMapped(), hltConfigData_, edm::ParameterSet::id(), inited_, edm::detail::ThreadSafeRegistry< KEY, T, E >::insertMapped(), edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), edm::Hash< I >::isValid(), processPSet(), and s_dummyHLTConfigData().

Referenced by init().

157 {
158  //is it in our registry?
160  const HLTConfigData* d = reg->getMapped(iID);
161  if(0 != d) {
162  changed_ = true;
163  inited_ = true;
164  hltConfigData_ = d;
165  } else {
166  const edm::ParameterSet* processPSet = 0;
167  if ( 0 != (processPSet = edm::pset::Registry::instance()->getMapped(iID))) {
168  if (not processPSet->id().isValid()) {
169  clear();
170  edm::LogError("HLTConfigProvider") << "ProcessPSet found is empty!";
171  changed_ = true;
172  inited_ = false;
174  return;
175  } else {
176  clear();
177  reg->insertMapped( HLTConfigData(processPSet));
178  changed_ = true;
179  inited_ = true;
180  hltConfigData_ = reg->getMapped(processPSet->id());
181  return;
182  }
183  } else {
184  clear();
185  edm::LogError("HLTConfigProvider") << "ProcessPSet not found in regsistry!";
186  changed_ = true;
187  inited_ = false;
189  return;
190  }
191  }
192  return;
193 }
ParameterSetID id() const
static ThreadSafeRegistry * instance()
bool getMapped(key_type const &k, value_type &result) const
static const HLTConfigData * s_dummyHLTConfigData()
bool insertMapped(value_type const &v)
const HLTConfigData * hltConfigData_
const edm::ParameterSet & processPSet() const
ParameterSet of process.
bool isValid() const
Definition: Hash.h:146
const std::string& HLTConfigProvider::globalTag ( ) const
inline

global tag

Definition at line 80 of file HLTConfigProvider.h.

References HLTConfigData::globalTag(), and hltConfigData_.

80  {
81  return hltConfigData_->globalTag();
82  }
const HLTConfigData * hltConfigData_
const std::string & globalTag() const
GlobalTag.globaltag.
const std::vector<std::vector<std::pair<bool,std::string> > >& HLTConfigProvider::hltL1GTSeeds ( ) const
inline

HLTLevel1GTSeed module HLTLevel1GTSeed modules for all trigger paths

Definition at line 169 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1GTSeeds().

Referenced by L1GtTriggerMenuTester::associateL1SeedsHltPath(), prescaleValues(), PrescaleWeightProvider::prescaleWeight(), and pat::PATTriggerProducer::produce().

169  {
170  return hltConfigData_->hltL1GTSeeds();
171  }
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
const HLTConfigData * hltConfigData_
const std::vector<std::pair<bool,std::string> >& HLTConfigProvider::hltL1GTSeeds ( const std::string &  trigger) const
inline

HLTLevel1GTSeed modules for trigger path with name.

Definition at line 173 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1GTSeeds().

173  {
174  return hltConfigData_->hltL1GTSeeds(trigger);
175  }
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
const HLTConfigData * hltConfigData_
const std::vector<std::pair<bool,std::string> >& HLTConfigProvider::hltL1GTSeeds ( unsigned int  trigger) const
inline

HLTLevel1GTSeed modules for trigger path with index i.

Definition at line 177 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1GTSeeds().

177  {
178  return hltConfigData_->hltL1GTSeeds(trigger);
179  }
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
const HLTConfigData * hltConfigData_
bool HLTConfigProvider::init ( const edm::Run iRun,
const edm::EventSetup iSetup,
const std::string &  processName,
bool &  changed 
)

d'tor

Run-dependent initialisation (non-const method) "init" return value indicates whether intitialisation has succeeded "changed" parameter indicates whether the config has actually changed

L1 GTA V3: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideL1TriggerL1GtUtils#Version_3

Definition at line 67 of file HLTConfigProvider.cc.

References changed_, edm::RunBase::id(), inited_, l1GtUtils_, edm::Run::processHistory(), processName(), processName_, useL1EventSetup(), and useL1GtTriggerMenuLite().

Referenced by L1GtTriggerMenuTester::associateL1SeedsHltPath(), EwkElecDQM::beginRun(), EwkMuDQM::beginRun(), HLTEventAnalyzerRAW::beginRun(), HLTEventAnalyzerAOD::beginRun(), CandidateTriggerObjectProducer::beginRun(), HLTMonBTagIPSource::beginRun(), HLTMonBTagMuSource::beginRun(), EwkMuLumiMonitorDQM::beginRun(), TopElectronHLTOfflineSource::beginRun(), PixelVTXMonitor::beginRun(), HLTMonBitSummary::beginRun(), LumiCalculator::beginRun(), HLTrigReport::beginRun(), HLTJetMETDQMSource::beginRun(), pat::PATTriggerEventProducer::beginRun(), HLTMuonOfflineAnalyzer::beginRun(), EmDQMFeeder::beginRun(), HeavyFlavorValidation::beginRun(), GeneralHLTOffline::beginRun(), HLTInclusiveVBFSource::beginRun(), QcdUeDQM::beginRun(), pat::PATTriggerProducer::beginRun(), HLTMuonValidator::beginRun(), TriggerValidator::beginRun(), BTagHLTOfflineSource::beginRun(), HLTHiggsSubAnalysis::beginRun(), HLTJetMETValidation::beginRun(), JetMETHLTOfflineSource::beginRun(), HLTInfo::beginRun(), EmDQMReco::beginRun(), HLTOfflineReproducibility::beginRun(), EgHLTOfflineSummaryClient::beginRun(), EgHLTOfflineClient::beginRun(), HLTScalers::beginRun(), FourVectorHLTOnline::beginRun(), QcdLowPtDQM::beginRun(), EgHLTOfflineSource::beginRun(), TrigResRateMon::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), TrackerDpgAnalysis::beginRun(), HLTOniaSource::checkHLTConfiguration(), MuScleFit::duringLoop(), init(), PrescaleWeightProvider::initRun(), TriggerHelper::initRun(), GenericTriggerEventFlag::initRun(), and DQMProvInfo::makeHLTKeyInfo().

70  {
71 
72  using namespace std;
73  using namespace edm;
74 
75  LogInfo("HLTConfigData") << "Called (R) with processName '"
76  << processName
77  << "' for " << iRun.id() << endl;
78 
80 
82  l1GtUtils_->getL1GtRunCache(iRun,iSetup,useL1EventSetup,useL1GtTriggerMenuLite);
83 
86  return inited_;
87 
88 }
RunID const & id() const
Definition: RunBase.h:41
std::string processName_
data members
bool changed() const
changed?
boost::shared_ptr< L1GtUtils > l1GtUtils_
ProcessHistory const & processHistory() const
Definition: Run.cc:99
static const bool useL1GtTriggerMenuLite(false)
const std::string & processName() const
process name
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
static const bool useL1EventSetup(true)
void HLTConfigProvider::init ( const edm::ProcessHistory iHistory,
const std::string &  processName 
)
private

Check uniqueness (uniqueness should [soon] be enforced by Fw)

Definition at line 90 of file HLTConfigProvider.cc.

References edm::ProcessHistory::begin(), changed_, clear(), edm::ProcessHistory::end(), edm::ParameterSet::exists(), edm::ProcessHistory::getConfigurationForProcess(), getDataFrom(), edm::detail::ThreadSafeRegistry< KEY, T, E >::getMapped(), hltConfigData_, HLTConfigData::id(), init(), inited_, edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), n, processName(), processName_, processPSet(), and s_dummyHLTConfigData().

90  {
91 
92  using namespace std;
93  using namespace edm;
94 
95  const ProcessHistory::const_iterator hb(iHistory.begin());
96  const ProcessHistory::const_iterator he(iHistory.end());
97 
98  ProcessConfiguration processConfiguration;
100 
102  if (processName_=="*") {
103  // auto-discovery of process name
104  for (ProcessHistory::const_iterator hi=hb; hi!=he; ++hi) {
105  if (iHistory.getConfigurationForProcess(hi->processName(),processConfiguration)) {
106  processPSet = edm::pset::Registry::instance()->getMapped(processConfiguration.parameterSetID());
107  if ((processPSet!=0) && (processPSet->exists("hltTriggerSummaryAOD"))) {
108  processName_=hi->processName();
109  }
110  }
111  }
112  LogInfo("HLTConfigData") << "Auto-discovered processName: '"
113  << processName_ << "'"
114  << endl;
115  }
116  if (processName_=="*") {
117  clear();
118  LogError("HLTConfigData") << "Auto-discovery of processName failed!"
119  << endl;
120  return;
121  }
122 
124  unsigned int n(0);
125  for (ProcessHistory::const_iterator hi=hb; hi!=he; ++hi) {
126  if (hi->processName()==processName_) {n++;}
127  }
128  if (n>1) {
129  clear();
130  LogError("HLTConfigProvider") << " ProcessName '"<< processName_
131  << " found " << n
132  << " times in history!" << endl;
133  return;
134  }
135 
137  if (iHistory.getConfigurationForProcess(processName_,processConfiguration)) {
138  if ((hltConfigData_ !=s_dummyHLTConfigData()) && (processConfiguration.parameterSetID() == hltConfigData_->id())) {
139  changed_ = false;
140  inited_ = true;
141  return;
142  } else {
143  getDataFrom(processConfiguration.parameterSetID());
144  }
145  } else {
146  LogError("HLTConfigProvider") << "Falling back to processName-only init!";
147  clear();
149  if (!inited_) {
150  LogError("HLTConfigProvider") << "ProcessName not found in history!";
151  }
152  return;
153  }
154 }
collection_type::const_iterator const_iterator
const_iterator begin() const
void getDataFrom(const edm::ParameterSetID &iID)
static ThreadSafeRegistry * instance()
bool exists(std::string const &parameterName) const
checks if a parameter exists
bool getMapped(key_type const &k, value_type &result) const
static const HLTConfigData * s_dummyHLTConfigData()
std::string processName_
data members
const HLTConfigData * hltConfigData_
bool getConfigurationForProcess(std::string const &name, ProcessConfiguration &config) const
const edm::ParameterSet & processPSet() const
ParameterSet of process.
const std::string & processName() const
process name
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
const_iterator end() const
edm::ParameterSetID id() const
technical: id() function needed for use with ThreadSafeRegistry
void HLTConfigProvider::init ( const std::string &  processName)
private

Definition at line 195 of file HLTConfigProvider.cc.

References edm::detail::ThreadSafeRegistry< KEY, T, E >::begin(), clear(), edm::detail::ThreadSafeRegistry< KEY, T, E >::end(), getDataFrom(), edm::detail::ThreadSafeRegistry< KEY, T, E >::getMapped(), edm::ParameterSet::getParameter(), hltConfigData_, i, HLTConfigData::id(), instance, s_dummyHLTConfigData(), and tableName().

196 {
197  using namespace std;
198  using namespace edm;
199 
200  // Obtain ParameterSetID for requested process (with name
201  // processName) from pset registry
202  string pNames("");
203  string hNames("");
204  const ParameterSet* pset = 0;
205  ParameterSetID psetID;
206  unsigned int nPSets(0);
207  const edm::pset::Registry * registry_(pset::Registry::instance());
208  const edm::pset::Registry::const_iterator rb(registry_->begin());
209  const edm::pset::Registry::const_iterator re(registry_->end());
210  for (edm::pset::Registry::const_iterator i = rb; i != re; ++i) {
211  if (i->second.exists("@process_name")) {
212  const std::string pName(i->second.getParameter<string>("@process_name"));
213  pNames += pName+" ";
214  if ( pName == processName ) {
215  psetID = i->first;
216  nPSets++;
217  if ((hltConfigData_ != s_dummyHLTConfigData()) && (hltConfigData_->id()==psetID)) {
218  hNames += tableName();
219  } else if ( 0 != (pset = registry_->getMapped(psetID))) {
220  if (pset->exists("HLTConfigVersion")) {
221  const ParameterSet& HLTPSet(pset->getParameterSet("HLTConfigVersion"));
222  if (HLTPSet.exists("tableName")) {
223  hNames += HLTPSet.getParameter<string>("tableName")+" ";
224  }
225  }
226  }
227  }
228  }
229  }
230 
231  LogVerbatim("HLTConfigProvider") << "Unordered list of all process names found: "
232  << pNames << "." << endl;
233 
234  LogVerbatim("HLTConfigProvider") << "HLT TableName of each selected process: "
235  << hNames << "." << endl;
236 
237  if (nPSets==0) {
238  clear();
239  LogError("HLTConfigProvider") << " Process name '"
240  << processName
241  << "' not found in registry!" << endl;
242  return;
243  }
244  if (psetID==ParameterSetID()) {
245  clear();
246  LogError("HLTConfigProvider") << " Process name '"
247  << processName
248  << "' found but ParameterSetID invalid!"
249  << endl;
250  return;
251  }
252  if (nPSets>1) {
253  clear();
254  LogError("HLTConfigProvider") << " Process name '"
255  << processName
256  << " found " << nPSets
257  << " times in registry!" << endl;
258  return;
259  }
260 
261  getDataFrom(psetID);
262 
263  return;
264 
265 }
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
static PFTauRenderPlugin instance
void getDataFrom(const edm::ParameterSetID &iID)
static const HLTConfigData * s_dummyHLTConfigData()
const std::string & tableName() const
HLT ConfDB table name.
const HLTConfigData * hltConfigData_
collection_type::const_iterator const_iterator
Hash< ParameterSetType > ParameterSetID
const std::string & processName() const
process name
edm::ParameterSetID id() const
technical: id() function needed for use with ThreadSafeRegistry
bool HLTConfigProvider::inited ( ) const
inline

Accessors (const methods)

initialised?

Definition at line 66 of file HLTConfigProvider.h.

References inited_.

Referenced by HLTTauDQMAutomation::AutoCompleteConfig(), HLTTauDQMAutomation::AutoCompleteMatching(), EmDQMFeeder::beginRun(), and HLTTauDQMFilter::interestingModules().

66  {
67  return inited_;
68  }
const std::vector< std::string > HLTConfigProvider::matched ( const std::vector< std::string > &  inputs,
const std::string &  pattern 
)
static

regexp processing

Definition at line 360 of file HLTConfigProvider.cc.

References edm::glob2reg(), i, LaserDQM_cfg::input, and n.

Referenced by GenericTriggerEventFlag::expandLogicalExpression(), and restoreVersion().

360  {
361  std::vector<std::string> matched;
362  const boost::regex regexp(edm::glob2reg(pattern));
363  const unsigned int n(inputs.size());
364  for (unsigned int i=0; i<n; ++i) {
365  const std::string& input(inputs[i]);
366  if (boost::regex_match(input,regexp)) matched.push_back(input);
367  }
368  return matched;
369 }
int i
Definition: DBlmapReader.cc:9
static const std::vector< std::string > matched(const std::vector< std::string > &inputs, const std::string &pattern)
regexp processing
std::string glob2reg(std::string const &pattern)
Definition: RegexMatch.cc:22
const std::string HLTConfigProvider::moduleEDMType ( const std::string &  module) const
inline

C++ base class name of module.

Definition at line 148 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleEDMType().

Referenced by FourVectorHLTOnline::beginRun(), FourVectorHLTOffline::beginRun(), EmDQMFeeder::getFilterModules(), and pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init().

148  {
150  }
const HLTConfigData * hltConfigData_
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
Definition: vlib.h:209
unsigned int HLTConfigProvider::moduleIndex ( unsigned int  trigger,
const std::string &  module 
) const
inline

slot position of module on trigger path (0 to size-1)

Definition at line 135 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleIndex().

Referenced by HLTOfflineReproducibility::analyze(), HLTMonBTagMuSource::beginRun(), HLTMonBTagIPSource::beginRun(), HLTMonBitSummary::beginRun(), FourVectorHLTOnline::beginRun(), FourVectorHLTOffline::beginRun(), FourVectorHLTOnline::hasL1Passed(), and pat::PATTriggerProducer::produce().

135  {
136  return hltConfigData_->moduleIndex(trigger,module);
137  }
const HLTConfigData * hltConfigData_
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 - size-1)
Definition: vlib.h:209
unsigned int HLTConfigProvider::moduleIndex ( const std::string &  trigger,
const std::string &  module 
) const
inline

Definition at line 138 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleIndex().

138  {
139  return hltConfigData_->moduleIndex(trigger,module);
140  }
const HLTConfigData * hltConfigData_
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 - size-1)
Definition: vlib.h:209
const std::string& HLTConfigProvider::moduleLabel ( unsigned int  trigger,
unsigned int  module 
) const
inline

Definition at line 127 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabel().

Referenced by HLTOfflineReproducibility::beginRun(), EmDQMFeeder::getFilterModules(), and pat::PATTriggerProducer::produce().

127  {
128  return hltConfigData_->moduleLabel(trigger,module);
129  }
const HLTConfigData * hltConfigData_
const std::string & moduleLabel(unsigned int trigger, unsigned int module) const
Definition: vlib.h:209
const std::string& HLTConfigProvider::moduleLabel ( const std::string &  trigger,
unsigned int  module 
) const
inline

Definition at line 130 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabel().

130  {
131  return hltConfigData_->moduleLabel(trigger,module);
132  }
const HLTConfigData * hltConfigData_
const std::string & moduleLabel(unsigned int trigger, unsigned int module) const
Definition: vlib.h:209
const std::vector<std::string>& HLTConfigProvider::moduleLabels ( unsigned int  trigger) const
inline

label(s) of module(s) on a trigger path

Definition at line 115 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabels().

Referenced by EwkMuLumiMonitorDQM::analyze(), HLTJetMETDQMSource::analyze(), GeneralHLTOffline::analyze(), FourVectorHLTOnline::analyze(), FourVectorHLTriggerOffline::analyze(), FourVectorHLTOffline::analyze(), HLTEventAnalyzerRAW::analyzeTrigger(), HLTEventAnalyzerAOD::analyzeTrigger(), HLTMonBitSummary::beginRun(), LumiCalculator::beginRun(), HLTJetMETDQMSource::beginRun(), HeavyFlavorValidation::beginRun(), HLTInclusiveVBFSource::beginRun(), BTagHLTOfflineSource::beginRun(), JetMETHLTOfflineSource::beginRun(), HLTOfflineReproducibility::beginRun(), FourVectorHLTOnline::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), HLTOniaSource::checkHLTConfiguration(), JetMETHLTOfflineSource::getL1ConditionModuleName(), FourVectorHLTOnline::getL1ConditionModuleName(), TrigResRateMon::getL1ConditionModuleName(), FourVectorHLTOffline::getL1ConditionModuleName(), egHLT::trigTools::getL1SeedFilterOfPath(), pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init(), HLTTauDQMFilter::interestingModules(), HLTMuonValidator::moduleLabels(), HLTMuonOfflineAnalyzer::moduleLabels(), HLTrigReport::reset(), and egHLT::trigTools::translateFiltersToPathNames().

115  {
116  return hltConfigData_->moduleLabels(trigger);
117  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
const std::vector<std::string>& HLTConfigProvider::moduleLabels ( const std::string &  trigger) const
inline

Definition at line 118 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabels().

118  {
119  return hltConfigData_->moduleLabels(trigger);
120  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
const edm::ParameterSet& HLTConfigProvider::modulePSet ( const std::string &  module) const
inline
const std::string HLTConfigProvider::moduleType ( const std::string &  module) const
inline

C++ class name of module.

Definition at line 143 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleType().

Referenced by GeneralHLTOffline::analyze(), HLTOfflineReproducibility::analyze(), HLTEventAnalyzerAOD::analyzeTrigger(), HLTEventAnalyzerRAW::analyzeTrigger(), HLTTauDQMAutomation::AutoCompleteMatching(), HLTMonBitSummary::beginRun(), LumiCalculator::beginRun(), HLTJetMETDQMSource::beginRun(), HLTInclusiveVBFSource::beginRun(), BTagHLTOfflineSource::beginRun(), JetMETHLTOfflineSource::beginRun(), HLTOfflineReproducibility::beginRun(), FourVectorHLTOnline::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), EmDQMFeeder::getFilterModules(), JetMETHLTOfflineSource::getL1ConditionModuleName(), FourVectorHLTOnline::getL1ConditionModuleName(), TrigResRateMon::getL1ConditionModuleName(), FourVectorHLTOffline::getL1ConditionModuleName(), HLTTauDQMFilter::getPSets(), pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init(), HLTTauDQMFilter::interestingModules(), EmDQMFeeder::makePSetForEgammaGenericFilter(), EmDQMFeeder::makePSetForEgammaGenericQuadraticFilter(), EmDQMFeeder::makePSetForElectronGenericFilter(), CandidateTriggerObjectProducer::produce(), pat::PATTriggerProducer::produce(), and HLTrigReport::reset().

143  {
145  }
const HLTConfigData * hltConfigData_
const std::string moduleType(const std::string &module) const
C++ class name of module.
Definition: vlib.h:209
const std::vector<std::string>& HLTConfigProvider::prescaleLabels ( ) const
inline

low-level data member access

Definition at line 260 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleLabels().

Referenced by pat::PATTriggerProducer::produce().

260  {
261  return hltConfigData_->prescaleLabels();
262  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & prescaleLabels() const
low-level data member access
int HLTConfigProvider::prescaleSet ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) const

HLT prescale values via (L1) EventSetup current (default) prescale set index - to be taken from L1GtUtil via Event

error - notify user!

Definition at line 281 of file HLTConfigProvider.cc.

References L1GtUtils::AlgorithmTrigger, l1GtUtils_, L1GtUtils::TechnicalTrigger, useL1EventSetup(), and useL1GtTriggerMenuLite().

Referenced by prescaleValue(), prescaleValues(), and pat::PATTriggerProducer::produce().

281  {
282  // return hltPrescaleTable_.set();
283  l1GtUtils_->getL1GtRunCache(iEvent,iSetup,useL1EventSetup,useL1GtTriggerMenuLite);
284  int errorTech(0);
285  const int psfsiTech(l1GtUtils_->prescaleFactorSetIndex(iEvent,L1GtUtils::TechnicalTrigger,errorTech));
286  int errorPhys(0);
287  const int psfsiPhys(l1GtUtils_->prescaleFactorSetIndex(iEvent,L1GtUtils::AlgorithmTrigger,errorPhys));
288  assert(psfsiTech==psfsiPhys);
289  if ( (errorTech==0) && (errorPhys==0) &&
290  (psfsiTech>=0) && (psfsiPhys>=0) && (psfsiTech==psfsiPhys) ) {
291  return psfsiPhys;
292  } else {
294  edm::LogError("HLTConfigData")
295  << " Error in determining HLT prescale set index from L1 data using L1GtUtils: "
296  << " Tech/Phys error = " << errorTech << "/" << errorPhys
297  << " Tech/Phys psfsi = " << psfsiTech << "/" << psfsiPhys;
298  return -1;
299  }
300 }
boost::shared_ptr< L1GtUtils > l1GtUtils_
static const bool useL1GtTriggerMenuLite(false)
static const bool useL1EventSetup(true)
unsigned int HLTConfigProvider::prescaleSize ( ) const
inline

HLT prescale info Number of HLT prescale sets

Definition at line 238 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleSize().

Referenced by EwkElecDQM::analyze(), EwkMuDQM::analyze(), EwkMuLumiMonitorDQM::analyze(), and pat::PATTriggerProducer::produce().

238  {
239  return hltConfigData_->prescaleSize();
240  }
const HLTConfigData * hltConfigData_
unsigned int prescaleSize() const
const std::map<std::string,std::vector<unsigned int> >& HLTConfigProvider::prescaleTable ( ) const
inline

Definition at line 263 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleTable().

Referenced by pat::PATTriggerProducer::produce().

263  {
264  return hltConfigData_->prescaleTable();
265  }
const HLTConfigData * hltConfigData_
const std::map< std::string, std::vector< unsigned int > > & prescaleTable() const
unsigned int HLTConfigProvider::prescaleValue ( unsigned int  set,
const std::string &  trigger 
) const
inline

HLT prescale value in specific prescale set for a specific trigger path.

Definition at line 242 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleValue().

Referenced by EwkElecDQM::analyze(), EwkMuDQM::analyze(), EwkMuLumiMonitorDQM::analyze(), HLTInfo::analyze(), HLTTauDQMAutomation::AutoCompleteConfig(), HLTTauDQMAutomation::AutoCompleteMatching(), prescaleValue(), prescaleValues(), PrescaleWeightProvider::prescaleWeight(), and pat::PATTriggerProducer::produce().

242  {
243  return hltConfigData_->prescaleValue(set,trigger);
244  }
unsigned int prescaleValue(unsigned int set, const std::string &trigger) const
HLT prescale value in specific prescale set for a specific trigger path.
const HLTConfigData * hltConfigData_
void set(const std::string &name, int value)
set the flag, with a run-time name
unsigned int HLTConfigProvider::prescaleValue ( const edm::Event iEvent,
const edm::EventSetup iSetup,
const std::string &  trigger 
) const

combining the two methods above

Definition at line 302 of file HLTConfigProvider.cc.

References prescaleSet(), prescaleValue(), and runtimedef::set().

302  {
303  const int set(prescaleSet(iEvent,iSetup));
304  if (set<0) {
305  return 1;
306  } else {
307  return prescaleValue(static_cast<unsigned int>(set),trigger);
308  }
309 }
unsigned int prescaleValue(unsigned int set, const std::string &trigger) const
HLT prescale value in specific prescale set for a specific trigger path.
int prescaleSet(const edm::Event &iEvent, const edm::EventSetup &iSetup) const
void set(const std::string &name, int value)
set the flag, with a run-time name
std::pair< int, int > HLTConfigProvider::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.

error - can't handle properly multiple L1GTSeed modules

Definition at line 311 of file HLTConfigProvider.cc.

References asciidump::at, dump(), hltL1GTSeeds(), i, l1GtUtils_, prescaleSet(), prescaleValue(), query::result, edm::second(), runtimedef::set(), size(), useL1EventSetup(), and useL1GtTriggerMenuLite().

Referenced by HLTEventAnalyzerAOD::analyzeTrigger(), TrigResRateMon::fillCountsPerPath(), TrigResRateMon::fillHltMatrix(), and CandidateTriggerObjectProducer::produce().

311  {
312 
313  // start with setting both L1T and HLT prescale values to 0
314  std::pair<int,int> result(std::pair<int,int>(0,0));
315 
316  // get HLT prescale (possible if HLT prescale set index is correctly found)
317  const int set(prescaleSet(iEvent,iSetup));
318  if (set<0) {
319  result.second = -1;
320  } else {
321  result.second = static_cast<int>(prescaleValue(static_cast<unsigned int>(set),trigger));
322  }
323 
324  // get L1T prescale - works only for those hlt trigger paths with
325  // exactly one L1GT seed module which has exactly one L1T name as seed
326  const unsigned int nL1GTSeedModules(hltL1GTSeeds(trigger).size());
327  if (nL1GTSeedModules==0) {
328  // no L1 seed module on path hence no L1 seed hence formally no L1 prescale
329  result.first=1;
330  } else if (nL1GTSeedModules==1) {
331  l1GtUtils_->getL1GtRunCache(iEvent,iSetup,useL1EventSetup,useL1GtTriggerMenuLite);
332  const std::string l1tname(hltL1GTSeeds(trigger).at(0).second);
333  int l1error(0);
334  result.first = l1GtUtils_->prescaleFactor(iEvent,l1tname,l1error);
335  if (l1error!=0) {
336  edm::LogError("HLTConfigData")
337  << " Error in determining L1T prescale for HLT path: '" << trigger
338  << "' with L1T seed: '" << l1tname
339  << "' using L1GtUtils: error code: " << l1error
340  << ". (Note: only a single L1T name, not a bit number, is allowed as seed for a proper determination of the L1T prescale!)";
341  result.first = -1;
342  }
343  } else {
345  std::string dump("'"+hltL1GTSeeds(trigger).at(0).second+"'");
346  for (unsigned int i=1; i!=nL1GTSeedModules; ++i) {
347  dump += " * '"+hltL1GTSeeds(trigger).at(i).second+"'";
348  }
349  edm::LogError("HLTConfigData")
350  << " Error in determining L1T prescale for HLT path: '" << trigger
351  << "' has multiple L1GTSeed modules, " << nL1GTSeedModules
352  << ", with L1 seeds: " << dump
353  << ". (Note: at most one L1GTSeed module is allowed for a proper determination of the L1T prescale!)";
354  result.first = -1;
355  }
356 
357  return result;
358 }
unsigned int size() const
number of trigger paths in trigger table
void dump(const std::string &what) const
Dumping config info to cout.
int i
Definition: DBlmapReader.cc:9
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
U second(std::pair< T, U > const &p)
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.
tuple result
Definition: query.py:137
static const bool useL1GtTriggerMenuLite(false)
int prescaleSet(const edm::Event &iEvent, const edm::EventSetup &iSetup) const
static const bool useL1EventSetup(true)
list at
Definition: asciidump.py:428
void set(const std::string &name, int value)
set the flag, with a run-time name
const std::string& HLTConfigProvider::processName ( ) const
inline

process name

Definition at line 75 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::processName().

Referenced by GeneralHLTOffline::beginRun(), EmDQMFeeder::beginRun(), and init().

75  {
76  return hltConfigData_->processName();
77  }
const HLTConfigData * hltConfigData_
const std::string & processName() const
Accessors (const methods)
const edm::ParameterSet& HLTConfigProvider::processPSet ( ) const
inline

ParameterSet of process.

Definition at line 153 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::processPSet().

Referenced by getDataFrom(), and init().

153  {
154  return hltConfigData_->processPSet();
155  }
const HLTConfigData * hltConfigData_
const edm::ParameterSet & processPSet() const
ParameterSet of process.
const std::string HLTConfigProvider::removeVersion ( const std::string &  trigger)
static

Definition at line 371 of file HLTConfigProvider.cc.

Referenced by GeneralHLTOffline::beginRun(), EmDQMFeeder::beginRun(), JetMETHLTOfflineSource::beginRun(), GeneralHLTOffline::fillHltMatrix(), and GeneralHLTOffline::setupHltMatrix().

371  {
372  const boost::regex regexp("_v[0-9]+$");
373  return boost::regex_replace(trigger,regexp,"");
374 }
const std::vector< std::string > HLTConfigProvider::restoreVersion ( const std::vector< std::string > &  inputs,
const std::string &  trigger 
)
static

Definition at line 376 of file HLTConfigProvider.cc.

References matched().

Referenced by GenericTriggerEventFlag::expandLogicalExpression().

376  {
377  return matched(inputs,trigger+"_v[0-9]+$");
378 }
static const std::vector< std::string > matched(const std::vector< std::string > &inputs, const std::string &pattern)
regexp processing
bool HLTConfigProvider::saveTags ( const std::string &  module) const
inline

Is module an L3 filter (ie, tracked saveTags=true)

Definition at line 163 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::saveTags().

Referenced by GeneralHLTOffline::analyze(), pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init(), EmDQMFeeder::makePSetForEgammaGenericFilter(), EmDQMFeeder::makePSetForEgammaGenericQuadraticFilter(), and pat::PATTriggerProducer::produce().

163  {
164  return hltConfigData_->saveTags(module);
165  }
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
const HLTConfigData * hltConfigData_
Definition: vlib.h:209
const std::vector<std::string>& HLTConfigProvider::saveTagsModules ( unsigned int  trigger) const
inline

Definition at line 121 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::saveTagsModules().

Referenced by egHLT::trigTools::getActiveFilters(), CandidateTriggerObjectProducer::produce(), and pat::PATTriggerProducer::produce().

121  {
122  return hltConfigData_->saveTagsModules(trigger);
123  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & saveTagsModules(unsigned int trigger) const
const std::vector<std::string>& HLTConfigProvider::saveTagsModules ( const std::string &  trigger) const
inline

Definition at line 124 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::saveTagsModules().

124  {
125  return hltConfigData_->saveTagsModules(trigger);
126  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & saveTagsModules(unsigned int trigger) const
unsigned int HLTConfigProvider::size ( void  ) const
inline

number of trigger paths in trigger table

Definition at line 90 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::size().

Referenced by TriggerHelper::acceptHltLogicalExpression(), GenericTriggerEventFlag::acceptHltLogicalExpression(), HLTEventAnalyzerAOD::analyze(), HLTEventAnalyzerRAW::analyze(), HLTEventAnalyzerAOD::analyzeTrigger(), HLTEventAnalyzerRAW::analyzeTrigger(), L1GtTriggerMenuTester::associateL1SeedsHltPath(), HLTEventAnalyzerAOD::beginRun(), HLTEventAnalyzerRAW::beginRun(), HLTMonBTagIPSource::beginRun(), HLTMonBTagMuSource::beginRun(), LumiCalculator::beginRun(), HLTJetMETDQMSource::beginRun(), pat::PATTriggerEventProducer::beginRun(), EmDQMFeeder::beginRun(), GeneralHLTOffline::beginRun(), HLTInclusiveVBFSource::beginRun(), QcdUeDQM::beginRun(), pat::PATTriggerProducer::beginRun(), TriggerValidator::beginRun(), BTagHLTOfflineSource::beginRun(), JetMETHLTOfflineSource::beginRun(), HLTOfflineReproducibility::beginRun(), FourVectorHLTOnline::beginRun(), QcdLowPtDQM::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), TrigResRateMon::bookCountsPerPath(), TrigResRateMon::fillCountsPerPath(), JetMETHLTOfflineSource::fillMEforEffWrtMBTrigger(), JetMETHLTOfflineSource::fillMEforEffWrtMuTrigger(), JetMETHLTOfflineSource::fillMEforMonAllTriggerwrtMuonTrigger(), JetMETHLTOfflineSource::fillMEforMonTriggerSummary(), TrigResRateMon::filltestHisto(), EmDQMFeeder::findEgammaPaths(), TrigResRateMon::findReferenceTriggerIndex(), egHLT::trigTools::getActiveFilters(), EmDQMFeeder::getFilterModules(), PrescaleWeightProvider::initRun(), TriggerHelper::initRun(), GenericTriggerEventFlag::initRun(), DQMProvInfo::makeHLTKeyInfo(), prescaleValues(), PrescaleWeightProvider::prescaleWeight(), TrigResRateMon::printCountsPerPathThisLumi(), CandidateTriggerObjectProducer::produce(), pat::PATTriggerProducer::produce(), egHLT::trigTools::translateFiltersToPathNames(), HLTInclusiveVBFSource::validPathHLT(), BTagHLTOfflineSource::validPathHLT(), and JetMETHLTOfflineSource::validPathHLT().

90  {
91  return hltConfigData_->size();
92  }
unsigned int size() const
number of trigger paths in trigger table
const HLTConfigData * hltConfigData_
unsigned int HLTConfigProvider::size ( unsigned int  trigger) const
inline

number of modules on a specific trigger path

Definition at line 94 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::size().

94  {
95  return hltConfigData_->size(trigger);
96  }
unsigned int size() const
number of trigger paths in trigger table
const HLTConfigData * hltConfigData_
unsigned int HLTConfigProvider::size ( const std::string &  trigger) const
inline

Definition at line 97 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::size().

97  {
98  return hltConfigData_->size(trigger);
99  }
unsigned int size() const
number of trigger paths in trigger table
const HLTConfigData * hltConfigData_
const std::vector<std::string>& HLTConfigProvider::streamContent ( unsigned int  stream) const
inline

names of datasets in stream with index i

Definition at line 200 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamContent().

Referenced by GeneralHLTOffline::analyze(), GeneralHLTOffline::beginRun(), HLTScalers::beginRun(), TrigResRateMon::beginRun(), TrigResRateMon::fillHltMatrix(), and TrigResRateMon::normalizeHLTMatrix().

200  {
201  return hltConfigData_->streamContent(stream);
202  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & streamContent(unsigned int stream) const
names of datasets in stream with index i
const std::vector<std::string>& HLTConfigProvider::streamContent ( const std::string &  stream) const
inline

names of datasets in stream with name

Definition at line 204 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamContent().

204  {
205  return hltConfigData_->streamContent(stream);
206  }
const HLTConfigData * hltConfigData_
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> >& HLTConfigProvider::streamContents ( ) const
inline

names of datasets for all streams

Definition at line 196 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamContents().

Referenced by HLTrigReport::reset().

196  {
197  return hltConfigData_->streamContents();
198  }
const HLTConfigData * hltConfigData_
const std::vector< std::vector< std::string > > & streamContents() const
names of datasets for all streams
unsigned int HLTConfigProvider::streamIndex ( const std::string &  stream) const
inline

index of stream with name

Definition at line 192 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamIndex().

Referenced by HLTScalers::beginRun().

192  {
193  return hltConfigData_->streamIndex(stream);
194  }
const HLTConfigData * hltConfigData_
unsigned int streamIndex(const std::string &stream) const
index of stream with name
const std::string& HLTConfigProvider::streamName ( unsigned int  stream) const
inline

name of stream with index i

Definition at line 188 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamName().

188  {
189  return hltConfigData_->streamName(stream);
190  }
const std::string & streamName(unsigned int stream) const
name of stream with index i
const HLTConfigData * hltConfigData_
const std::vector<std::string>& HLTConfigProvider::streamNames ( ) const
inline

Streams list of names of all streams

Definition at line 184 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamNames().

Referenced by GeneralHLTOffline::beginRun(), HLTScalers::beginRun(), and HLTrigReport::reset().

184  {
185  return hltConfigData_->streamNames();
186  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & streamNames() const
Streams.
const std::string& HLTConfigProvider::tableName ( ) const
inline

HLT ConfDB table name.

Definition at line 85 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::tableName().

Referenced by L1GtTriggerMenuTester::associateL1SeedsHltPath(), LumiCalculator::beginRun(), GeneralHLTOffline::beginRun(), EmDQMFeeder::beginRun(), init(), DQMProvInfo::makeHLTKeyInfo(), and pat::PATTriggerEventProducer::produce().

85  {
86  return hltConfigData_->tableName();
87  }
const HLTConfigData * hltConfigData_
const std::string & tableName() const
HLT ConfDB table name.
unsigned int HLTConfigProvider::triggerIndex ( const std::string &  triggerName) const
inline
const std::string& HLTConfigProvider::triggerName ( unsigned int  triggerIndex) const
inline

Definition at line 105 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::triggerName().

Referenced by HLTEventAnalyzerAOD::analyze(), HLTEventAnalyzerRAW::analyze(), L1GtTriggerMenuTester::associateL1SeedsHltPath(), LumiCalculator::beginRun(), HLTJetMETDQMSource::beginRun(), HLTInclusiveVBFSource::beginRun(), QcdUeDQM::beginRun(), BTagHLTOfflineSource::beginRun(), JetMETHLTOfflineSource::beginRun(), FourVectorHLTOnline::beginRun(), QcdLowPtDQM::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), TrigResRateMon::fillCountsPerPath(), JetMETHLTOfflineSource::fillMEforEffWrtMBTrigger(), JetMETHLTOfflineSource::fillMEforEffWrtMuTrigger(), JetMETHLTOfflineSource::fillMEforMonAllTriggerwrtMuonTrigger(), JetMETHLTOfflineSource::fillMEforMonTriggerSummary(), TrigResRateMon::filltestHisto(), EmDQMFeeder::findEgammaPaths(), TrigResRateMon::findReferenceTriggerIndex(), egHLT::trigTools::getActiveFilters(), TrigResRateMon::printCountsPerPathThisLumi(), egHLT::trigTools::translateFiltersToPathNames(), HLTInclusiveVBFSource::validPathHLT(), BTagHLTOfflineSource::validPathHLT(), and JetMETHLTOfflineSource::validPathHLT().

105  {
107  }
const HLTConfigData * hltConfigData_
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
const std::string & triggerName(unsigned int triggerIndex) const
const std::vector<std::string>& HLTConfigProvider::triggerNames ( ) const
inline

Member Data Documentation

bool HLTConfigProvider::changed_
private

Definition at line 282 of file HLTConfigProvider.h.

Referenced by changed(), clear(), getDataFrom(), and init().

const HLTConfigData* HLTConfigProvider::hltConfigData_
private
bool HLTConfigProvider::inited_
private

Definition at line 281 of file HLTConfigProvider.h.

Referenced by clear(), getDataFrom(), init(), and inited().

boost::shared_ptr<L1GtUtils> HLTConfigProvider::l1GtUtils_
private

Definition at line 284 of file HLTConfigProvider.h.

Referenced by clear(), init(), prescaleSet(), and prescaleValues().

std::string HLTConfigProvider::processName_
private

data members

Definition at line 280 of file HLTConfigProvider.h.

Referenced by clear(), and init().

HLTConfigCounterSentry HLTConfigProvider::sentry_
private

Definition at line 43 of file HLTConfigProvider.h.