CMS 3D CMS Logo

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...
 
const std::vector< std::vector< std::string > > & hltL1TSeeds () const
 
const std::vector< std::string > & hltL1TSeeds (const std::string &trigger) const
 HLTL1TSeed modules for trigger path with name. More...
 
const std::vector< std::string > & hltL1TSeeds (unsigned int trigger) const
 HLTL1TSeed 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...
 
unsigned int l1tType () const
 L1T type (0=unknown, 1=legacy/stage-1 or 2=stage-2) 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...
 
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...
 
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_
 
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 28 of file HLTConfigProvider.h.

Constructor & Destructor Documentation

HLTConfigProvider::HLTConfigProvider ( )

c'tor

Definition at line 34 of file HLTConfigProvider.cc.

34  :
35  processName_(""),
36  inited_(false),
37  changed_(true),
39 {
40 }
static const HLTConfigData * s_dummyHLTConfigData()
std::string processName_
data members
const HLTConfigData * hltConfigData_

Member Function Documentation

bool HLTConfigProvider::changed ( ) const
inline

changed?

Definition at line 56 of file HLTConfigProvider.h.

References changed_.

Referenced by EmDQM::dqmBeginRun().

56  {
57  return changed_;
58  }
void HLTConfigProvider::clear ( void  )
private

Definition at line 232 of file HLTConfigProvider.cc.

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

Referenced by getDataFrom(), init(), and prescaleTable().

233 {
234  // clear all data members
235 
236  processName_ = "";
237  inited_ = false;
238  changed_ = true;
240 
241  return;
242 }
static const HLTConfigData * s_dummyHLTConfigData()
std::string processName_
data members
const HLTConfigData * hltConfigData_
const std::vector<std::string>& HLTConfigProvider::datasetContent ( unsigned int  dataset) const
inline

names of trigger paths in dataset with index i

Definition at line 233 of file HLTConfigProvider.h.

References HLTConfigData::datasetContent(), and hltConfigData_.

Referenced by GeneralHLTOffline::dqmBeginRun(), and HLTScalers::dqmBeginRun().

