CMS 3D CMS Logo

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

#include <HLTConfigProvider.h>

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...
 
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 & 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...
 

Detailed Description

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

Author
Martin Grunewald

See header file for documentation

Author
Martin Grunewald

Definition at line 32 of file HLTConfigProvider.h.

Constructor & Destructor Documentation

HLTConfigProvider::HLTConfigProvider ( )

c'tor

Definition at line 33 of file HLTConfigProvider.cc.

33  :
34  processName_(""),
35  inited_(false),
36  changed_(true),
38  l1GtUtils_(new L1GtUtils())
39 {
40 }
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 60 of file HLTConfigProvider.h.

References changed_.

Referenced by EmDQM::dqmBeginRun().

60  {
61  return changed_;
62  }
void HLTConfigProvider::clear ( void  )
private

Definition at line 242 of file HLTConfigProvider.cc.

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

Referenced by getDataFrom(), and init().

243 {
244  // clear all data members
245 
246  processName_ = "";
247  inited_ = false;
248  changed_ = true;
250  *l1GtUtils_ = L1GtUtils();
251 
252  return;
253 }
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 217 of file HLTConfigProvider.h.

References HLTConfigData::datasetContent(), and hltConfigData_.

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

217  {
219  }
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 221 of file HLTConfigProvider.h.

References HLTConfigData::datasetContent(), and hltConfigData_.

221  {
223  }
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 213 of file HLTConfigProvider.h.

References HLTConfigData::datasetContents(), and hltConfigData_.

Referenced by HLTrigReport::reset(), and TriggerJSONMonitoring::resetRun().

213  {
215  }
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 209 of file HLTConfigProvider.h.

References HLTConfigData::datasetIndex(), and hltConfigData_.

209  {
211  }
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 205 of file HLTConfigProvider.h.

References HLTConfigData::datasetName(), and hltConfigData_.

205  {
207  }
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 201 of file HLTConfigProvider.h.

References HLTConfigData::datasetNames(), and hltConfigData_.

Referenced by HLTOfflineReproducibility::beginRun(), FourVectorHLTOnline::beginRun(), FourVectorHLTOffline::beginRun(), TriggerRatesMonitor::bookHistograms(), TriggerRatesMonitor::dqmBeginRun(), HLTrigReport::reset(), and TriggerJSONMonitoring::resetRun().

201  {
202  return hltConfigData_->datasetNames();
203  }
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 49 of file HLTConfigProvider.h.

References HLTConfigData::dump(), and hltConfigData_.

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

49  {
50  hltConfigData_->dump(what);
51  }
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 131 of file HLTConfigProvider.cc.

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

Referenced by init().

132 {
133  //is it in our registry?
135  const HLTConfigData* d = reg->getMapped(iID);
136  if(0 != d) {
137  changed_ = true;
138  inited_ = true;
139  hltConfigData_ = d;
140  } else {
141  const edm::ParameterSet* processPSet = 0;
142  if ( 0 != (processPSet = edm::pset::Registry::instance()->getMapped(iID))) {
143  if (not processPSet->id().isValid()) {
144  clear();
145  edm::LogError("HLTConfigProvider") << "ProcessPSet found is empty!";
146  changed_ = true;
147  inited_ = false;
149  return;
150  } else {
151  clear();
152  reg->insertMapped( HLTConfigData(processPSet));
153  changed_ = true;
154  inited_ = true;
155  hltConfigData_ = reg->getMapped(processPSet->id());
156  return;
157  }
158  } else {
159  clear();
160  edm::LogError("HLTConfigProvider") << "ProcessPSet not found in regsistry!";
161  changed_ = true;
162  inited_ = false;
164  return;
165  }
166  }
167  return;
168 }
ParameterSetID id() const
static const HLTConfigData * s_dummyHLTConfigData()
static ThreadSafeRegistry * instance()
const HLTConfigData * hltConfigData_
const edm::ParameterSet & processPSet() const
ParameterSet of process.
bool getMapped(key_type const &k, value_type &result) const
bool isValid() const
Definition: Hash.h:150
bool insertMapped(value_type const &v)
static Registry * instance()
Definition: Registry.cc:14
const std::string& HLTConfigProvider::globalTag ( ) const
inline

global tag

Definition at line 70 of file HLTConfigProvider.h.

References HLTConfigData::globalTag(), and hltConfigData_.

