CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
EgHLTOfflineSummaryClient Class Reference

#include <EgHLTOfflineSummaryClient.h>

Inheritance diagram for EgHLTOfflineSummaryClient:
edm::EDAnalyzer edm::EDConsumerBase

Classes

struct  SumHistBinData
 

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context) override
 
void beginRun (const edm::Run &run, const edm::EventSetup &c) override
 
 EgHLTOfflineSummaryClient (const edm::ParameterSet &)
 
void endJob () override
 
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) override
 
void endRun (const edm::Run &run, const edm::EventSetup &c) override
 
 ~EgHLTOfflineSummaryClient () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

 EgHLTOfflineSummaryClient (const EgHLTOfflineSummaryClient &rhs)
 
void getEgHLTFiltersToMon_ (std::vector< std::string > &filterNames) const
 
MonitorElementgetEgHLTSumHist_ ()
 
int getQTestBinData_ (const edm::ParameterSet &)
 
int getQTestResults_ (const std::string &filterName, const std::vector< std::string > &pattern) const
 
EgHLTOfflineSummaryClientoperator= (const EgHLTOfflineSummaryClient &rhs)
 
void runClient_ ()
 
void splitStringsToPairs_ (const std::vector< std::string > &stringsToSplit, std::vector< std::pair< std::string, std::string > > &splitStrings)
 

Static Private Member Functions

static void fillQTestData_ (const edm::ParameterSet &iConfig, std::vector< SumHistBinData > &qTests, const std::string &label)
 

Private Attributes

DQMStoredbe_
 
std::string dirName_
 
std::vector< std::string > egHLTFiltersToMon_
 
std::vector< std::string > egHLTFiltersToMonPaths_
 
std::string egHLTSumHistName_
 
std::vector< SumHistBinDataegHLTSumHistXBins_
 
std::vector< std::string > eleHLTFilterNames_
 
std::vector< std::string > eleHLTFilterNamesForSumBit_
 
std::vector< SumHistBinDataeleQTestsForSumBit_
 
bool filterInactiveTriggers_
 
std::string hltTag_
 
bool isSetup_
 
std::vector< std::string > phoHLTFilterNames_
 
std::vector< std::string > phoHLTFilterNamesForSumBit_
 
std::vector< SumHistBinDataphoQTestsForSumBit_
 
bool runClientEndJob_
 
bool runClientEndLumiBlock_
 
bool runClientEndRun_
 
bool usePathNames_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 30 of file EgHLTOfflineSummaryClient.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 33 of file EgHLTOfflineSummaryClient.h.

◆ MonitorElement

Definition at line 32 of file EgHLTOfflineSummaryClient.h.

Constructor & Destructor Documentation

◆ EgHLTOfflineSummaryClient() [1/2]

EgHLTOfflineSummaryClient::EgHLTOfflineSummaryClient ( const EgHLTOfflineSummaryClient rhs)
inlineprivate

Definition at line 69 of file EgHLTOfflineSummaryClient.h.

69 {}

◆ EgHLTOfflineSummaryClient() [2/2]

EgHLTOfflineSummaryClient::EgHLTOfflineSummaryClient ( const edm::ParameterSet iConfig)
explicit

Definition at line 17 of file EgHLTOfflineSummaryClient.cc.

References dbe_, dirName_, egHLTSumHistXBins_, eleHLTFilterNames_, eleHLTFilterNamesForSumBit_, eleQTestsForSumBit_, fillQTestData_(), filterInactiveTriggers_, edm::ParameterSet::getParameter(), hltTag_, Utilities::operator, phoHLTFilterNames_, phoHLTFilterNamesForSumBit_, phoQTestsForSumBit_, runClientEndJob_, runClientEndLumiBlock_, runClientEndRun_, dqm::implementation::DQMStore::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and usePathNames_.