233  {
235  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
const std::vector<std::string>& HLTConfigProvider::datasetContent ( const std::string &  dataset) const
inline

names of trigger paths in dataset with name

Definition at line 237 of file HLTConfigProvider.h.

References HLTConfigData::datasetContent(), and hltConfigData_.

237  {
239  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
const std::vector<std::vector<std::string> >& HLTConfigProvider::datasetContents ( ) const
inline

names of trigger paths for all datasets

Definition at line 229 of file HLTConfigProvider.h.

References HLTConfigData::datasetContents(), and hltConfigData_.

Referenced by HLTrigReport::reset().

229  {
231  }
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 225 of file HLTConfigProvider.h.

References HLTConfigData::datasetIndex(), and hltConfigData_.

225  {
227  }
const HLTConfigData * hltConfigData_
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 221 of file HLTConfigProvider.h.

References HLTConfigData::datasetName(), and hltConfigData_.

221  {
223  }
const std::string & datasetName(unsigned int dataset) const
name of dataset with index i
const HLTConfigData * hltConfigData_
const std::vector<std::string>& HLTConfigProvider::datasetNames ( ) const
inline

Datasets list of names of all datasets

Definition at line 217 of file HLTConfigProvider.h.

References HLTConfigData::datasetNames(), and hltConfigData_.

Referenced by HLTrigReport::reset(), and HLTriggerJSONMonitoring::writeIniFile().

217  {
218  return hltConfigData_->datasetNames();
219  }
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 45 of file HLTConfigProvider.h.

References HLTConfigData::dump(), and hltConfigData_.

Referenced by HLTPathSelector::beginRun(), HLTEventAnalyzerRAW::beginRun(), and HLTEventAnalyzerAOD::beginRun().

45  {
46  hltConfigData_->dump(what);
47  }
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 126 of file HLTConfigProvider.cc.

References changed_, clear(), edmIntegrityCheck::d, 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(), and prescaleTable().

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

global tag

Definition at line 66 of file HLTConfigProvider.h.

References HLTConfigData::globalTag(), and hltConfigData_.

66  {
67  return hltConfigData_->globalTag();
68  }
const HLTConfigData * hltConfigData_
const std::string & globalTag() const
GlobalTag.globaltag.
const std::vector<std::vector<std::pair<bool,std::string> > >& HLTConfigProvider::hltL1GTSeeds ( ) const
inline
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 165 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1GTSeeds().

165  {
167  }
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 169 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1GTSeeds().

169  {
171  }
const std::vector< std::vector< std::pair< bool, std::string > > > & hltL1GTSeeds() const
const HLTConfigData * hltConfigData_
const std::vector<std::vector<std::string> >& HLTConfigProvider::hltL1TSeeds ( ) const
inline

HLTL1TSeed module HLTL1TSeed modules for all trigger paths

Definition at line 175 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1TSeeds().

Referenced by HLTPrescaleProvider::prescaleValues(), and HLTPrescaleProvider::prescaleValuesInDetail().

175  {
176  return hltConfigData_->hltL1TSeeds();
177  }
const HLTConfigData * hltConfigData_
const std::vector< std::vector< std::string > > & hltL1TSeeds() const
const std::vector<std::string>& HLTConfigProvider::hltL1TSeeds ( const std::string &  trigger) const
inline

HLTL1TSeed modules for trigger path with name.

Definition at line 179 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1TSeeds().

179  {
181  }
const HLTConfigData * hltConfigData_
const std::vector< std::vector< std::string > > & hltL1TSeeds() const
const std::vector<std::string>& HLTConfigProvider::hltL1TSeeds ( unsigned int  trigger) const
inline

HLTL1TSeed modules for trigger path with index i.

Definition at line 183 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::hltL1TSeeds().

183  {
185  }
const HLTConfigData * hltConfigData_
const std::vector< std::vector< std::string > > & hltL1TSeeds() const
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

Definition at line 42 of file HLTConfigProvider.cc.

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

Referenced by L1GtTriggerMenuTester::associateL1SeedsHltPath(), HLTPathSelector::beginRun(), HLTEventAnalyzerRAW::beginRun(), PixelVTXMonitor::beginRun(), LumiCalculator::beginRun(), HLTrigReport::beginRun(), AlCaIsolatedBunchFilter::beginRun(), AlCaIsolatedBunchSelector::beginRun(), AlCaIsoTracksProducerFilter::beginRun(), pat::PATTriggerEventProducer::beginRun(), AlCaHBHEMuonFilter::beginRun(), HcalRaddamMuon::beginRun(), HLTHiggsSubAnalysis::beginRun(), HLTExoticaSubAnalysis::beginRun(), HcalHBHEMuonAnalyzer::beginRun(), AlCaIsoTracksFilter::beginRun(), EgHLTOfflineSummaryClient::beginRun(), IsoTrackCalibration::beginRun(), EgHLTOfflineClient::beginRun(), StudyHLT::beginRun(), IsoTrackCalib::beginRun(), AlCaIsoTracksProducer::beginRun(), L1MuonRecoTreeProducer::beginRun(), TrackerDpgAnalysis::beginRun(), EgHLTOfflineSource::bookHistograms(), DQMProvInfo::dqmBeginRun(), HLTTauDQMOfflineSource::dqmBeginRun(), SUSY_HLT_Muon_BJet::dqmBeginRun(), SUSY_HLT_DoubleMuon_Hadronic::dqmBeginRun(), SUSY_HLT_DoubleEle_Hadronic::dqmBeginRun(), SUSY_HLT_Electron_BJet::dqmBeginRun(), EwkMuLumiMonitorDQM::dqmBeginRun(), SUSY_HLT_alphaT::dqmBeginRun(), SUSY_HLT_ElecFakes::dqmBeginRun(), SUSY_HLT_MuEle_Hadronic::dqmBeginRun(), SUSY_HLT_VBF_Mu::dqmBeginRun(), SUSY_HLT_DiJet_MET::dqmBeginRun(), SUSY_HLT_Muon_Hadronic::dqmBeginRun(), SUSY_HLT_MuonFakes::dqmBeginRun(), HLTMuonValidator::dqmBeginRun(), HLTSeedL1LogicScalers::dqmBeginRun(), HLTMuonOfflineAnalyzer::dqmBeginRun(), HigPhotonJetHLTOfflineSource::dqmBeginRun(), L1TEGammaOffline::dqmBeginRun(), SUSY_HLT_SingleLepton::dqmBeginRun(), QcdUeDQM::dqmBeginRun(), HeavyFlavorValidation::dqmBeginRun(), GeneralHLTOffline::dqmBeginRun(), HLTJetMETValidation::dqmBeginRun(), FSQDiJetAve::dqmBeginRun(), HLTScalers::dqmBeginRun(), JetMETHLTOfflineSource::dqmBeginRun(), L1TMuonDQMOffline::dqmBeginRun(), EmDQM::dqmBeginRun(), EmDQMReco::dqmBeginRun(), L1TStage2CaloLayer2Offline::dqmBeginRun(), L1TTauOffline::dqmBeginRun(), HLTObjectsMonitor::dqmBeginRun(), QcdLowPtDQM::dqmBeginRun(), TopSingleLeptonHLTOfflineDQM::dqmBeginRun(), TopDiLeptonHLTOfflineDQM::dqmBeginRun(), MuScleFit::duringLoop(), HLTPrescaleProvider::init(), init(), TriggerHelper::initRun(), GenericTriggerEventFlag::initRun(), and prescaleTable().

45  {
46 
47  using namespace std;
48  using namespace edm;
49 
50  LogInfo("HLTConfigProvider")
51  << "Called (R) with processName '" << processName << "' for " << iRun.id() << endl;
52 
54 
57  return inited_;
58 
59 }
RunID const & id() const
Definition: RunBase.h:39
std::string processName_
data members
bool changed() const
changed?
ProcessHistory const & processHistory() const
Definition: Run.cc:121
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
HLT enums.
void HLTConfigProvider::init ( const edm::ProcessHistory iHistory,
const std::string &  processName 
)
private

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

Definition at line 61 of file HLTConfigProvider.cc.

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

61  {
62 
63  using namespace std;
64  using namespace edm;
65 
66  const ProcessHistory::const_iterator hb(iHistory.begin());
67  const ProcessHistory::const_iterator he(iHistory.end());
68 
69  ProcessConfiguration processConfiguration;
70  const edm::ParameterSet* processPSet(nullptr);
71 
73  if (processName_=="*") {
74  // auto-discovery of process name
76  if (iHistory.getConfigurationForProcess(hi->processName(),processConfiguration)) {
77  processPSet = edm::pset::Registry::instance()->getMapped(processConfiguration.parameterSetID());
78  if ((processPSet!=nullptr) && (processPSet->exists("hltTriggerSummaryAOD"))) {
79  processName_=hi->processName();
80  }
81  }
82  }
83  if (processName_=="*") {
84  LogError("HLTConfigProvider")
85  << "Auto-discovery of processName failed!" << endl;
86  clear();
87  return;
88  } else {
89  LogInfo("HLTConfigProvider")
90  << "Auto-discovered processName: '" << processName_ << "'" << endl;
91  }
92  }
93  if (processName_=="@currentProcess") {
95  }
96 
98  unsigned int n(0);
100  if (hi->processName()==processName_) {n++;}
101  }
102  if (n>1) {
103  LogError("HLTConfigProvider")
104  << " ProcessName '"<< processName_ << " found " << n << " times in history!" << endl;
105  clear();
106  return;
107  }
108 
110  if (iHistory.getConfigurationForProcess(processName_,processConfiguration)) {
111  if ((hltConfigData_ !=s_dummyHLTConfigData()) && (processConfiguration.parameterSetID() == hltConfigData_->id())) {
112  changed_ = false;
113  inited_ = true;
114  return;
115  } else {
116  getDataFrom(processConfiguration.parameterSetID());
117  }
118  } else {
119  LogError("HLTConfigProvider")
120  << "Falling back to ProcessName-only init using ProcessName '"<<processName_<<"' !";
122  return;
123  }
124 }
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
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:19
def getProcessName(pdgGen, requiredNumberOfGeneratedObjects)
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
HLT enums.
edm::ParameterSetID id() const
technical: id() function needed for use with ThreadSafeRegistry
static Registry * instance()
Definition: Registry.cc:13
void HLTConfigProvider::init ( const std::string &  processName)
private