70  {
71  return hltConfigData_->globalTag();
72  }
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 159 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1GTSeeds().

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

159  {
160  return hltConfigData_->hltL1GTSeeds();
161  }
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 163 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1GTSeeds().

163  {
164  return hltConfigData_->hltL1GTSeeds(trigger);
165  }
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 167 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1GTSeeds().

167  {
168  return hltConfigData_->hltL1GTSeeds(trigger);
169  }
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 42 of file HLTConfigProvider.cc.

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

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

45  {
46 
47  using namespace std;
48  using namespace edm;
49 
50  LogInfo("HLTConfigData") << "Called (R) with processName '"
51  << processName
52  << "' for " << iRun.id() << endl;
53 
55 
57  l1GtUtils_->getL1GtRunCache(iRun,iSetup,useL1EventSetup,useL1GtTriggerMenuLite);
58 
61  return inited_;
62 
63 }
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:103
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 65 of file HLTConfigProvider.cc.

References edm::ProcessHistory::begin(), changed_, clear(), edm::ProcessHistory::end(), edm::ParameterSet::exists(), edm::ProcessHistory::getConfigurationForProcess(), getDataFrom(), edm::pset::Registry::getMapped(), hltConfigData_, HLTConfigData::id(), init(), inited_, edm::pset::Registry::instance(), n, edm::processConfiguration, processName(), processName_, processPSet(), and s_dummyHLTConfigData().

65  {
66 
67  using namespace std;
68  using namespace edm;
69 
70  const ProcessHistory::const_iterator hb(iHistory.begin());
71  const ProcessHistory::const_iterator he(iHistory.end());
72 
75 
77  if (processName_=="*") {
78  // auto-discovery of process name
79  for (ProcessHistory::const_iterator hi=hb; hi!=he; ++hi) {
80  if (iHistory.getConfigurationForProcess(hi->processName(),processConfiguration)) {
82  if ((processPSet!=0) && (processPSet->exists("hltTriggerSummaryAOD"))) {
83  processName_=hi->processName();
84  }
85  }
86  }
87  LogInfo("HLTConfigData") << "Auto-discovered processName: '"
88  << processName_ << "'"
89  << endl;
90  }
91  if (processName_=="*") {
92  clear();
93  LogError("HLTConfigData") << "Auto-discovery of processName failed!"
94  << endl;
95  return;
96  }
97 
99  unsigned int n(0);
100  for (ProcessHistory::const_iterator hi=hb; hi!=he; ++hi) {
101  if (hi->processName()==processName_) {n++;}
102  }
103  if (n>1) {
104  clear();
105  LogError("HLTConfigProvider") << " ProcessName '"<< processName_
106  << " found " << n
107  << " times in history!" << endl;
108  return;
109  }
110 
113  if ((hltConfigData_ !=s_dummyHLTConfigData()) && (processConfiguration.parameterSetID() == hltConfigData_->id())) {
114  changed_ = false;
115  inited_ = true;
116  return;
117  } else {
118  getDataFrom(processConfiguration.parameterSetID());
119  }
120  } else {
121  LogError("HLTConfigProvider") << "Falling back to processName-only init!";
122  clear();
124  if (!inited_) {
125  LogError("HLTConfigProvider") << "ProcessName not found in history!";
126  }
127  return;
128  }
129 }
collection_type::const_iterator const_iterator
const_iterator begin() const
void getDataFrom(const edm::ParameterSetID &iID)
bool exists(std::string const &parameterName) const
checks if a parameter exists
processConfiguration
Definition: Schedule.cc:368
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.
bool getMapped(key_type const &k, value_type &result) const
Definition: Registry.cc:20
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
static Registry * instance()
Definition: Registry.cc:14
void HLTConfigProvider::init ( const std::string &  processName)
private

Definition at line 170 of file HLTConfigProvider.cc.

References edm::pset::Registry::begin(), clear(), edm::pset::Registry::end(), getDataFrom(), edm::pset::Registry::getMapped(), edm::ParameterSet::getParameter(), hltConfigData_, i, HLTConfigData::id(), instance, s_dummyHLTConfigData(), AlCaHLTBitMon_QueryRunRegistry::string, and tableName().