18  : egHLTSumHistName_("egHLTTrigSum"), isSetup_(false) {
20  "DQMDirName"); //only one chance to get this, if we every have another shot, remember to check isSetup is okay
22  if (!dbe_) {
23  edm::LogError("EgHLTOfflineSummaryClient")
24  << "unable to get DQMStore service, no summary histograms will be produced";
25  } else {
27  }
28 
29  eleHLTFilterNames_ = iConfig.getParameter<std::vector<std::string> >("eleHLTFilterNames");
30  phoHLTFilterNames_ = iConfig.getParameter<std::vector<std::string> >("phoHLTFilterNames");
31  eleHLTFilterNamesForSumBit_ = iConfig.getParameter<std::vector<std::string> >("eleHLTFilterNamesForSumBit");
32  phoHLTFilterNamesForSumBit_ = iConfig.getParameter<std::vector<std::string> >("phoHLTFilterNamesForSumBit");
33 
34  filterInactiveTriggers_ = iConfig.getParameter<bool>("filterInactiveTriggers");
35  hltTag_ = iConfig.getParameter<std::string>("hltTag");
36 
37  usePathNames_ = iConfig.getParameter<bool>("usePathNames");
38 
39  //std::vector<std::string> egHLTSumQTests = iConfig.getParameter<std::vector<std::string> >("egHLTSumQTests");
40  // splitStringsToPairs_(egHLTSumQTests,egHLTSumHistXBins_);
41 
42  fillQTestData_(iConfig, egHLTSumHistXBins_, "egHLTSumQTests");
43  fillQTestData_(iConfig, eleQTestsForSumBit_, "egHLTEleQTestsForSumBit");
44  fillQTestData_(iConfig, phoQTestsForSumBit_, "egHLTPhoQTestsForSumBit");
45 
46  runClientEndLumiBlock_ = iConfig.getParameter<bool>("runClientEndLumiBlock");
47  runClientEndRun_ = iConfig.getParameter<bool>("runClientEndRun");
48  runClientEndJob_ = iConfig.getParameter<bool>("runClientEndJob");
49 
50  //egHLTSumHistXBins_.push_back(std::make_pair("Ele Rel Trig Eff",&EgHLTOfflineSummaryClient::eleTrigRelEffQTestResult_));
51  //egHLTSumHistXBins_.push_back(std::make_pair("Pho Rel Trig Eff",&EgHLTOfflineSummaryClient::phoTrigRelEffQTestResult_));
52  //egHLTSumHistXBins_.push_back(std::make_pair("Ele T&P Trig Eff",&EgHLTOfflineSummaryClient::eleTrigTPEffQTestResult_));
53  //egHLTSumHistXBins_.push_back(std::make_pair("Triggered Ele",&EgHLTOfflineSummaryClient::trigEleQTestResult_));
54  //egHLTSumHistXBins_.push_back(std::make_pair("Triggered Pho",&EgHLTOfflineSummaryClient::trigPhoQTestResult_));
55 }
std::vector< std::string > phoHLTFilterNamesForSumBit_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::vector< std::string > eleHLTFilterNamesForSumBit_
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:646
std::vector< SumHistBinData > egHLTSumHistXBins_
std::vector< std::string > eleHLTFilterNames_
std::vector< SumHistBinData > eleQTestsForSumBit_
Log< level::Error, false > LogError
std::vector< SumHistBinData > phoQTestsForSumBit_
std::vector< std::string > phoHLTFilterNames_
static void fillQTestData_(const edm::ParameterSet &iConfig, std::vector< SumHistBinData > &qTests, const std::string &label)

◆ ~EgHLTOfflineSummaryClient()

EgHLTOfflineSummaryClient::~EgHLTOfflineSummaryClient ( )
overridedefault

Member Function Documentation

◆ analyze()

void EgHLTOfflineSummaryClient::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Implements edm::EDAnalyzer.

Definition at line 100 of file EgHLTOfflineSummaryClient.cc.

100 {}

◆ beginJob()

void EgHLTOfflineSummaryClient::beginJob ( void  )
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 59 of file EgHLTOfflineSummaryClient.cc.

59 {}

◆ beginLuminosityBlock()

void EgHLTOfflineSummaryClient::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup context 
)
inlineoverridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 82 of file EgHLTOfflineSummaryClient.h.

82 {}

◆ beginRun()

void EgHLTOfflineSummaryClient::beginRun ( const edm::Run run,
const edm::EventSetup c 
)
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 66 of file EgHLTOfflineSummaryClient.cc.

References c, egHLTFiltersToMon_, egHLTFiltersToMonPaths_, eleHLTFilterNames_, eleHLTFilterNamesForSumBit_, egHLT::trigTools::filterInactiveTriggers(), filterInactiveTriggers_, egHLT::trigTools::getActiveFilters(), getEgHLTFiltersToMon_(), HltComparatorCreateWorkflow::hltConfig, hltTag_, isSetup_, phoHLTFilterNames_, phoHLTFilterNamesForSumBit_, writedatasetfile::run, egHLT::trigTools::translateFiltersToPathNames(), and usePathNames_.