Definition at line 165 of file HLTConfigProvider.cc.

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

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

Accessors (const methods)

initialised?

Definition at line 52 of file HLTConfigProvider.h.

References inited_.

Referenced by EmDQM::dqmBeginRun().

52  {
53  return inited_;
54  }
unsigned int HLTConfigProvider::l1tType ( ) const
inline

L1T type (0=unknown, 1=legacy/stage-1 or 2=stage-2)

Definition at line 155 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::l1tType().

Referenced by HLTPrescaleProvider::init(), HLTPrescaleProvider::prescaleSet(), HLTPrescaleProvider::prescaleValues(), and HLTPrescaleProvider::prescaleValuesInDetail().

155  {
156  return hltConfigData_->l1tType();
157  }
const HLTConfigData * hltConfigData_
unsigned int l1tType() const
L1T type (0=unknown, 1=legacy/stage-1 or 2=stage-2)
const std::vector< std::string > HLTConfigProvider::matched ( const std::vector< std::string > &  inputs,
const std::string &  pattern 
)
static

regexp processing

Definition at line 246 of file HLTConfigProvider.cc.

References edm::glob2reg(), mps_fire::i, input, gen::n, fetchall_from_DQM_v2::regexp, and AlCaHLTBitMon_QueryRunRegistry::string.

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