171 {
172  using namespace std;
173  using namespace edm;
174 
175  // Obtain ParameterSetID for requested process (with name
176  // processName) from pset registry
177  string pNames("");
178  string hNames("");
179  const ParameterSet* pset = 0;
180  ParameterSetID psetID;
181  unsigned int nPSets(0);
182  const edm::pset::Registry * registry_(pset::Registry::instance());
183  const edm::pset::Registry::const_iterator rb(registry_->begin());
184  const edm::pset::Registry::const_iterator re(registry_->end());
185  for (edm::pset::Registry::const_iterator i = rb; i != re; ++i) {
186  if (i->second.exists("@process_name")) {
187  const std::string pName(i->second.getParameter<string>("@process_name"));
188  pNames += pName+" ";
189  if ( pName == processName ) {
190  psetID = i->first;
191  nPSets++;
192  if ((hltConfigData_ != s_dummyHLTConfigData()) && (hltConfigData_->id()==psetID)) {
193  hNames += tableName();
194  } else if ( 0 != (pset = registry_->getMapped(psetID))) {
195  if (pset->exists("HLTConfigVersion")) {
196  const ParameterSet& HLTPSet(pset->getParameterSet("HLTConfigVersion"));
197  if (HLTPSet.exists("tableName")) {
198  hNames += HLTPSet.getParameter<string>("tableName")+" ";
199  }
200  }
201  }
202  }
203  }
204  }
205 
206  LogVerbatim("HLTConfigProvider") << "Unordered list of all process names found: "
207  << pNames << "." << endl;
208 
209  LogVerbatim("HLTConfigProvider") << "HLT TableName of each selected process: "
210  << hNames << "." << endl;
211 
212  if (nPSets==0) {
213  clear();
214  LogError("HLTConfigProvider") << " Process name '"
215  << processName
216  << "' not found in registry!" << endl;
217  return;
218  }
219  if (psetID==ParameterSetID()) {
220  clear();
221  LogError("HLTConfigProvider") << " Process name '"
222  << processName
223  << "' found but ParameterSetID invalid!"
224  << endl;
225  return;
226  }
227  if (nPSets>1) {
228  clear();
229  LogError("HLTConfigProvider") << " Process name '"
230  << processName
231  << " found " << nPSets
232  << " times in registry!" << endl;
233  return;
234  }
235 
236  getDataFrom(psetID);
237 
238  return;
239 
240 }
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
map_type::const_iterator const_iterator
Definition: Registry.h:63
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_
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 56 of file HLTConfigProvider.h.

References inited_.

Referenced by TriggerRatesMonitor::analyze(), TriggerRatesMonitor::bookHistograms(), and EmDQM::dqmBeginRun().

56  {
57  return inited_;
58  }
const std::vector< std::string > HLTConfigProvider::matched ( const std::vector< std::string > &  inputs,
const std::string &  pattern 
)
static

regexp processing

Definition at line 399 of file HLTConfigProvider.cc.

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

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

399  {
400  std::vector<std::string> matched;
401  const boost::regex regexp(edm::glob2reg(pattern));
402  const unsigned int n(inputs.size());
403  for (unsigned int i=0; i<n; ++i) {
404  const std::string& input(inputs[i]);
405  if (boost::regex_match(input,regexp)) matched.push_back(input);
406  }
407  return matched;
408 }
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
static std::string const input
Definition: EdmProvDump.cc:44
const std::string HLTConfigProvider::moduleEDMType ( const std::string &  module) const
inline

C++ base class name of module.

Definition at line 138 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleEDMType().

Referenced by FourVectorHLTOnline::beginRun(), FourVectorHLTOffline::beginRun(), GeneralHLTOffline::fillHltMatrix(), EmDQM::getFilterModules(), pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init(), and GeneralHLTOffline::setupHltMatrix().

138  {
140  }
const HLTConfigData * hltConfigData_
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
Definition: vlib.h:208
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 125 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleIndex().

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

125  {
126  return hltConfigData_->moduleIndex(trigger,module);
127  }
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:208
unsigned int HLTConfigProvider::moduleIndex ( const std::string &  trigger,
const std::string &  module 
) const
inline

Definition at line 128 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleIndex().

128  {
129  return hltConfigData_->moduleIndex(trigger,module);
130  }
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:208
const std::string& HLTConfigProvider::moduleLabel ( unsigned int  trigger,
unsigned int  module 
) const
inline

Definition at line 117 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabel().