66  {
67  if (!isSetup_) {
68  bool changed;
70  hltConfig.init(run, c, hltTag_, changed);
72  std::vector<std::string> activeFilters;
73  std::vector<std::string> activeEleFilters;
74  std::vector<std::string> activeEle2LegFilters;
75  std::vector<std::string> activePhoFilters;
76  std::vector<std::string> activePho2LegFilters;
77 
79  hltConfig, activeFilters, activeEleFilters, activeEle2LegFilters, activePhoFilters, activePho2LegFilters);
80 
85  }
87 
88  if (usePathNames_)
90  isSetup_ = true;
91  }
92 }
std::vector< std::string > phoHLTFilterNamesForSumBit_
std::vector< std::string > egHLTFiltersToMonPaths_
std::vector< std::string > eleHLTFilterNamesForSumBit_
std::vector< std::string > eleHLTFilterNames_
std::vector< std::string > egHLTFiltersToMon_
void getActiveFilters(const HLTConfigProvider &hltConfig, std::vector< std::string > &activeFilters, std::vector< std::string > &activeEleFilters, std::vector< std::string > &activeEle2LegFilters, std::vector< std::string > &activePhoFilters, std::vector< std::string > &activePho2LegFilters)
std::vector< std::string > phoHLTFilterNames_
void getEgHLTFiltersToMon_(std::vector< std::string > &filterNames) const
void filterInactiveTriggers(std::vector< std::string > &namesToFilter, std::vector< std::string > &activeFilters)
void translateFiltersToPathNames(const HLTConfigProvider &hltConfig, const std::vector< std::string > &filters, std::vector< std::string > &paths)

◆ endJob()

void EgHLTOfflineSummaryClient::endJob ( void  )
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 61 of file EgHLTOfflineSummaryClient.cc.

References runClient_(), and runClientEndJob_.

◆ endLuminosityBlock()

void EgHLTOfflineSummaryClient::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 102 of file EgHLTOfflineSummaryClient.cc.

References runClient_(), and runClientEndLumiBlock_.

◆ endRun()

void EgHLTOfflineSummaryClient::endRun ( const edm::Run run,
const edm::EventSetup c 
)
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 94 of file EgHLTOfflineSummaryClient.cc.

References runClient_(), and runClientEndRun_.

◆ fillQTestData_()

void EgHLTOfflineSummaryClient::fillQTestData_ ( const edm::ParameterSet iConfig,
std::vector< SumHistBinData > &  qTests,
const std::string &  label 
)
staticprivate

Definition at line 251 of file EgHLTOfflineSummaryClient.cc.

References edm::ParameterSet::getParameter(), label, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by EgHLTOfflineSummaryClient().

