CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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< B > consumes (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 () noexcept
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
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

Definition at line 33 of file EgHLTOfflineSummaryClient.h.

Definition at line 32 of file EgHLTOfflineSummaryClient.h.

Constructor & Destructor Documentation

EgHLTOfflineSummaryClient::EgHLTOfflineSummaryClient ( const EgHLTOfflineSummaryClient rhs)
inlineprivate

Definition at line 69 of file EgHLTOfflineSummaryClient.h.

69 {}
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_, 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_
std::vector< std::string > eleHLTFilterNamesForSumBit_
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:569
std::vector< SumHistBinData > egHLTSumHistXBins_
std::vector< std::string > eleHLTFilterNames_
std::vector< SumHistBinData > eleQTestsForSumBit_
Log< level::Error, false > LogError
std::vector< SumHistBinData > phoQTestsForSumBit_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::vector< std::string > phoHLTFilterNames_
static void fillQTestData_(const edm::ParameterSet &iConfig, std::vector< SumHistBinData > &qTests, const std::string &label)
EgHLTOfflineSummaryClient::~EgHLTOfflineSummaryClient ( )
overridedefault

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 100 of file EgHLTOfflineSummaryClient.cc.

100 {}
void EgHLTOfflineSummaryClient::beginJob ( void  )
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 59 of file EgHLTOfflineSummaryClient.cc.

59 {}
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 {}
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 egHLTFiltersToMon_, egHLTFiltersToMonPaths_, eleHLTFilterNames_, eleHLTFilterNamesForSumBit_, egHLT::trigTools::filterInactiveTriggers(), filterInactiveTriggers_, egHLT::trigTools::getActiveFilters(), getEgHLTFiltersToMon_(), HltComparatorCreateWorkflow::hltConfig, hltTag_, HLTConfigProvider::init(), isSetup_, phoHLTFilterNames_, phoHLTFilterNamesForSumBit_, 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_
void getEgHLTFiltersToMon_(std::vector< std::string > &filterNames) const
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)
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
std::vector< std::string > phoHLTFilterNames_
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)
void EgHLTOfflineSummaryClient::endJob ( void  )
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 61 of file EgHLTOfflineSummaryClient.cc.

References runClient_(), and runClientEndJob_.

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

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

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 }
char const * label
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
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_
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, mergeVDriftHistosByStation::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:569
std::vector< SumHistBinData > egHLTSumHistXBins_
std::vector< std::string > egHLTFiltersToMon_
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:673
__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:177
int EgHLTOfflineSummaryClient::getQTestBinData_ ( const edm::ParameterSet )
private
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_, dqm::implementation::IGetter::getAllContents(), match(), and mergeVDriftHistosByStation::name.

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:609
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
EgHLTOfflineSummaryClient& EgHLTOfflineSummaryClient::operator= ( const EgHLTOfflineSummaryClient rhs)
inlineprivate

Definition at line 70 of file EgHLTOfflineSummaryClient.h.

70 { return *this; }
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:569
std::vector< SumHistBinData > egHLTSumHistXBins_
std::vector< SumHistBinData > eleQTestsForSumBit_
std::vector< std::string > egHLTFiltersToMon_
void Fill(long long x)
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:673
std::vector< SumHistBinData > phoQTestsForSumBit_
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
int getQTestResults_(const std::string &filterName, const std::vector< std::string > &pattern) const
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

DQMStore* EgHLTOfflineSummaryClient::dbe_
private
std::string EgHLTOfflineSummaryClient::dirName_
private
std::vector<std::string> EgHLTOfflineSummaryClient::egHLTFiltersToMon_
private

Definition at line 47 of file EgHLTOfflineSummaryClient.h.

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

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

Definition at line 61 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), and getEgHLTSumHist_().

std::string EgHLTOfflineSummaryClient::egHLTSumHistName_
private

Definition at line 43 of file EgHLTOfflineSummaryClient.h.

Referenced by getEgHLTSumHist_().

std::vector<SumHistBinData> EgHLTOfflineSummaryClient::egHLTSumHistXBins_
private
std::vector<std::string> EgHLTOfflineSummaryClient::eleHLTFilterNames_
private
std::vector<std::string> EgHLTOfflineSummaryClient::eleHLTFilterNamesForSumBit_
private

Definition at line 49 of file EgHLTOfflineSummaryClient.h.

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

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

Definition at line 54 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and runClient_().

bool EgHLTOfflineSummaryClient::filterInactiveTriggers_
private

Definition at line 64 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), and EgHLTOfflineSummaryClient().

std::string EgHLTOfflineSummaryClient::hltTag_
private

Definition at line 66 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), and EgHLTOfflineSummaryClient().

bool EgHLTOfflineSummaryClient::isSetup_
private

Definition at line 65 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun().

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

Definition at line 50 of file EgHLTOfflineSummaryClient.h.

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

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

Definition at line 55 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and runClient_().

bool EgHLTOfflineSummaryClient::runClientEndJob_
private

Definition at line 59 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and endJob().

bool EgHLTOfflineSummaryClient::runClientEndLumiBlock_
private

Definition at line 57 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and endLuminosityBlock().

bool EgHLTOfflineSummaryClient::runClientEndRun_
private

Definition at line 58 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and endRun().

bool EgHLTOfflineSummaryClient::usePathNames_
private