Referenced by HLTOfflineReproducibility::beginRun(), TriggerRatesMonitor::bookHistograms(), EmDQM::getFilterModules(), and pat::PATTriggerProducer::produce().

117  {
118  return hltConfigData_->moduleLabel(trigger,module);
119  }
const HLTConfigData * hltConfigData_
const std::string & moduleLabel(unsigned int trigger, unsigned int module) const
Definition: vlib.h:208
const std::string& HLTConfigProvider::moduleLabel ( const std::string &  trigger,
unsigned int  module 
) const
inline

Definition at line 120 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabel().

120  {
121  return hltConfigData_->moduleLabel(trigger,module);
122  }
const HLTConfigData * hltConfigData_
const std::string & moduleLabel(unsigned int trigger, unsigned int module) const
Definition: vlib.h:208
const std::vector<std::string>& HLTConfigProvider::moduleLabels ( unsigned int  trigger) const
inline

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

Definition at line 105 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabels().

Referenced by IsoTrig::analyze(), EwkMuLumiMonitorDQM::analyze(), HLTJetMETDQMSource::analyze(), FourVectorHLTOnline::analyze(), FourVectorHLTriggerOffline::analyze(), FourVectorHLTOffline::analyze(), HLTEventAnalyzerAOD::analyzeTrigger(), HLTEventAnalyzerRAW::analyzeTrigger(), HLTMonBitSummary::beginRun(), LumiCalculator::beginRun(), HLTJetMETDQMSource::beginRun(), HLTInclusiveVBFSource::beginRun(), BTagHLTOfflineSource::beginRun(), JetMETHLTOfflineSource::beginRun(), HLTOfflineReproducibility::beginRun(), FourVectorHLTOnline::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), HLTOniaSource::checkHLTConfiguration(), HeavyFlavorValidation::dqmBeginRun(), HLTOfflineDQMTopSingleLepton::MonitorSingleLepton::fill(), HLTOfflineDQMTopDiLepton::MonitorDiLepton::fill(), GeneralHLTOffline::fillHltMatrix(), JetMETHLTOfflineSource::getL1ConditionModuleName(), FourVectorHLTOnline::getL1ConditionModuleName(), TrigResRateMon::getL1ConditionModuleName(), FourVectorHLTOffline::getL1ConditionModuleName(), egHLT::trigTools::getL1SeedFilterOfPath(), pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init(), HLTMuonValidator::moduleLabels(), HLTMuonOfflineAnalyzer::moduleLabels(), HLTrigReport::reset(), TriggerJSONMonitoring::resetRun(), GeneralHLTOffline::setupHltMatrix(), and egHLT::trigTools::translateFiltersToPathNames().

105  {
106  return hltConfigData_->moduleLabels(trigger);
107  }
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 108 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabels().

108  {
109  return hltConfigData_->moduleLabels(trigger);
110  }
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 133 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleType().

Referenced by HLTOfflineReproducibility::analyze(), HLTEventAnalyzerAOD::analyzeTrigger(), HLTEventAnalyzerRAW::analyzeTrigger(), HLTMonBitSummary::beginRun(), LumiCalculator::beginRun(), HLTJetMETDQMSource::beginRun(), HLTInclusiveVBFSource::beginRun(), BTagHLTOfflineSource::beginRun(), JetMETHLTOfflineSource::beginRun(), HLTOfflineReproducibility::beginRun(), FourVectorHLTOnline::beginRun(), FourVectorHLTriggerOffline::beginRun(), FourVectorHLTOffline::beginRun(), TriggerRatesMonitor::bookHistograms(), HLTOfflineDQMTopSingleLepton::MonitorSingleLepton::fill(), HLTOfflineDQMTopDiLepton::MonitorDiLepton::fill(), GeneralHLTOffline::fillHltMatrix(), EmDQM::getFilterModules(), JetMETHLTOfflineSource::getL1ConditionModuleName(), FourVectorHLTOnline::getL1ConditionModuleName(), TrigResRateMon::getL1ConditionModuleName(), FourVectorHLTOffline::getL1ConditionModuleName(), HLTTauDQMPath::HLTTauDQMPath(), pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init(), EmDQM::makePSetForEgammaGenericFilter(), EmDQM::makePSetForEgammaGenericQuadraticFilter(), EmDQM::makePSetForElectronGenericFilter(), CandidateTriggerObjectProducer::produce(), pat::PATTriggerProducer::produce(), HLTrigReport::reset(), TriggerJSONMonitoring::resetRun(), and GeneralHLTOffline::setupHltMatrix().

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