253  {
254  std::vector<edm::ParameterSet> qTestPara = iConfig.getParameter<std::vector<edm::ParameterSet> >(label);
255  qTests.resize(qTestPara.size());
256  for (size_t testNr = 0; testNr < qTestPara.size(); testNr++) {
257  qTests[testNr].name = qTestPara[testNr].getParameter<std::string>("name");
258  qTests[testNr].qTestPatterns = qTestPara[testNr].getParameter<std::vector<std::string> >("qTestsToCheck");
259  }
260 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
char const * label

◆ getEgHLTFiltersToMon_()

void EgHLTOfflineSummaryClient::getEgHLTFiltersToMon_ ( std::vector< std::string > &  filterNames) const
private

Definition at line 208 of file EgHLTOfflineSummaryClient.cc.

References eleHLTFilterNames_, phoHLTFilterNames_, and edm::swap().

Referenced by beginRun().

208  {
209  std::set<std::string> filterNameSet;
210  for (auto const& eleHLTFilterName : eleHLTFilterNames_)
211  filterNameSet.insert(eleHLTFilterName);
212  for (auto const& phoHLTFilterName : phoHLTFilterNames_)
213  filterNameSet.insert(phoHLTFilterName);
214 
215  //right all the triggers are inserted once and only once in the set, convert to vector
216  //very lazy, create a new vector so can use the constructor and then use swap to transfer
217  std::vector<std::string>(filterNameSet.begin(), filterNameSet.end()).swap(filterNames);
218 }
std::vector< std::string > eleHLTFilterNames_
void swap(Association< C > &lhs, Association< C > &rhs)
Definition: Association.h:117
std::vector< std::string > phoHLTFilterNames_

◆ getEgHLTSumHist_()

EgHLTOfflineSummaryClient::MonitorElement * EgHLTOfflineSummaryClient::getEgHLTSumHist_ ( )
private

Definition at line 165 of file EgHLTOfflineSummaryClient.cc.

References dqm::implementation::IBooker::book2D(), dbe_, dirName_, egHLTFiltersToMon_, egHLTFiltersToMonPaths_, egHLTSumHistName_, egHLTSumHistXBins_, dqm::implementation::IGetter::get(), gpuVertexFinder::hist, Skims_PA_cff::name, dqm::implementation::DQMStore::setCurrentFolder(), and usePathNames_.

Referenced by runClient_().

165  {
166  MonitorElement* egHLTSumHist = dbe_->get(dirName_ + "/" + egHLTSumHistName_);
167  if (egHLTSumHist == nullptr) {
168  auto* hist = new TH2F(egHLTSumHistName_.c_str(),
169  "E/g HLT Offline Summary",
170  egHLTSumHistXBins_.size(),
171  0.,
172  1.,
173  egHLTFiltersToMon_.size(),
174  0.,
175  1.);
176  for (size_t xBinNr = 0; xBinNr < egHLTSumHistXBins_.size(); xBinNr++) {
177  hist->GetXaxis()->SetBinLabel(xBinNr + 1, egHLTSumHistXBins_[xBinNr].name.c_str());
178  }
179 
180  for (size_t yBinNr = 0; yBinNr < egHLTFiltersToMon_.size(); yBinNr++) {
181  if (usePathNames_ && egHLTFiltersToMonPaths_.size() == egHLTFiltersToMon_.size()) {
182  hist->GetYaxis()->SetBinLabel(yBinNr + 1, egHLTFiltersToMonPaths_[yBinNr].c_str());
183  } else {
184  hist->GetYaxis()->SetBinLabel(yBinNr + 1, egHLTFiltersToMon_[yBinNr].c_str());
185  }
186  }
187  for (size_t xBinNr = 0; xBinNr < egHLTSumHistXBins_.size(); xBinNr++) {
188  for (size_t yBinNr = 0; yBinNr < egHLTFiltersToMon_.size(); yBinNr++) {
189  hist->SetBinContent(xBinNr + 1, yBinNr + 1, -2);
190  }
191  }
192 
194  egHLTSumHist = dbe_->book2D(egHLTSumHistName_, hist);
195  }
196  return egHLTSumHist;
197 }
std::vector< std::string > egHLTFiltersToMonPaths_
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:646
std::vector< SumHistBinData > egHLTSumHistXBins_
std::vector< std::string > egHLTFiltersToMon_
__shared__ Hist hist
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:690

◆ getQTestBinData_()

int EgHLTOfflineSummaryClient::getQTestBinData_ ( const edm::ParameterSet )
private

◆ getQTestResults_()

int EgHLTOfflineSummaryClient::getQTestResults_ ( const std::string &  filterName,
const std::vector< std::string > &  pattern 
) const
private

Definition at line 222 of file EgHLTOfflineSummaryClient.cc.

References dbe_, dirName_, pdwgDoubleElectron_cfi::filterName, dqm::implementation::IGetter::getAllContents(), match(), Skims_PA_cff::name, and topSingleLeptonDQM_PU_cfi::pattern.

Referenced by runClient_().

223  {
224  int nrFail = 0;
225  int nrQTests = 0;
226  for (auto const& pattern : patterns) {
227  auto filterpattern = filterName + pattern;
228  std::vector<MonitorElement*> monElems = dbe_->getAllContents(dirName_);
229  // std::cout <<"mon elem "<<dirName_+"/"+filterName+patterns[patternNr]<<"nr monElems "<<monElems.size()<<std::endl;
230  for (auto& monElem : monElems) {
231  const auto& name = monElem->getName();
232  int match = fnmatch(filterpattern.c_str(), name.c_str(), 0);
233  if (match == FNM_NOMATCH)
234  continue;
235 
236  std::vector<QReport*> qTests = monElem->getQReports();
237  nrQTests += qTests.size();
238  // std::cout <<monElems[monElemNr]->getName()<<" "<<monElems[monElemNr]->hasError()<<" nr test "<<qTests.size()<<std::endl;
239  if (monElem->hasError())
240  nrFail++;
241  }
242  }
243  if (nrQTests == 0)
244  return -1;
245  else if (nrFail == 0)
246  return 1;
247  else
248  return 0;
249 }
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
Definition: DQMStore.cc:626
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10

◆ operator=()

EgHLTOfflineSummaryClient& EgHLTOfflineSummaryClient::operator= ( const EgHLTOfflineSummaryClient rhs)
inlineprivate

Definition at line 70 of file EgHLTOfflineSummaryClient.h.

70 { return *this; }

◆ runClient_()

void EgHLTOfflineSummaryClient::runClient_ ( )
private

Definition at line 107 of file EgHLTOfflineSummaryClient.cc.

References dqm::implementation::IBooker::bookFloat(), dbe_, egHLTFiltersToMon_, egHLTSumHistXBins_, eleHLTFilterNamesForSumBit_, eleQTestsForSumBit_, dqm::impl::MonitorElement::Fill(), dqm::implementation::IGetter::get(), getEgHLTSumHist_(), getQTestResults_(), phoHLTFilterNamesForSumBit_, phoQTestsForSumBit_, dqm::impl::MonitorElement::setBinContent(), and dqm::implementation::DQMStore::setCurrentFolder().

Referenced by endJob(), endLuminosityBlock(), and endRun().

107  {
108  MonitorElement* egHLTSumME = getEgHLTSumHist_();
109 
110  for (size_t filterNr = 0; filterNr < egHLTFiltersToMon_.size(); filterNr++) {
111  for (size_t xBinNr = 0; xBinNr < egHLTSumHistXBins_.size(); xBinNr++) {
112  //egHLTSumHist->setBinContent(xBinNr+1,filterNr+1,(*egHLTSumHistXBins_[xBinNr].second)(egHLTFiltersToMon_[filterNr].c_str()));
113  egHLTSumME->setBinContent(
114  xBinNr + 1,
115  filterNr + 1,
116  getQTestResults_(egHLTFiltersToMon_[filterNr], egHLTSumHistXBins_[xBinNr].qTestPatterns));
117  }
118  }
119 
120  MonitorElement* hltEleSumBit = dbe_->get("HLT/EventInfo/reportSummaryContents/HLT_Electron");
121  MonitorElement* hltPhoSumBit = dbe_->get("HLT/EventInfo/reportSummaryContents/HLT_Photon");
122  dbe_->setCurrentFolder("HLT/EventInfo/reportSummaryContents/");
123  if (hltEleSumBit == nullptr)
124  hltEleSumBit = dbe_->bookFloat("HLT_Electron");
125  if (hltPhoSumBit == nullptr)
126  hltPhoSumBit = dbe_->bookFloat("HLT_Photon");
127 
128  float eleSumBit = 1.;
129  for (size_t filterNr = 0; filterNr < eleHLTFilterNamesForSumBit_.size() && eleSumBit == 1;
130  filterNr++) { //breaks as soon as a test fails
131  for (size_t testNr = 0; testNr < eleQTestsForSumBit_.size() && eleSumBit == 1; testNr++) {
132  if (getQTestResults_(eleHLTFilterNamesForSumBit_[filterNr], eleQTestsForSumBit_[testNr].qTestPatterns) == 0)
133  eleSumBit = 0;
134  }
135  }
136  hltEleSumBit->Fill(eleSumBit);
137 
138  float phoSumBit = 1.;
139  for (size_t filterNr = 0; filterNr < phoHLTFilterNamesForSumBit_.size() && phoSumBit == 1;
140  filterNr++) { //breaks as soon as a test fails
141  for (size_t testNr = 0; testNr < phoQTestsForSumBit_.size() && phoSumBit == 1; testNr++) {
142  if (getQTestResults_(phoHLTFilterNamesForSumBit_[filterNr], phoQTestsForSumBit_[testNr].qTestPatterns) == 0)
143  phoSumBit = 0;
144  }
145  }
146  hltPhoSumBit->Fill(phoSumBit);
147 }
std::vector< std::string > phoHLTFilterNamesForSumBit_
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:80
std::vector< std::string > eleHLTFilterNamesForSumBit_
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:646
std::vector< SumHistBinData > egHLTSumHistXBins_
std::vector< SumHistBinData > eleQTestsForSumBit_
std::vector< std::string > egHLTFiltersToMon_
int getQTestResults_(const std::string &filterName, const std::vector< std::string > &pattern) const
void Fill(long long x)
std::vector< SumHistBinData > phoQTestsForSumBit_
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:690

◆ splitStringsToPairs_()

void EgHLTOfflineSummaryClient::splitStringsToPairs_ ( const std::vector< std::string > &  stringsToSplit,
std::vector< std::pair< std::string, std::string > > &  splitStrings 
)
private

Definition at line 148 of file EgHLTOfflineSummaryClient.cc.

References submitPVValidationJobs::split(), and AlCaHLTBitMon_QueryRunRegistry::string.

149  {
150  splitStrings.clear();
151  splitStrings.reserve(stringsToSplit.size());
152  for (auto const& stringNr : stringsToSplit) {
153  std::vector<std::string> tempSplitStrings;
154  boost::split(tempSplitStrings, stringNr, boost::is_any_of(std::string(":")));
155  if (tempSplitStrings.size() == 2) {
156  splitStrings.push_back(std::make_pair(tempSplitStrings[0], tempSplitStrings[1]));
157  } else {
158  edm::LogWarning("EgHLTOfflineSummaryClient")
159  << " Error : entry " << stringNr
160  << " is not of form A:B, ignoring (ie this quailty test isnt being included in the sumamry hist) ";
161  }
162  }
163 }
Log< level::Warning, false > LogWarning

Member Data Documentation

◆ dbe_

DQMStore* EgHLTOfflineSummaryClient::dbe_
private

◆ dirName_

std::string EgHLTOfflineSummaryClient::dirName_
private

◆ egHLTFiltersToMon_

std::vector<std::string> EgHLTOfflineSummaryClient::egHLTFiltersToMon_
private

Definition at line 47 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), getEgHLTSumHist_(), and runClient_().