246  {
247  std::vector<std::string> matched;
248  const std::regex regexp(edm::glob2reg(pattern));
249  const unsigned int n(inputs.size());
250  for (unsigned int i=0; i<n; ++i) {
251  const std::string& input(inputs[i]);
252  if (std::regex_match(input,regexp)) matched.push_back(input);
253  }
254  return matched;
255 }
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 134 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleEDMType().

Referenced by GeneralHLTOffline::dqmBeginRun(), FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::findPathAndFilter(), HeavyFlavorValidation::getFilterLevel(), EmDQM::getFilterModules(), and pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init().

134  {
136  }
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 121 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleIndex().

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

121  {
123  }
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 124 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleIndex().

124  {
126  }
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 113 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabel().

Referenced by EmDQM::getFilterModules(), pat::PATTriggerProducer::produce(), and HLTPrescaleProvider::rejectedByHLTPrescaler().

113  {
115  }
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 116 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabel().

116  {
118  }
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 101 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabels().

Referenced by EwkMuLumiMonitorDQM::analyze(), IsoTrig::analyze(), HLTObjectsMonitor::analyze(), HLTEventAnalyzerAOD::analyzeTrigger(), HLTEventAnalyzerRAW::analyzeTrigger(), LumiCalculator::beginRun(), HeavyFlavorValidation::dqmBeginRun(), GeneralHLTOffline::dqmBeginRun(), JetMETHLTOfflineSource::dqmBeginRun(), HLTOfflineDQMTopSingleLepton::MonitorSingleLepton::fill(), HLTOfflineDQMTopDiLepton::MonitorDiLepton::fill(), FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::findPathAndFilter(), dqmoffline::l1t::getHLTFilters(), JetMETHLTOfflineSource::getL1ConditionModuleName(), egHLT::trigTools::getL1SeedFilterOfPath(), pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init(), L1MuonRecoTreeProducer::match_trigger(), L1TMuonDQMOffline::matchHlt(), L1TTauOffline::matchHlt(), HLTMuonValidator::moduleLabels(), HLTMuonOfflineAnalyzer::moduleLabels(), HLTrigReport::reset(), and egHLT::trigTools::translateFiltersToPathNames().

101  {
103  }
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 104 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::moduleLabels().

104  {
106  }
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
const std::vector<std::string>& HLTConfigProvider::prescaleLabels ( ) const
inline

low-level data member access

Definition at line 253 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleLabels().

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

253  {
254  return hltConfigData_->prescaleLabels();
255  }
const HLTConfigData * hltConfigData_
const std::vector< std::string > & prescaleLabels() const
low-level data member access
unsigned int HLTConfigProvider::prescaleSize ( ) const
inline