low-level data member access

Definition at line 252 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleLabels().

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

252  {
253  return hltConfigData_->prescaleLabels();
254  }
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 256 of file HLTConfigProvider.cc.

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

Referenced by EwkElecDQM::analyze(), EwkMuDQM::analyze(), prescaleValue(), prescaleValues(), prescaleValuesInDetail(), and pat::PATTriggerProducer::produce().

256  {
257  // return hltPrescaleTable_.set();
258  l1GtUtils_->getL1GtRunCache(iEvent,iSetup,useL1EventSetup,useL1GtTriggerMenuLite);
259  int errorTech(0);
260  const int psfsiTech(l1GtUtils_->prescaleFactorSetIndex(iEvent,L1GtUtils::TechnicalTrigger,errorTech));
261  int errorPhys(0);
262  const int psfsiPhys(l1GtUtils_->prescaleFactorSetIndex(iEvent,L1GtUtils::AlgorithmTrigger,errorPhys));
263  assert(psfsiTech==psfsiPhys);
264  if ( (errorTech==0) && (errorPhys==0) &&
265  (psfsiTech>=0) && (psfsiPhys>=0) && (psfsiTech==psfsiPhys) ) {
266  return psfsiPhys;
267  } else {
269  edm::LogError("HLTConfigData")
270  << " Error in determining HLT prescale set index from L1 data using L1GtUtils: "
271  << " Tech/Phys error = " << errorTech << "/" << errorPhys
272  << " Tech/Phys psfsi = " << psfsiTech << "/" << psfsiPhys;
273  return -1;
274  }
275 }
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 228 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleSize().

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

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

Definition at line 255 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleTable().

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

255  {
256  return hltConfigData_->prescaleTable();
257  }
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 232 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleValue().

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

232  {
233  return hltConfigData_->prescaleValue(set,trigger);
234  }
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_
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 277 of file HLTConfigProvider.cc.

References prescaleSet(), and prescaleValue().

277  {
278  const int set(prescaleSet(iEvent,iSetup));
279  if (set<0) {
280  return 1;
281  } else {
282  return prescaleValue(static_cast<unsigned int>(set),trigger);
283  }
284 }
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
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 286 of file HLTConfigProvider.cc.

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

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

286  {
287 
288  // start with setting both L1T and HLT prescale values to 0
289  std::pair<int,int> result(std::pair<int,int>(0,0));
290 
291  // get HLT prescale (possible if HLT prescale set index is correctly found)
292  const int set(prescaleSet(iEvent,iSetup));
293  if (set<0) {
294  result.second = -1;
295  } else {
296  result.second = static_cast<int>(prescaleValue(static_cast<unsigned int>(set),trigger));
297  }
298 
299  // get L1T prescale - works only for those hlt trigger paths with
300  // exactly one L1GT seed module which has exactly one L1T name as seed
301  const unsigned int nL1GTSeedModules(hltL1GTSeeds(trigger).size());
302  if (nL1GTSeedModules==0) {
303  // no L1 seed module on path hence no L1 seed hence formally no L1 prescale
304  result.first=1;
305  } else if (nL1GTSeedModules==1) {
306  l1GtUtils_->getL1GtRunCache(iEvent,iSetup,useL1EventSetup,useL1GtTriggerMenuLite);
307  const std::string l1tname(hltL1GTSeeds(trigger).at(0).second);
308  int l1error(0);
309  result.first = l1GtUtils_->prescaleFactor(iEvent,l1tname,l1error);
310  if (l1error!=0) {
311  edm::LogError("HLTConfigData")
312  << " Error in determining L1T prescale for HLT path: '" << trigger
313  << "' with L1T seed: '" << l1tname
314  << "' using L1GtUtils: error code = " << l1error << "." << std::endl
315  << " Note: for this method ('prescaleValues'), only a single L1T name (and not a bit number) is allowed as seed!" << std::endl
316  << " For seeds being complex logical expressions, try the new method 'prescaleValuesInDetail'."<< std::endl;
317  result.first = -1;
318  }
319  } else {
321  std::string dump("'"+hltL1GTSeeds(trigger).at(0).second+"'");
322  for (unsigned int i=1; i!=nL1GTSeedModules; ++i) {
323  dump += " * '"+hltL1GTSeeds(trigger).at(i).second+"'";
324  }
325  edm::LogError("HLTConfigData")
326  << " Error in determining L1T prescale for HLT path: '" << trigger
327  << "' has multiple L1GTSeed modules, " << nL1GTSeedModules
328  << ", with L1 seeds: " << dump
329  << ". (Note: at most one L1GTSeed module is allowed for a proper determination of the L1T prescale!)";
330  result.first = -1;
331  }
332 
333  return result;
334 }
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
std::pair< std::vector< std::pair< std::string, int > >, int > HLTConfigProvider::prescaleValuesInDetail ( const edm::Event iEvent,
const edm::EventSetup iSetup,
const std::string &  trigger 
) const