◆ egHLTFiltersToMonPaths_

std::vector<std::string> EgHLTOfflineSummaryClient::egHLTFiltersToMonPaths_
private

Definition at line 61 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), and getEgHLTSumHist_().

◆ egHLTSumHistName_

std::string EgHLTOfflineSummaryClient::egHLTSumHistName_
private

Definition at line 43 of file EgHLTOfflineSummaryClient.h.

Referenced by getEgHLTSumHist_().

◆ egHLTSumHistXBins_

std::vector<SumHistBinData> EgHLTOfflineSummaryClient::egHLTSumHistXBins_
private

◆ eleHLTFilterNames_

std::vector<std::string> EgHLTOfflineSummaryClient::eleHLTFilterNames_
private

◆ eleHLTFilterNamesForSumBit_

std::vector<std::string> EgHLTOfflineSummaryClient::eleHLTFilterNamesForSumBit_
private

Definition at line 49 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), EgHLTOfflineSummaryClient(), and runClient_().

◆ eleQTestsForSumBit_

std::vector<SumHistBinData> EgHLTOfflineSummaryClient::eleQTestsForSumBit_
private

Definition at line 54 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and runClient_().

◆ filterInactiveTriggers_

bool EgHLTOfflineSummaryClient::filterInactiveTriggers_
private