HLT prescale info Number of HLT prescale sets

Definition at line 244 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleSize().

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

244  {
245  return hltConfigData_->prescaleSize();
246  }
const HLTConfigData * hltConfigData_
unsigned int prescaleSize() const
const std::map<std::string,std::vector<unsigned int> >& HLTConfigProvider::prescaleTable ( ) const
inline
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 248 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::prescaleValue().

Referenced by EwkMuLumiMonitorDQM::analyze(), HLTPrescaleProvider::prescaleValue(), HLTPrescaleProvider::prescaleValues(), HLTPrescaleProvider::prescaleValuesInDetail(), and pat::PATTriggerProducer::produce().

248  {
249  return hltConfigData_->prescaleValue(set,trigger);
250  }
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_
const std::string& HLTConfigProvider::processName ( ) const
inline

process name

Definition at line 61 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::processName().

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

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

ParameterSet of process.

Definition at line 139 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::processPSet().

Referenced by getDataFrom(), and init().

139  {
140  return hltConfigData_->processPSet();
141  }
const HLTConfigData * hltConfigData_
const edm::ParameterSet & processPSet() const
ParameterSet of process.
const std::string HLTConfigProvider::removeVersion ( const std::string &  trigger)
static
const std::vector< std::string > HLTConfigProvider::restoreVersion ( const std::vector< std::string > &  inputs,
const std::string &  trigger 
)
static

Definition at line 262 of file HLTConfigProvider.cc.

References matched().

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

262  {
263  return matched(inputs,trigger+"_v[0-9]+$");
264 }
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 149 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::saveTags().

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

149  {
150  return hltConfigData_->saveTags(module);
151  }
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 107 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::saveTagsModules().

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

107  {
109  }
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 110 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::saveTagsModules().

110  {
112  }
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 76 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::size().

Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), TriggerHelper::acceptHltLogicalExpression(), GenericTriggerEventFlag::acceptHltLogicalExpression(), HLTEventAnalyzerAOD::analyze(), HLTEventAnalyzerRAW::analyze(), IsoTrig::analyze(), HLTEventAnalyzerAOD::analyzeTrigger(), HLTEventAnalyzerRAW::analyzeTrigger(), L1GtTriggerMenuTester::associateL1SeedsHltPath(), HLTPathSelector::beginRun(), HLTEventAnalyzerAOD::beginRun(), HLTEventAnalyzerRAW::beginRun(), LumiCalculator::beginRun(), pat::PATTriggerEventProducer::beginRun(), HcalRaddamMuon::beginRun(), HcalHBHEMuonAnalyzer::beginRun(), IsoTrackCalibration::beginRun(), L1MuonRecoTreeProducer::beginRun(), HLTSeedL1LogicScalers::bookHistograms(), GeneralHLTOffline::bookHistograms(), HLTScalers::bookHistograms(), L1TMuonDQMOffline::bookHistograms(), L1TTauOffline::bookHistograms(), DQMProvInfo::dqmBeginRun(), HLTSeedL1LogicScalers::dqmBeginRun(), QcdUeDQM::dqmBeginRun(), GeneralHLTOffline::dqmBeginRun(), JetMETHLTOfflineSource::dqmBeginRun(), EmDQM::dqmBeginRun(), QcdLowPtDQM::dqmBeginRun(), JetMETHLTOfflineSource::fillMEforMonTriggerSummary(), HLTPathSelector::filter(), EmDQM::findEgammaPaths(), FSQ::HandlerTemplate< TInputCandidateType, TOutputCandidateType, filter >::findPathAndFilter(), egHLT::trigTools::getActiveFilters(), EmDQM::getFilterModules(), dqmoffline::l1t::getHLTFilters(), PrescaleWeightProvider::initRun(), TriggerHelper::initRun(), GenericTriggerEventFlag::initRun(), L1MuonRecoTreeProducer::match_trigger(), L1TMuonDQMOffline::matchHlt(), L1TTauOffline::matchHlt(), PrescaleWeightProvider::prescaleWeight(), CandidateTriggerObjectProducer::produce(), pat::PATTriggerProducer::produce(), egHLT::trigTools::translateFiltersToPathNames(), and JetMETHLTOfflineSource::validPathHLT().