error - can't handle properly multiple L1GTSeed modules

Definition at line 336 of file HLTConfigProvider.cc.

References funct::abs(), asciidump::at, dump(), L1GtUtils::LogicalExpressionL1Results::errorCodes(), edm::Event::getRun(), hltL1GTSeeds(), i, L1GtUtils::LogicalExpressionL1Results::isValid(), l1GtUtils_, L1GtUtils::LogicalExpressionL1Results::logicalExpressionRunUpdate(), python.rootplot.argparse::message, L1GtUtils::LogicalExpressionL1Results::prescaleFactors(), prescaleSet(), prescaleValue(), query::result, edm::second(), size(), AlCaHLTBitMon_QueryRunRegistry::string, useL1EventSetup(), and useL1GtTriggerMenuLite().

Referenced by HLTEventAnalyzerAOD::analyzeTrigger().

336  {
337 
338  std::pair<std::vector<std::pair<std::string,int> >,int> result;
339  result.first.clear();
340 
341  // get HLT prescale (possible if HLT prescale set index is correctly found)
342  const int set(prescaleSet(iEvent,iSetup));
343  if (set<0) {
344  result.second = -1;
345  } else {
346  result.second = static_cast<int>(prescaleValue(static_cast<unsigned int>(set),trigger));
347  }
348 
349  // get L1T prescale - works only for those hlt trigger paths with
350  // exactly one L1GT seed module which has exactly one L1T name as seed
351  const unsigned int nL1GTSeedModules(hltL1GTSeeds(trigger).size());
352  if (nL1GTSeedModules==0) {
353  // no L1 seed module on path hence no L1 seed hence formally no L1 prescale
354  result.first.clear();
355  } else if (nL1GTSeedModules==1) {
356  l1GtUtils_->getL1GtRunCache(iEvent,iSetup,useL1EventSetup,useL1GtTriggerMenuLite);
357  const std::string l1tname(hltL1GTSeeds(trigger).at(0).second);
359  l1Logical.logicalExpressionRunUpdate(iEvent.getRun(),iSetup,l1tname);
360  const std::vector<std::pair<std::string, int> >& errorCodes(l1Logical.errorCodes(iEvent));
361  result.first = l1Logical.prescaleFactors();
362  int l1error(l1Logical.isValid() ? 0 : 1);
363  for (unsigned int i=0; i<errorCodes.size(); ++i) {
364  l1error += std::abs(errorCodes[i].second);
365  }
366  if (l1error!=0) {
367  std::ostringstream message;
368  message
369  << " Error in determining L1T prescales for HLT path: '" << trigger
370  << "' with complex L1T seed: '" << l1tname
371  << "' using L1GtUtils: " << std::endl
372  << " isValid=" << l1Logical.isValid()
373  << " l1tname/error/prescale " << errorCodes.size()
374  << std::endl;
375  for (unsigned int i=0; i< errorCodes.size(); ++i) {
376  message << " " << i << ":" << errorCodes[i].first << "/" << errorCodes[i].second << "/" << result.first[i].second;
377  }
378  message << ".";
379  edm::LogError("HLTConfigData") << message.str();
380  result.first.clear();
381  }
382  } else {
384  std::string dump("'"+hltL1GTSeeds(trigger).at(0).second+"'");
385  for (unsigned int i=1; i!=nL1GTSeedModules; ++i) {
386  dump += " * '"+hltL1GTSeeds(trigger).at(i).second+"'";
387  }
388  edm::LogError("HLTConfigData")
389  << " Error in determining L1T prescale for HLT path: '" << trigger
390  << "' has multiple L1GTSeed modules, " << nL1GTSeedModules
391  << ", with L1 seeds: " << dump
392  << ". (Note: at most one L1GTSeed module is allowed for a proper determination of the L1T prescale!)";
393  result.first.clear();
394  }
395 
396  return result;
397 }
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
Run const & getRun() const
Definition: Event.cc:58
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
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
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
const std::string& HLTConfigProvider::processName ( ) const
inline