Definition at line 64 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), and EgHLTOfflineSummaryClient().

◆ hltTag_

std::string EgHLTOfflineSummaryClient::hltTag_
private

Definition at line 66 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), and EgHLTOfflineSummaryClient().

◆ isSetup_

bool EgHLTOfflineSummaryClient::isSetup_
private

Definition at line 65 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun().

◆ phoHLTFilterNames_

std::vector<std::string> EgHLTOfflineSummaryClient::phoHLTFilterNames_
private

◆ phoHLTFilterNamesForSumBit_

std::vector<std::string> EgHLTOfflineSummaryClient::phoHLTFilterNamesForSumBit_
private

Definition at line 50 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), EgHLTOfflineSummaryClient(), and runClient_().

◆ phoQTestsForSumBit_

std::vector<SumHistBinData> EgHLTOfflineSummaryClient::phoQTestsForSumBit_
private

Definition at line 55 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and runClient_().

◆ runClientEndJob_

bool EgHLTOfflineSummaryClient::runClientEndJob_
private

Definition at line 59 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and endJob().

◆ runClientEndLumiBlock_

bool EgHLTOfflineSummaryClient::runClientEndLumiBlock_
private

Definition at line 57 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and endLuminosityBlock().

◆ runClientEndRun_

bool EgHLTOfflineSummaryClient::runClientEndRun_
private

Definition at line 58 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and endRun().

◆ usePathNames_

bool EgHLTOfflineSummaryClient::usePathNames_
private