76  {
77  return hltConfigData_->size();
78  }
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 80 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::size().

Referenced by ntupleDataFormat._Collection::__iter__(), and ntupleDataFormat._Collection::__len__().

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

References hltConfigData_, and HLTConfigData::size().

Referenced by ntupleDataFormat._Collection::__iter__(), and ntupleDataFormat._Collection::__len__().

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

References hltConfigData_, and HLTConfigData::streamContent().

Referenced by GeneralHLTOffline::dqmBeginRun(), and HLTScalers::dqmBeginRun().

206  {
207  return hltConfigData_->streamContent(stream);
208  }
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 210 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamContent().

210  {
211  return hltConfigData_->streamContent(stream);
212  }
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 202 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamContents().

Referenced by HLTrigReport::reset().

202  {
203  return hltConfigData_->streamContents();
204  }
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 198 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamIndex().

Referenced by HLTScalers::dqmBeginRun().

198  {
199  return hltConfigData_->streamIndex(stream);
200  }
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 194 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamName().

194  {
195  return hltConfigData_->streamName(stream);
196  }
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 190 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::streamNames().

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

190  {
191  return hltConfigData_->streamNames();
192  }
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 71 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::tableName().

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

71  {
72  return hltConfigData_->tableName();
73  }
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
const std::vector<std::string>& HLTConfigProvider::triggerNames ( ) const
inline

names of trigger paths

Definition at line 88 of file HLTConfigProvider.h.

References hltConfigData_, and HLTConfigData::triggerNames().

Referenced by EwkMuLumiMonitorDQM::analyze(), HLTPathSelector::beginRun(), HLTHiggsSubAnalysis::beginRun(), HLTExoticaSubAnalysis::beginRun(), TrackerDpgAnalysis::beginRun(), PixelVTXMonitor::bookHistograms(), HLTTauDQMOfflineSource::dqmBeginRun(), SUSY_HLT_DoubleMuon_Hadronic::dqmBeginRun(), SUSY_HLT_Muon_BJet::dqmBeginRun(), SUSY_HLT_DoubleEle_Hadronic::dqmBeginRun(), SUSY_HLT_Electron_BJet::dqmBeginRun(), SUSY_HLT_alphaT::dqmBeginRun(), SUSY_HLT_DiJet_MET::dqmBeginRun(), SUSY_HLT_ElecFakes::dqmBeginRun(), SUSY_HLT_MuEle_Hadronic::dqmBeginRun(), SUSY_HLT_Muon_Hadronic::dqmBeginRun(), SUSY_HLT_MuonFakes::dqmBeginRun(), SUSY_HLT_VBF_Mu::dqmBeginRun(), HLTMuonValidator::dqmBeginRun(), HLTMuonOfflineAnalyzer::dqmBeginRun(), L1TEGammaOffline::dqmBeginRun(), SUSY_HLT_SingleLepton::dqmBeginRun(), HeavyFlavorValidation::dqmBeginRun(), GeneralHLTOffline::dqmBeginRun(), HLTJetMETValidation::dqmBeginRun(), L1TStage2CaloLayer2Offline::dqmBeginRun(), HLTObjectsMonitor::dqmBeginRun(), HLTBitComputer::HLTBitComputer(), pat::PATTriggerProducer::ModuleLabelToPathAndFlags::init(), GenericTriggerEventFlag::initRun(), CandidateTriggerObjectProducer::produce(), pat::PATTriggerProducer::produce(), HLTrigReport::reset(), and HLTriggerJSONMonitoring::writeIniFile().

88  {
89  return hltConfigData_->triggerNames();
90  }
const std::vector< std::string > & triggerNames() const
names of trigger paths
const HLTConfigData * hltConfigData_

Member Data Documentation

bool HLTConfigProvider::changed_
private

Definition at line 275 of file HLTConfigProvider.h.

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

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

Definition at line 274 of file HLTConfigProvider.h.

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

std::string HLTConfigProvider::processName_
private

data members

Definition at line 273 of file HLTConfigProvider.h.

Referenced by clear(), and init().