process name

Definition at line 65 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::processName().

Referenced by GeneralHLTOffline::bookHistograms(), EmDQM::dqmBeginRun(), TopSingleLeptonHLTOfflineDQM::dqmBeginRun(), TopDiLeptonHLTOfflineDQM::dqmBeginRun(), and init().

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

ParameterSet of process.

Definition at line 143 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::processPSet().

Referenced by getDataFrom(), and init().

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

Definition at line 410 of file HLTConfigProvider.cc.

Referenced by GeneralHLTOffline::analyze(), JetMETHLTOfflineSource::beginRun(), HLTJetMETValidation::beginRun(), GeneralHLTOffline::bookHistograms(), EmDQM::dqmBeginRun(), GeneralHLTOffline::fillHltMatrix(), and GeneralHLTOffline::setupHltMatrix().

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

Definition at line 415 of file HLTConfigProvider.cc.

References matched().

Referenced by GenericTriggerEventFlag::expandLogicalExpression().

415  {
416  return matched(inputs,trigger+"_v[0-9]+$");
417 }
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 153 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::saveTags().

Referenced by pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init(), EmDQM::makePSetForEgammaGenericFilter(), EmDQM::makePSetForEgammaGenericQuadraticFilter(), and pat::PATTriggerProducer::produce().

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

Definition at line 111 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::saveTagsModules().

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

111  {
112  return hltConfigData_->saveTagsModules(trigger);
113  }
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 114 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::saveTagsModules().

114  {
115  return hltConfigData_->saveTagsModules(trigger);
116  }
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 80 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::size().

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

80  {
81  return hltConfigData_->size();
82  }
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 84 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::size().

84  {
85  return hltConfigData_->size(trigger);
86  }
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 87 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::size().

87  {
88  return hltConfigData_->size(trigger);
89  }
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 190 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamContent().

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

190  {
192  }
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 194 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamContent().

194  {
196  }
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 186 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamContents().

Referenced by HLTrigReport::reset().

186  {
187  return hltConfigData_->streamContents();
188  }
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 182 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamIndex().

Referenced by HLTScalers::beginRun().

182  {
184  }
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 178 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamName().

178  {
180  }
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 174 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamNames().

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

174  {
175  return hltConfigData_->streamNames();
176  }
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 75 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::tableName().

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

75  {
76  return hltConfigData_->tableName();
77  }
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 95 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(), FourVectorHLTriggerOffline::beginRun(), QcdLowPtDQM::beginRun(), FourVectorHLTOffline::beginRun(), TriggerRatesMonitor::bookHistograms(), TrigResRateMon::fillCountsPerPath(), JetMETHLTOfflineSource::fillMEforEffWrtMBTrigger(), JetMETHLTOfflineSource::fillMEforEffWrtMuTrigger(), JetMETHLTOfflineSource::fillMEforMonAllTriggerwrtMuonTrigger(), JetMETHLTOfflineSource::fillMEforMonTriggerSummary(), TrigResRateMon::filltestHisto(), EmDQM::findEgammaPaths(), TrigResRateMon::findReferenceTriggerIndex(), egHLT::trigTools::getActiveFilters(), TrigResRateMon::printCountsPerPathThisLumi(), egHLT::trigTools::translateFiltersToPathNames(), HLTInclusiveVBFSource::validPathHLT(), BTagHLTOfflineSource::validPathHLT(), and JetMETHLTOfflineSource::validPathHLT().

95  {
97  }
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 274 of file HLTConfigProvider.h.

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

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

Definition at line 273 of file HLTConfigProvider.h.

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

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

Definition at line 276 of file HLTConfigProvider.h.

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

std::string HLTConfigProvider::processName_
private

data members

Definition at line 272 of file HLTConfigProvider.h.

Referenced by clear(), and init().