CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
L1TEMTFEventInfoClient Class Reference

#include <L1TEMTFEventInfoClient.h>

Inheritance diagram for L1TEMTFEventInfoClient:
DQMEDHarvester edm::one::EDProducer< edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 L1TEMTFEventInfoClient (const edm::ParameterSet &)
 Constructor. More...
 
 ~L1TEMTFEventInfoClient () override
 Destructor. More...
 
- Public Member Functions inherited from DQMEDHarvester
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
void beginJob () override
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &) override
 
virtual void dqmAnalyze (DQMStore::IBooker &, DQMStore::IGetter &, edm::Event const &, edm::EventSetup const &)
 
 DQMEDHarvester ()
 
 DQMEDHarvester (edm::ParameterSet const &iConfig)
 
virtual void dqmEndRun (DQMStore::IBooker &, DQMStore::IGetter &, edm::Run const &, edm::EventSetup const &)
 
void endJob () final
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &es) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &es) final
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) 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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (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::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void dqmEndJob (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) override
 end job More...
 
void dqmEndLuminosityBlock (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const edm::LuminosityBlock &, const edm::EventSetup &) override
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (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)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Private Member Functions

void book (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
 book histograms More...
 
void dumpContentMonitorElements (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
 dump the content of the monitoring elements defined in this module More...
 
void initialize ()
 private methods More...
 
void readQtResults (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
 read quality test results More...
 

Private Attributes

std::vector< int > m_deadDisable
 
std::vector< std::string > m_deadFolder
 
std::vector< std::string > m_deadLabel
 
std::vector< std::vector< unsigned int > > m_deadQtSummaryEnabled
 
std::vector< std::vector< std::string > > m_deadQualityTestHist
 
std::vector< std::vector< std::string > > m_deadQualityTestName
 
std::vector< edm::ParameterSetm_deadStrip
 
std::vector< std::string > m_disableDeadStrip
 
std::vector< std::string > m_disableHitObjects
 
std::vector< std::string > m_disableNoisyStrip
 
std::vector< std::string > m_disableTrackObjects
 
std::string m_histDir
 
std::vector< int > m_hitDisable
 
std::vector< std::string > m_hitFolder
 
std::vector< std::string > m_hitLabel
 
std::vector< edm::ParameterSetm_hitObjects
 
std::vector< std::vector< unsigned int > > m_hitQtSummaryEnabled
 
std::vector< std::vector< std::string > > m_hitQualityTestHist
 
std::vector< std::vector< std::string > > m_hitQualityTestName
 
MonitorElementm_meReportSummary
 a summary report More...
 
std::vector< MonitorElement * > m_meReportSummaryContent
 monitor elements to report content for all quality tests More...
 
MonitorElementm_meReportSummaryMap
 report summary map More...
 
MonitorElementm_meReportSummaryMap_chamberStrip
 
std::string m_monitorDir
 
std::vector< int > m_noisyDisable
 
std::vector< std::string > m_noisyFolder
 
std::vector< std::string > m_noisyLabel
 
std::vector< std::vector< unsigned int > > m_noisyQtSummaryEnabled
 
std::vector< std::vector< std::string > > m_noisyQualityTestHist
 
std::vector< std::vector< std::string > > m_noisyQualityTestName
 
std::vector< edm::ParameterSetm_noisyStrip
 
size_t m_nrDeadStrip
 number of L1 trigger dead strips More...
 
size_t m_nrHitObjects
 number of L1 trigger objects More...
 
size_t m_nrNoisyStrip
 number of L1 trigger noisy strips More...
 
size_t m_nrTrackObjects
 number of L1 trigger systems More...
 
Float_t m_reportSummary
 summary report More...
 
bool m_runInEndJob
 
bool m_runInEndLumi
 
bool m_runInEndRun
 
bool m_runInEventLoop
 
std::vector< int > m_summaryContent
 
Float_t m_summarySum
 
size_t m_totalNrQtSummaryEnabled
 
std::vector< int > m_trackDisable
 
std::vector< std::string > m_trackLabel
 
std::vector< std::string > m_trackLabelExt
 
std::vector< edm::ParameterSetm_trackObjects
 
std::vector< std::vector< unsigned int > > m_trackQtSummaryEnabled
 
std::vector< std::vector< std::string > > m_trackQualityTestHist
 
std::vector< std::vector< std::string > > m_trackQualityTestName
 
bool m_verbose
 input parameters More...
 

Additional Inherited Members

- Public Types inherited from DQMEDHarvester
typedef dqm::harvesting::DQMStore DQMStore
 
typedef dqm::harvesting::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMEDHarvester
DQMStoredqmstore_
 
edm::GetterOfProducts< DQMTokenlumimegetter_
 
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::GetterOfProducts< DQMTokenrunmegetter_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Description: fill L1 report summary for trigger L1T and emulator L1TEMU DQM.

Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

Re-designed and fully rewritten class. Original version and authors: see CVS history

Description: see header file.

Author
: Vasile Mihai Ghete - HEPHY Vienna

Definition at line 29 of file L1TEMTFEventInfoClient.h.

Constructor & Destructor Documentation

◆ L1TEMTFEventInfoClient()

L1TEMTFEventInfoClient::L1TEMTFEventInfoClient ( const edm::ParameterSet parSet)

Constructor.

Definition at line 17 of file L1TEMTFEventInfoClient.cc.

18  : m_verbose(parSet.getUntrackedParameter<bool>("verbose", false)),
19  m_monitorDir(parSet.getUntrackedParameter<std::string>("monitorDir", "")),
20  m_histDir(parSet.getUntrackedParameter<std::string>("histDir", "")),
21  m_runInEventLoop(parSet.getUntrackedParameter<bool>("runInEventLoop", false)),
22  m_runInEndLumi(parSet.getUntrackedParameter<bool>("runInEndLumi", false)),
23  m_runInEndRun(parSet.getUntrackedParameter<bool>("runInEndRun", false)),
24  m_runInEndJob(parSet.getUntrackedParameter<bool>("runInEndJob", false)),
25  m_trackObjects(parSet.getParameter<std::vector<edm::ParameterSet> >("TrackObjects")),
26  m_hitObjects(parSet.getParameter<std::vector<edm::ParameterSet> >("HitObjects")),
27  m_disableTrackObjects(parSet.getParameter<std::vector<std::string> >("DisableTrackObjects")),
28  m_disableHitObjects(parSet.getParameter<std::vector<std::string> >("DisableHitObjects")),
29  m_noisyStrip(parSet.getParameter<std::vector<edm::ParameterSet> >("NoisyStrip")),
30  m_deadStrip(parSet.getParameter<std::vector<edm::ParameterSet> >("DeadStrip")),
31  m_disableNoisyStrip(parSet.getParameter<std::vector<std::string> >("DisableNoisyStrip")),
32  m_disableDeadStrip(parSet.getParameter<std::vector<std::string> >("DisableDeadStrip")),
34  m_nrHitObjects(0),
35  m_nrNoisyStrip(0),
36  m_nrDeadStrip(0),
38  initialize();
39 }

References initialize().

◆ ~L1TEMTFEventInfoClient()

L1TEMTFEventInfoClient::~L1TEMTFEventInfoClient ( )
override

Destructor.

Definition at line 42 of file L1TEMTFEventInfoClient.cc.

42  {
43  //empty
44 }

Member Function Documentation

◆ book()

void L1TEMTFEventInfoClient::book ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
private

book histograms

Definition at line 427 of file L1TEMTFEventInfoClient.cc.

427  {
428  if (m_verbose)
429  std::cout << "\nInside void L1TEMTFEventInfoClient::book" << std::endl;
430  std::string dirEventInfo = m_monitorDir + "/EventInfo";
431  if (m_verbose)
432  std::cout << dirEventInfo << std::endl;
433 
434  ibooker.setCurrentFolder(dirEventInfo);
435  if (m_verbose)
436  std::cout << "Ran ibooker.setCurrentFolder(dirEventInfo;" << std::endl;
437 
438  // ...and book it again
439  m_meReportSummary = ibooker.bookFloat("reportSummary");
440  if (m_verbose)
441  std::cout << "Ran m_meReportSummary = ibooker.bookFloat" << std::endl;
442 
443  // initialize reportSummary to 1
444 
445  if (m_meReportSummary) {
446  if (m_verbose)
447  std::cout << "Initializing reportSummary to 1" << std::endl;
449  if (m_verbose)
450  std::cout << "Ran m_meReportSummary->Fill(1);" << std::endl;
451  }
452 
453  // define float histograms for reportSummaryContents (one histogram per quality test),
454  // initialize them to zero
455  // initialize also m_summaryContent to dqm::qstatus::DISABLED
456 
457  ibooker.setCurrentFolder(dirEventInfo + "/reportSummaryContents");
458  if (m_verbose)
459  std::cout << "Ran ibooker.setCurrentFolder(dirEventInfo" << std::endl;
460  // general counters:
461  // iAllQTest: all quality tests for all systems and objects
462  // iAllMon: all monitored systems and objects
463  int iAllQTest = 0;
464  int iAllMon = 0;
465 
466  if (m_verbose)
467  std::cout << "m_nrTrackObjects = " << m_nrTrackObjects << std::endl;
468  for (unsigned int iMon = 0; iMon < m_nrTrackObjects; ++iMon) {
469  if (m_verbose)
470  std::cout << " * iMon = " << iMon << std::endl;
471 
473  if (m_verbose)
474  std::cout << "Ran m_summaryContent.push_back(dqm::qstatus::DISABLED);" << std::endl;
475 
476  const std::vector<std::string>& trackObjQtName = m_trackQualityTestName[iMon];
477  if (m_verbose)
478  std::cout << "Ran const std::vector<std::string>& trackObjQtName = m_trackQualityTestName[iMon];" << std::endl;
479 
480  for (const auto& itQtName : trackObjQtName) {
481  if (m_verbose)
482  std::cout << " - m_monitorDir = " << m_monitorDir << ", m_trackLabel[iMon] = " << m_trackLabel[iMon]
483  << ", (itQtName) = " << (itQtName) << std::endl;
484 
485  // Avoid error in ibooker.bookFloat(hStr))
486  std::string m_mon_mod = m_monitorDir;
487  std::replace(m_mon_mod.begin(), m_mon_mod.end(), '/', '_');
488 
489  const std::string hStr = m_mon_mod + "_L1Sys_" + m_trackLabel[iMon] + "_" + (itQtName);
490  if (m_verbose)
491  std::cout << " - " << hStr << std::endl;
492 
493  m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));
494  if (m_verbose)
495  std::cout << " - Ran m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));" << std::endl;
496  m_meReportSummaryContent[iAllQTest]->Fill(0.);
497  if (m_verbose)
498  std::cout << " - Ran m_meReportSummaryContent[iAllQTest]->Fill(0.);" << std::endl;
499 
500  iAllQTest++;
501  }
502 
503  iAllMon++;
504  }
505 
506  for (unsigned int iMon = 0; iMon < m_nrHitObjects; ++iMon) {
507  if (m_verbose)
508  std::cout << " * iMon = " << iMon << std::endl;
509 
511 
512  const std::vector<std::string>& objQtName = m_hitQualityTestName[iMon];
513 
514  for (const auto& itQtName : objQtName) {
515  // Avoid error in ibooker.bookFloat(hStr))
516  std::string m_mon_mod = m_monitorDir;
517  std::replace(m_mon_mod.begin(), m_mon_mod.end(), '/', '_');
518 
519  const std::string hStr = m_mon_mod + "_L1Obj_" + m_hitLabel[iMon] + "_" + (itQtName);
520  if (m_verbose)
521  std::cout << " - " << hStr << std::endl;
522 
523  m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));
524  if (m_verbose)
525  std::cout << " - Ran m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));" << std::endl;
526  m_meReportSummaryContent[iAllQTest]->Fill(0.);
527  if (m_verbose)
528  std::cout << " - Ran m_meReportSummaryContent[iAllQTest]->Fill(0.);" << std::endl;
529 
530  iAllQTest++;
531  }
532 
533  iAllMon++;
534  }
535 
536  // for Noisy Strips ====================================================================
537  for (unsigned int iMon = 0; iMon < m_nrNoisyStrip; ++iMon) {
539 
540  const std::vector<std::string>& objQtName = m_noisyQualityTestName[iMon];
541 
542  for (const auto& itQtName : objQtName) {
543  // Avoid error in ibooker.bookFloat(hStr))
544  std::string m_mon_mod = m_monitorDir;
545  std::replace(m_mon_mod.begin(), m_mon_mod.end(), '/', '_');
546 
547  const std::string hStr = m_mon_mod + "_L1Obj_" + m_noisyLabel[iMon] + "_" + (itQtName);
548  if (m_verbose)
549  std::cout << " - " << hStr << std::endl;
550 
551  m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));
552  m_meReportSummaryContent[iAllQTest]->Fill(0.);
553 
554  iAllQTest++;
555  }
556  iAllMon++;
557  }
558  // for Dead Strips ====================================================================
559  for (unsigned int iMon = 0; iMon < m_nrDeadStrip; ++iMon) {
561 
562  const std::vector<std::string>& objQtName = m_deadQualityTestName[iMon];
563 
564  for (const auto& itQtName : objQtName) {
565  // Avoid error in ibooker.bookFloat(hStr))
566  std::string m_mon_mod = m_monitorDir;
567  std::replace(m_mon_mod.begin(), m_mon_mod.end(), '/', '_');
568 
569  const std::string hStr = m_mon_mod + "_L1Obj_" + m_deadLabel[iMon] + "_" + (itQtName);
570  if (m_verbose)
571  std::cout << " - " << hStr << std::endl;
572 
573  m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));
574  m_meReportSummaryContent[iAllQTest]->Fill(0.);
575 
576  iAllQTest++;
577  }
578  iAllMon++;
579  }
580 
581  if (m_verbose)
582  std::cout << "Setting current folder to " << dirEventInfo << std::endl;
583  ibooker.setCurrentFolder(dirEventInfo);
584  if (m_verbose)
585  std::cout << "Ran ibooker.setCurrentFolder(dirEventInfo);" << std::endl;
586 
587  // define a histogram with two bins on X and maximum of m_nrTrackObjects, m_nrHitObjects on Y
589  int nBinsYStrip = std::max(m_nrNoisyStrip, m_nrDeadStrip);
590 
592  ibooker.book2D("reportSummaryMap_EMTF", "reportSummaryMap_EMTF", 2, 1, 3, nBinsY, 1, nBinsY + 1);
593  m_meReportSummaryMap_chamberStrip = ibooker.book2D(
594  "reportSummaryMap_chamberStrip", "reportSummaryMap_chamberStrip", 2, 1, 3, nBinsYStrip, 1, nBinsYStrip + 1);
595 
596  if (m_monitorDir == "L1TEMU") {
597  m_meReportSummaryMap->setTitle("L1TEMU: L1 Emulator vs Data Report Summary Map");
598 
599  } else if (m_monitorDir == "L1T") {
600  m_meReportSummaryMap->setTitle("L1T: L1 Trigger Data Report Summary Map");
601  } else if (m_monitorDir == "L1T2016") {
602  m_meReportSummaryMap->setTitle("L1T2016: L1 Trigger Data Report Summary Map");
603  } else {
604  // do nothing
605  }
606 
609 
610  m_meReportSummaryMap->setBinLabel(1, "Noisy Check", 1);
611  m_meReportSummaryMap->setBinLabel(2, "Dead Check", 1);
612 
613  m_meReportSummaryMap_chamberStrip->setBinLabel(1, "Noisy Check", 1);
614  m_meReportSummaryMap_chamberStrip->setBinLabel(2, "Dead Check", 1);
615 
616  // for (int iBin = 0; iBin < nBinsY; ++iBin) {
617  // m_meReportSummaryMap->setBinLabel(iBin + 1, " ", 2); }
618 
619  m_meReportSummaryMap->setBinLabel(1, "Hit BX", 2);
620  m_meReportSummaryMap->setBinLabel(2, "Track BX", 2);
621  //m_meReportSummaryMap->setBinLabel(3, "Track Phi", 2);
622 
623  const std::vector<std::string> suffix_name = {"-4/2", "-4/1", "-3/2", "-3/1", "-2/2", "-2/1", "-1/3",
624  "-1/2", "-1/1b", "-1/1a", "+1/1a", "+1/1b", "+1/2", "+1/3",
625  "+2/1", "+2/2", "+3/1", "+3/2", "+4/1", "+4/2"};
626  for (int iBin = 0; iBin < nBinsYStrip; ++iBin) {
627  m_meReportSummaryMap_chamberStrip->setBinLabel(iBin + 1, "ChamberStrip " + suffix_name[iBin], 2);
628  }
629 }

References dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookFloat(), gather_cfg::cout, dqm::qstatus::DISABLED, dqm::impl::MonitorElement::Fill(), m_deadLabel, m_deadQualityTestName, m_hitLabel, m_hitQualityTestName, m_meReportSummary, m_meReportSummaryContent, m_meReportSummaryMap, m_meReportSummaryMap_chamberStrip, m_monitorDir, m_noisyLabel, m_noisyQualityTestName, m_nrDeadStrip, m_nrHitObjects, m_nrNoisyStrip, m_nrTrackObjects, m_summaryContent, m_trackLabel, m_trackQualityTestName, m_verbose, SiStripPI::max, python.rootplot.root2matplotlib::replace(), dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), dqm::impl::MonitorElement::setTitle(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

◆ dqmEndJob()

void L1TEMTFEventInfoClient::dqmEndJob ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
overrideprotectedvirtual

end job

Implements DQMEDHarvester.

Definition at line 336 of file L1TEMTFEventInfoClient.cc.

336  {
337  if (m_verbose)
338  std::cout << "\nInside void L1TEMTFEventInfoClient::dqmEndJob" << std::endl;
339  book(ibooker, igetter);
340 
341  readQtResults(ibooker, igetter);
342 
343  if (m_verbose) {
344  std::cout << "\n L1TEMTFEventInfoClient::endRun\n" << std::endl;
345  dumpContentMonitorElements(ibooker, igetter);
346  }
347 }

References book(), gather_cfg::cout, dumpContentMonitorElements(), m_verbose, and readQtResults().

◆ dqmEndLuminosityBlock()

void L1TEMTFEventInfoClient::dqmEndLuminosityBlock ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter,
const edm::LuminosityBlock lumiSeg,
const edm::EventSetup evSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDHarvester.

Definition at line 319 of file L1TEMTFEventInfoClient.cc.

322  {
323  if (m_verbose)
324  std::cout << "\nInside void L1TEMTFEventInfoClient::dqmEndLuminosityBlock" << std::endl;
325  if (m_runInEndLumi) {
326  book(ibooker, igetter);
327  readQtResults(ibooker, igetter);
328 
329  if (m_verbose) {
330  std::cout << "\n L1TEMTFEventInfoClient::endLuminosityBlock\n" << std::endl;
331  dumpContentMonitorElements(ibooker, igetter);
332  }
333  }
334 }

References book(), gather_cfg::cout, dumpContentMonitorElements(), m_runInEndLumi, m_verbose, and readQtResults().

◆ dumpContentMonitorElements()

void L1TEMTFEventInfoClient::dumpContentMonitorElements ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
private

dump the content of the monitoring elements defined in this module

Definition at line 349 of file L1TEMTFEventInfoClient.cc.

349  {
350  if (m_verbose)
351  std::cout << "\nSummary report " << std::endl;
352 
353  // summary content
354 
355  MonitorElement* me = igetter.get(m_meReportSummaryMap->getName());
356 
357  if (m_verbose)
358  std::cout << "\nSummary content per system and object as filled in histogram\n " << m_meReportSummaryMap->getName()
359  << std::endl;
360 
361  if (!me) {
362  if (m_verbose)
363  std::cout << "\nNo histogram " << m_meReportSummaryMap->getName()
364  << "\nNo summary content per system and object as filled in histogram.\n " << std::endl;
365  return;
366  }
367 
368  TH2F* hist = me->getTH2F();
369 
370  const int nBinsX = hist->GetNbinsX();
371  const int nBinsY = hist->GetNbinsY();
372  if (m_verbose)
373  std::cout << nBinsX << " " << nBinsY;
374 
375  std::vector<std::vector<int> > meReportSummaryMap(nBinsX, std::vector<int>(nBinsY));
376 
377  // for (int iBinX = 0; iBinX < nBinsX; iBinX++) {
378  // for (int iBinY = 0; iBinY < nBinsY; iBinY++) {
379  // meReportSummaryMap[iBinX][iBinY]
380  // = static_cast<int>(me->GetBinContent(iBinX + 1, iBinY + 1));
381  // }
382  // }
383 
384  if (m_verbose)
385  std::cout << "\nL1 systems: " << m_nrTrackObjects << " systems included\n"
386  << "\n Summary content size: " << (m_summaryContent.size()) << std::endl;
387 
388  for (unsigned int iTrackObj = 0; iTrackObj < m_nrTrackObjects; ++iTrackObj) {
389  if (m_verbose)
390  std::cout << std::setw(10) << m_trackLabel[iTrackObj]
391  << std::setw(10)
392  // << m_trackLabelExt[iTrackObj] << " \t" << m_trackDisable[iTrackObj]
393  << m_trackDisable[iTrackObj] << " \t" << std::setw(25) << " m_summaryContent[" << std::setw(2)
394  << iTrackObj << "] = " << meReportSummaryMap[0][iTrackObj] << std::endl;
395  }
396 
397  if (m_verbose)
398  std::cout << "\n L1 trigger objects: " << m_nrHitObjects << " objects included\n" << std::endl;
399 
400  for (unsigned int iMon = m_nrTrackObjects; iMon < m_nrTrackObjects + m_nrHitObjects; ++iMon) {
401  if (m_verbose)
402  std::cout << std::setw(20) << m_hitLabel[iMon - m_nrTrackObjects] << " \t"
403  << m_hitDisable[iMon - m_nrTrackObjects] << " \t" << std::setw(25) << " m_summaryContent["
404  << std::setw(2) << iMon << "] = \t" << m_summaryContent[iMon] << std::endl;
405  }
406 
407  if (m_verbose)
408  std::cout << std::endl;
409 
410  // quality tests
411 
412  if (m_verbose)
413  std::cout << "\nQuality test results as filled in "
414  << "\n " << m_monitorDir << "/EventInfo/reportSummaryContents\n"
415  << "\n Total number of quality tests: " << (m_meReportSummaryContent.size()) << "\n"
416  << std::endl;
417 
418  for (const auto itME : m_meReportSummaryContent) {
419  if (m_verbose)
420  std::cout << std::setw(50) << itME->getName() << " \t" << std::setw(25) << itME->getFloatValue() << std::endl;
421  }
422 
423  if (m_verbose)
424  std::cout << std::endl;
425 }

References gather_cfg::cout, dqm::implementation::IGetter::get(), dqm::impl::MonitorElement::getName(), compare::hist, m_hitDisable, m_hitLabel, m_meReportSummaryContent, m_meReportSummaryMap, m_monitorDir, m_nrHitObjects, m_nrTrackObjects, m_summaryContent, m_trackDisable, m_trackLabel, m_verbose, and hlt_dqm_clientPB-live_cfg::me.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

◆ initialize()

void L1TEMTFEventInfoClient::initialize ( )
private

private methods

initialize properly all elements

Definition at line 46 of file L1TEMTFEventInfoClient.cc.

46  {
47  if (m_verbose)
48  std::cout << "\nMonitor directory = " << m_monitorDir << std::endl;
49 
50  // L1 systems
51 
53 
55  // m_trackLabelExt.reserve(m_nrTrackObjects); // Not needed? - AWB 05.12.16
57 
58  // on average five quality test per system - just a best guess
59  m_trackQualityTestName.reserve(5 * m_nrTrackObjects); // Not needed? - AWB 05.12.16
60  m_trackQualityTestHist.reserve(5 * m_nrTrackObjects); // Not needed? - AWB 05.12.16
61  m_trackQtSummaryEnabled.reserve(5 * m_nrTrackObjects); // Not needed? - AWB 05.12.16
62 
63  int indexSys = 0;
64 
65  int totalNrQualityTests = 0;
66 
67  for (const auto& itTrack : m_trackObjects) {
68  m_trackLabel.push_back(itTrack.getParameter<std::string>("SystemLabel"));
69 
70  // m_trackLabelExt.push_back(itTrack.getParameter<std::string>( // Not needed? - AWB 05.12.16
71  // "HwValLabel"));
72 
73  m_trackDisable.push_back(itTrack.getParameter<unsigned int>("SystemDisable"));
74  // check the additional disable flag from m_disableTrackObjects
75  for (const auto& itSys : m_disableTrackObjects) {
76  if (itSys == m_trackLabel[indexSys]) {
77  m_trackDisable[indexSys] = 1;
78  }
79  }
80 
81  std::vector<edm::ParameterSet> qTests = itTrack.getParameter<std::vector<edm::ParameterSet> >("QualityTests");
82  size_t qtPerSystem = qTests.size();
83 
84  std::vector<std::string> qtNames;
85  qtNames.reserve(qtPerSystem);
86 
87  std::vector<std::string> qtFullPathHists;
88  qtFullPathHists.reserve(qtPerSystem);
89 
90  std::vector<unsigned int> qtSumEnabled;
91  qtSumEnabled.reserve(qtPerSystem);
92 
93  if (m_verbose)
94  std::cout << "\nLooping over track quality tests" << std::endl;
95  for (const auto& itQT : qTests) {
96  totalNrQualityTests++;
97 
98  qtNames.push_back(itQT.getParameter<std::string>("QualityTestName"));
99 
100  // qtFullPathHists.push_back( m_histDir + "/" + itQT.getParameter<std::string> ("QualityTestHist"));
101  qtFullPathHists.push_back(itQT.getParameter<std::string>("QualityTestHist"));
102  if (m_verbose)
103  std::cout << qtFullPathHists.back() << std::endl;
104 
105  unsigned int qtEnabled = itQT.getParameter<unsigned int>("QualityTestSummaryEnabled");
106 
107  qtSumEnabled.push_back(qtEnabled);
108 
109  if (qtEnabled) {
111  }
112  }
113 
114  m_trackQualityTestName.push_back(qtNames);
115  m_trackQualityTestHist.push_back(qtFullPathHists);
116  m_trackQtSummaryEnabled.push_back(qtSumEnabled);
117 
118  indexSys++;
119  }
120 
121  // L1 objects
122 
123  //
124  m_nrHitObjects = m_hitObjects.size();
125 
126  m_hitLabel.reserve(m_nrHitObjects);
127  m_hitDisable.reserve(m_nrHitObjects);
128 
129  // on average five quality test per object - just a best guess
133 
134  int indexObj = 0;
135 
136  for (const auto& itObject : m_hitObjects) {
137  m_hitLabel.push_back(itObject.getParameter<std::string>("HitLabel"));
138 
139  m_hitDisable.push_back(itObject.getParameter<unsigned int>("HitDisable"));
140  // check the additional disable flag from m_disableHitObjects
141  for (const auto& itObj : m_disableHitObjects) {
142  if (itObj == m_hitLabel[indexObj]) {
143  m_hitDisable[indexObj] = 1;
144  }
145  }
146 
147  std::vector<edm::ParameterSet> qTests = itObject.getParameter<std::vector<edm::ParameterSet> >("QualityTests");
148  size_t qtPerObject = qTests.size();
149 
150  std::vector<std::string> qtNames;
151  qtNames.reserve(qtPerObject);
152 
153  std::vector<std::string> qtFullPathHists;
154  qtFullPathHists.reserve(qtPerObject);
155 
156  std::vector<unsigned int> qtSumEnabled;
157  qtSumEnabled.reserve(qtPerObject);
158 
159  if (m_verbose)
160  std::cout << "\nLooping over hit quality tests" << std::endl;
161  for (const auto& itQT : qTests) {
162  totalNrQualityTests++;
163 
164  qtNames.push_back(itQT.getParameter<std::string>("QualityTestName"));
165 
166  // qtFullPathHists.push_back( m_histDir + "/" + itQT.getParameter<std::string> ("QualityTestHist") );
167  qtFullPathHists.push_back(itQT.getParameter<std::string>("QualityTestHist"));
168  if (m_verbose)
169  std::cout << qtFullPathHists.back() << std::endl;
170 
171  unsigned int qtEnabled = itQT.getParameter<unsigned int>("QualityTestSummaryEnabled");
172 
173  qtSumEnabled.push_back(qtEnabled);
174 
175  if (qtEnabled) {
177  }
178  }
179 
180  m_hitQualityTestName.push_back(qtNames);
181  m_hitQualityTestHist.push_back(qtFullPathHists);
182  m_hitQtSummaryEnabled.push_back(qtSumEnabled);
183 
184  indexObj++;
185  }
186 
187  // L1 Strip Noisy=========================================================================================
188 
189  m_nrNoisyStrip = m_noisyStrip.size();
190 
191  m_noisyLabel.reserve(m_nrNoisyStrip);
193 
194  // on average 20 quality tests per system
195  m_noisyQualityTestName.reserve(20 * m_nrNoisyStrip); // Not needed? - AWB 05.12.16
196  m_noisyQualityTestHist.reserve(20 * m_nrNoisyStrip); // Not needed? - AWB 05.12.16
197  m_noisyQtSummaryEnabled.reserve(20 * m_nrNoisyStrip); // Not needed? - AWB 05.12.16
198 
199  int indexNois = 0;
200 
201  for (const auto& itNoisy : m_noisyStrip) {
202  m_noisyLabel.push_back(itNoisy.getParameter<std::string>("NoisyLabel"));
203 
204  m_noisyDisable.push_back(itNoisy.getParameter<unsigned int>("NoisyDisable"));
205  // check the additional disable flag from m_disableNoisyObjects
206  for (const auto& itNois : m_disableNoisyStrip) {
207  if (itNois == m_noisyLabel[indexNois]) {
208  m_noisyDisable[indexNois] = 1;
209  }
210  }
211 
212  std::vector<edm::ParameterSet> qTests = itNoisy.getParameter<std::vector<edm::ParameterSet> >("QualityTests");
213  size_t qtPerNoisy = qTests.size();
214 
215  std::vector<std::string> qtNames;
216  qtNames.reserve(qtPerNoisy);
217 
218  std::vector<std::string> qtFullPathHists;
219  qtFullPathHists.reserve(qtPerNoisy);
220 
221  std::vector<unsigned int> qtSumEnabled;
222  qtSumEnabled.reserve(qtPerNoisy);
223 
224  if (m_verbose)
225  std::cout << "\nLooping over noisy quality tests" << std::endl;
226  for (const auto& itQT : qTests) {
227  totalNrQualityTests++;
228 
229  qtNames.push_back(itQT.getParameter<std::string>("QualityTestName"));
230 
231  qtFullPathHists.push_back(itQT.getParameter<std::string>("QualityTestHist"));
232  if (m_verbose)
233  std::cout << qtFullPathHists.back() << std::endl;
234 
235  unsigned int qtEnabled = itQT.getParameter<unsigned int>("QualityTestSummaryEnabled");
236 
237  qtSumEnabled.push_back(qtEnabled);
238 
239  if (qtEnabled) {
241  }
242  }
243 
244  m_noisyQualityTestName.push_back(qtNames);
245  m_noisyQualityTestHist.push_back(qtFullPathHists);
246  m_noisyQtSummaryEnabled.push_back(qtSumEnabled);
247 
248  indexNois++;
249  }
250 
251  // L1 Strip Dead=========================================================================================
252 
253  m_nrDeadStrip = m_deadStrip.size();
254 
255  m_deadLabel.reserve(m_nrDeadStrip);
256  m_deadDisable.reserve(m_nrDeadStrip);
257 
258  // on average 20 quality tests per system
259  m_deadQualityTestName.reserve(20 * m_nrDeadStrip); // Not needed? - AWB 05.12.16
260  m_deadQualityTestHist.reserve(20 * m_nrDeadStrip); // Not needed? - AWB 05.12.16
261  m_deadQtSummaryEnabled.reserve(20 * m_nrDeadStrip); // Not needed? - AWB 05.12.16
262 
263  int indexDed = 0;
264 
265  for (const auto& itDead : m_deadStrip) {
266  m_deadLabel.push_back(itDead.getParameter<std::string>("DeadLabel"));
267 
268  m_deadDisable.push_back(itDead.getParameter<unsigned int>("DeadDisable"));
269  // check the additional disable flag from m_disableDeadObjects
270  for (const auto& itDed : m_disableDeadStrip) {
271  if (itDed == m_deadLabel[indexDed]) {
272  m_deadDisable[indexDed] = 1;
273  }
274  }
275 
276  std::vector<edm::ParameterSet> qTests = itDead.getParameter<std::vector<edm::ParameterSet> >("QualityTests");
277  size_t qtPerDead = qTests.size();
278 
279  std::vector<std::string> qtNames;
280  qtNames.reserve(qtPerDead);
281 
282  std::vector<std::string> qtFullPathHists;
283  qtFullPathHists.reserve(qtPerDead);
284 
285  std::vector<unsigned int> qtSumEnabled;
286  qtSumEnabled.reserve(qtPerDead);
287 
288  if (m_verbose)
289  std::cout << "\nLooping over dead quality tests" << std::endl;
290  for (const auto& itQT : qTests) {
291  totalNrQualityTests++;
292 
293  qtNames.push_back(itQT.getParameter<std::string>("QualityTestName"));
294 
295  qtFullPathHists.push_back(itQT.getParameter<std::string>("QualityTestHist"));
296  if (m_verbose)
297  std::cout << qtFullPathHists.back() << std::endl;
298 
299  unsigned int qtEnabled = itQT.getParameter<unsigned int>("QualityTestSummaryEnabled");
300 
301  qtSumEnabled.push_back(qtEnabled);
302 
303  if (qtEnabled) {
305  }
306  }
307 
308  m_deadQualityTestName.push_back(qtNames);
309  m_deadQualityTestHist.push_back(qtFullPathHists);
310  m_deadQtSummaryEnabled.push_back(qtSumEnabled);
311 
312  indexDed++;
313  }
314 
316  m_meReportSummaryContent.reserve(totalNrQualityTests);
317 }

References gather_cfg::cout, m_deadDisable, m_deadLabel, m_deadQtSummaryEnabled, m_deadQualityTestHist, m_deadQualityTestName, m_deadStrip, m_disableDeadStrip, m_disableHitObjects, m_disableNoisyStrip, m_disableTrackObjects, m_hitDisable, m_hitLabel, m_hitObjects, m_hitQtSummaryEnabled, m_hitQualityTestHist, m_hitQualityTestName, m_meReportSummaryContent, m_monitorDir, m_noisyDisable, m_noisyLabel, m_noisyQtSummaryEnabled, m_noisyQualityTestHist, m_noisyQualityTestName, m_noisyStrip, m_nrDeadStrip, m_nrHitObjects, m_nrNoisyStrip, m_nrTrackObjects, m_summaryContent, m_totalNrQtSummaryEnabled, m_trackDisable, m_trackLabel, m_trackObjects, m_trackQtSummaryEnabled, m_trackQualityTestHist, m_trackQualityTestName, m_verbose, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by L1TEMTFEventInfoClient().

◆ readQtResults()

void L1TEMTFEventInfoClient::readQtResults ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
private

read quality test results

Definition at line 631 of file L1TEMTFEventInfoClient.cc.

631  {
632  // initialize summary content, summary sum and ReportSummaryContent float histograms
633  // for all L1 systems and L1 objects
634 
635  if (m_verbose)
636  std::cout << "\nInside L1TEMTFEventInfoClient::readQtResults" << std::endl; // Extra printout - AWB 03.12.16
637 
638  for (std::vector<int>::iterator it = m_summaryContent.begin(); it != m_summaryContent.end(); ++it) {
639  (*it) = dqm::qstatus::DISABLED;
640  }
641 
642  m_summarySum = 0.;
643 
644  for (const auto& itME : m_meReportSummaryContent) {
645  itME->Fill(0.);
646  }
647 
648  // general counters:
649  // iAllQTest: all quality tests for all systems and objects
650  // iAllMon: all monitored systems and objects
651  int iAllQTest = 0;
652  int iAllMon = 0;
653 
654  // quality tests for all L1 systems
655 
656  for (unsigned int iTrackObj = 0; iTrackObj < m_nrTrackObjects; ++iTrackObj) {
657  // get the reports for each quality test
658 
659  const std::vector<std::string>& trackObjQtName = m_trackQualityTestName[iTrackObj];
660  const std::vector<std::string>& trackObjQtHist = m_trackQualityTestHist[iTrackObj];
661  const std::vector<unsigned int>& trackObjQtSummaryEnabled = m_trackQtSummaryEnabled[iTrackObj];
662 
663  // pro system counter for quality tests
664  int iTrackObjQTest = 0;
665 
666  for (const auto& itQtName : trackObjQtName) {
667  // get results, status and message
668 
669  if (m_verbose)
670  std::cout << " itQtName = " << (itQtName) << std::endl; // Extra printout - AWB 03.12.16
671 
672  MonitorElement* qHist = igetter.get(trackObjQtHist[iTrackObjQTest]);
673 
674  if (qHist) {
675  const std::vector<QReport*> qtVec = qHist->getQReports();
676 
677  // if (m_verbose) {
678  if (true) { // Force printout - AWB 03.12.16
679 
680  if (m_verbose)
681  std::cout << " - Number of quality tests"
682  // if (m_verbose) std::cout << "\nNumber of quality tests"
683  << " for histogram " << trackObjQtHist[iTrackObjQTest] << ": " << qtVec.size() << "\n"
684  << std::endl;
685  }
686 
687  const QReport* sysQReport = qHist->getQReport(itQtName);
688  if (sysQReport) {
689  const float trackObjQtResult = sysQReport->getQTresult();
690  const int trackObjQtStatus = sysQReport->getStatus();
691  const std::string& trackObjQtMessage = sysQReport->getMessage();
692 
693  if (m_verbose) {
694  std::cout << "\n"
695  << (itQtName) << " quality test:"
696  << "\n result: " << trackObjQtResult << "\n status: " << trackObjQtStatus
697  << "\n message: " << trackObjQtMessage << "\n"
698  << "\nFilling m_meReportSummaryContent[" << iAllQTest << "] with value " << trackObjQtResult
699  << "\n"
700  << std::endl;
701  }
702 
703  m_meReportSummaryContent[iAllQTest]->Fill(trackObjQtResult);
704 
705  // for the summary map, keep the highest status value ("ERROR") of all tests
706  // which are considered for the summary plot
707  if (trackObjQtSummaryEnabled[iTrackObjQTest]) {
708  if (trackObjQtStatus > m_summaryContent[iAllMon]) {
709  m_summaryContent[iAllMon] = trackObjQtStatus;
710  }
711 
712  m_summarySum += trackObjQtResult;
713  }
714 
715  } else {
716  // for the summary map, if the test was not found but it is assumed to be
717  // considered for the summary plot, set it to dqm::qstatus::INVALID
718 
719  int trackObjQtStatus = dqm::qstatus::INVALID;
720 
721  if (trackObjQtSummaryEnabled[iTrackObjQTest]) {
722  if (trackObjQtStatus > m_summaryContent[iAllMon]) {
723  m_summaryContent[iAllMon] = trackObjQtStatus;
724  }
725  }
726 
727  m_meReportSummaryContent[iAllQTest]->Fill(0.);
728 
729  if (m_verbose)
730  std::cout << "\n" << (itQtName) << " quality test not found\n" << std::endl;
731  }
732 
733  } else {
734  // for the summary map, if the histogram was not found but it is assumed
735  // to have a test be considered for the summary plot, set it to dqm::qstatus::INVALID
736 
737  int trackObjQtStatus = dqm::qstatus::INVALID;
738 
739  if (trackObjQtSummaryEnabled[iTrackObjQTest]) {
740  if (trackObjQtStatus > m_summaryContent[iAllMon]) {
741  m_summaryContent[iAllMon] = trackObjQtStatus;
742  }
743  }
744 
745  m_meReportSummaryContent[iAllQTest]->Fill(0.);
746 
747  if (m_verbose)
748  std::cout << "\nHistogram " << trackObjQtHist[iTrackObjQTest] << " not found\n" << std::endl;
749  }
750 
751  // increase counters for quality tests
752  iTrackObjQTest++;
753  iAllQTest++;
754  }
755 
756  iAllMon++;
757  }
758 
759  // quality tests for all L1 objects
760 
761  for (unsigned int iHitObj = 0; iHitObj < m_nrHitObjects; ++iHitObj) {
762  // get the reports for each quality test
763 
764  const std::vector<std::string>& hitObjQtName = m_hitQualityTestName[iHitObj];
765  const std::vector<std::string>& hitObjQtHist = m_hitQualityTestHist[iHitObj];
766  const std::vector<unsigned int>& hitObjQtSummaryEnabled = m_hitQtSummaryEnabled[iHitObj];
767 
768  // pro object counter for quality tests
769  int iHitObjQTest = 0;
770 
771  for (const auto& itQtName : hitObjQtName) {
772  // get results, status and message
773 
774  MonitorElement* qHist = igetter.get(hitObjQtHist[iHitObjQTest]);
775 
776  if (qHist) {
777  const std::vector<QReport*> qtVec = qHist->getQReports();
778 
779  if (m_verbose)
780  std::cout << "\nNumber of quality tests "
781  << " for histogram " << hitObjQtHist[iHitObjQTest] << ": " << qtVec.size() << "\n"
782  << std::endl;
783 
784  const QReport* objQReport = qHist->getQReport(itQtName);
785  if (objQReport) {
786  const float hitObjQtResult = objQReport->getQTresult();
787  const int hitObjQtStatus = objQReport->getStatus();
788  const std::string& hitObjQtMessage = objQReport->getMessage();
789 
790  if (m_verbose) {
791  std::cout << "\n"
792  << (itQtName) << " quality test:"
793  << "\n result: " << hitObjQtResult << "\n status: " << hitObjQtStatus
794  << "\n message: " << hitObjQtMessage << "\n"
795  << "\nFilling m_meReportSummaryContent[" << iAllQTest << "] with value " << hitObjQtResult << "\n"
796  << std::endl;
797  }
798 
799  m_meReportSummaryContent[iAllQTest]->Fill(hitObjQtResult);
800 
801  // for the summary map, keep the highest status value ("ERROR") of all tests
802  // which are considered for the summary plot
803  if (hitObjQtSummaryEnabled[iHitObjQTest]) {
804  if (hitObjQtStatus > m_summaryContent[iAllMon]) {
805  m_summaryContent[iAllMon] = hitObjQtStatus;
806  }
807 
808  m_summarySum += hitObjQtResult;
809  }
810 
811  } else {
812  // for the summary map, if the test was not found but it is assumed to be
813  // considered for the summary plot, set it to dqm::qstatus::INVALID
814 
815  int hitObjQtStatus = dqm::qstatus::INVALID;
816 
817  if (hitObjQtSummaryEnabled[iHitObjQTest]) {
818  if (hitObjQtStatus > m_summaryContent[iAllMon]) {
819  m_summaryContent[iAllMon] = hitObjQtStatus;
820  }
821  }
822 
823  m_meReportSummaryContent[iAllQTest]->Fill(0.);
824 
825  if (m_verbose)
826  std::cout << "\n" << (itQtName) << " quality test not found\n" << std::endl;
827  }
828 
829  } else {
830  // for the summary map, if the histogram was not found but it is assumed
831  // to have a test be considered for the summary plot, set it to dqm::qstatus::INVALID
832 
833  int hitObjQtStatus = dqm::qstatus::INVALID;
834 
835  if (hitObjQtSummaryEnabled[iHitObjQTest]) {
836  if (hitObjQtStatus > m_summaryContent[iAllMon]) {
837  m_summaryContent[iAllMon] = hitObjQtStatus;
838  }
839  }
840 
841  m_meReportSummaryContent[iAllQTest]->Fill(0.);
842 
843  if (m_verbose)
844  std::cout << "\nHistogram " << hitObjQtHist[iHitObjQTest] << " not found\n" << std::endl;
845  }
846  // increase counters for quality tests
847  iHitObjQTest++;
848  iAllQTest++;
849  }
850  iAllMon++;
851  }
852 
853  // quality tests for all L1 Noisy Strip =================================================================
854 
855  for (unsigned int iNoisyStrp = 0; iNoisyStrp < m_nrNoisyStrip; ++iNoisyStrp) {
856  // get the reports for each quality test
857  const std::vector<std::string>& noisyStrpQtName = m_noisyQualityTestName[iNoisyStrp];
858  const std::vector<std::string>& noisyStrpQtHist = m_noisyQualityTestHist[iNoisyStrp];
859  const std::vector<unsigned int>& noisyStrpQtSummaryEnabled = m_noisyQtSummaryEnabled[iNoisyStrp];
860 
861  // pro object counter for quality tests
862  int iNoisyStrpQTest = 0;
863 
864  for (const auto& itQtName : noisyStrpQtName) {
865  // get results, status and message
866  MonitorElement* qHist = igetter.get(noisyStrpQtHist[iNoisyStrpQTest]);
867 
868  if (qHist) {
869  const std::vector<QReport*> qtVec = qHist->getQReports();
870 
871  if (m_verbose)
872  std::cout << "\nNumber of quality tests "
873  << " for histogram " << noisyStrpQtHist[iNoisyStrpQTest] << ": " << qtVec.size() << "\n"
874  << std::endl;
875 
876  const QReport* objQReport = qHist->getQReport(itQtName);
877  if (objQReport) {
878  const float noisyStrpQtResult = objQReport->getQTresult();
879  const int noisyStrpQtStatus = objQReport->getStatus();
880  const std::string& noisyStrpQtMessage = objQReport->getMessage();
881 
882  if (m_verbose) {
883  std::cout << "\n"
884  << (itQtName) << " quality test:"
885  << "\n result: " << noisyStrpQtResult << "\n status: " << noisyStrpQtStatus
886  << "\n message: " << noisyStrpQtMessage << "\n"
887  << "\nFilling m_meReportSummaryContent[" << iAllQTest << "] with value " << noisyStrpQtResult
888  << "\n"
889  << std::endl;
890  }
891 
892  m_meReportSummaryContent[iAllQTest]->Fill(noisyStrpQtResult);
893 
894  // for the summary map, keep the highest status value ("ERROR") of all tests
895  // which are considered for the summary plot
896  if (noisyStrpQtSummaryEnabled[iNoisyStrpQTest]) {
897  if (noisyStrpQtStatus > m_summaryContent[iAllMon]) {
898  m_summaryContent[iAllMon] = noisyStrpQtStatus;
899  }
900  m_summarySum += noisyStrpQtResult;
901  }
902 
903  } else {
904  // for the summary map, if the test was not found but it is assumed to be
905  // considered for the summary plot, set it to dqm::qstatus::INVALID
906 
907  int noisyStrpQtStatus = dqm::qstatus::INVALID;
908 
909  if (noisyStrpQtSummaryEnabled[iNoisyStrpQTest]) {
910  if (noisyStrpQtStatus > m_summaryContent[iAllMon]) {
911  m_summaryContent[iAllMon] = noisyStrpQtStatus;
912  }
913  }
914 
915  m_meReportSummaryContent[iAllQTest]->Fill(0.);
916 
917  if (m_verbose)
918  std::cout << "\n" << (itQtName) << " quality test not found\n" << std::endl;
919  }
920 
921  } else {
922  // for the summary map, if the histogram was not found but it is assumed
923  // to have a test be considered for the summary plot, set it to dqm::qstatus::INVALID
924 
925  int noisyStrpQtStatus = dqm::qstatus::INVALID;
926 
927  if (noisyStrpQtSummaryEnabled[iNoisyStrpQTest]) {
928  if (noisyStrpQtStatus > m_summaryContent[iAllMon]) {
929  m_summaryContent[iAllMon] = noisyStrpQtStatus;
930  }
931  }
932 
933  m_meReportSummaryContent[iAllQTest]->Fill(0.);
934 
935  if (m_verbose)
936  std::cout << "\nHistogram " << noisyStrpQtHist[iNoisyStrpQTest] << " not found\n" << std::endl;
937  }
938  // increase counters for quality tests
939  iNoisyStrpQTest++;
940  iAllQTest++;
941  }
942  iAllMon++;
943  }
944  // quality tests for all L1 Dead Strip =================================================================
945 
946  for (unsigned int iDeadStrp = 0; iDeadStrp < m_nrDeadStrip; ++iDeadStrp) {
947  // get the reports for each quality test
948  const std::vector<std::string>& deadStrpQtName = m_deadQualityTestName[iDeadStrp];
949  const std::vector<std::string>& deadStrpQtHist = m_deadQualityTestHist[iDeadStrp];
950  const std::vector<unsigned int>& deadStrpQtSummaryEnabled = m_deadQtSummaryEnabled[iDeadStrp];
951 
952  // pro object counter for quality tests
953  int iDeadStrpQTest = 0;
954 
955  for (const auto& itQtName : deadStrpQtName) {
956  // get results, status and message
957 
958  MonitorElement* qHist = igetter.get(deadStrpQtHist[iDeadStrpQTest]);
959 
960  if (qHist) {
961  const std::vector<QReport*> qtVec = qHist->getQReports();
962 
963  if (m_verbose)
964  std::cout << "\nNumber of quality tests "
965  << " for histogram " << deadStrpQtHist[iDeadStrpQTest] << ": " << qtVec.size() << "\n"
966  << std::endl;
967 
968  const QReport* objQReport = qHist->getQReport(itQtName);
969  if (objQReport) {
970  const float deadStrpQtResult = objQReport->getQTresult();
971  const int deadStrpQtStatus = objQReport->getStatus();
972  const std::string& deadStrpQtMessage = objQReport->getMessage();
973 
974  if (m_verbose) {
975  std::cout << "\n"
976  << (itQtName) << " quality test:"
977  << "\n result: " << deadStrpQtResult << "\n status: " << deadStrpQtStatus
978  << "\n message: " << deadStrpQtMessage << "\n"
979  << "\nFilling m_meReportSummaryContent[" << iAllQTest << "] with value " << deadStrpQtResult
980  << "\n"
981  << std::endl;
982  }
983 
984  m_meReportSummaryContent[iAllQTest]->Fill(deadStrpQtResult);
985 
986  // for the summary map, keep the highest status value ("ERROR") of all tests
987  // which are considered for the summary plot
988  if (deadStrpQtSummaryEnabled[iDeadStrpQTest]) {
989  if (deadStrpQtStatus > m_summaryContent[iAllMon]) {
990  m_summaryContent[iAllMon] = deadStrpQtStatus;
991  }
992  m_summarySum += deadStrpQtResult;
993  }
994 
995  } else {
996  // for the summary map, if the test was not found but it is assumed to be
997  // considered for the summary plot, set it to dqm::qstatus::INVALID
998 
999  int deadStrpQtStatus = dqm::qstatus::INVALID;
1000 
1001  if (deadStrpQtSummaryEnabled[iDeadStrpQTest]) {
1002  if (deadStrpQtStatus > m_summaryContent[iAllMon]) {
1003  m_summaryContent[iAllMon] = deadStrpQtStatus;
1004  }
1005  }
1006 
1007  m_meReportSummaryContent[iAllQTest]->Fill(0.);
1008 
1009  if (m_verbose)
1010  std::cout << "\n" << (itQtName) << " quality test not found\n" << std::endl;
1011  }
1012 
1013  } else {
1014  // for the summary map, if the histogram was not found but it is assumed
1015  // to have a test be considered for the summary plot, set it to dqm::qstatus::INVALID
1016 
1017  int deadStrpQtStatus = dqm::qstatus::INVALID;
1018 
1019  if (deadStrpQtSummaryEnabled[iDeadStrpQTest]) {
1020  if (deadStrpQtStatus > m_summaryContent[iAllMon]) {
1021  m_summaryContent[iAllMon] = deadStrpQtStatus;
1022  }
1023  }
1024 
1025  m_meReportSummaryContent[iAllQTest]->Fill(0.);
1026 
1027  if (m_verbose)
1028  std::cout << "\nHistogram " << deadStrpQtHist[iDeadStrpQTest] << " not found\n" << std::endl;
1029  }
1030 
1031  // increase counters for quality tests
1032  iDeadStrpQTest++;
1033  iAllQTest++;
1034  }
1035  iAllMon++;
1036  }
1037 
1038  // reportSummary value
1040  if (m_meReportSummary) {
1042  }
1043 
1044  // fill the ReportSummaryMap for L1 systems (bin 1 on X)
1045  for (unsigned int iTrackObj = 0; iTrackObj < m_nrTrackObjects; ++iTrackObj) {
1046  double summCont = static_cast<double>(m_summaryContent[iTrackObj]);
1047  m_meReportSummaryMap->setBinContent(1, iTrackObj + 1, summCont);
1048  }
1049  // fill the ReportSummaryMap for L1 objects (bin 2 on X)
1050  for (unsigned int iMon = m_nrTrackObjects; iMon < m_nrTrackObjects + m_nrHitObjects; ++iMon) {
1051  double summCont = static_cast<double>(m_summaryContent[iMon]);
1052  m_meReportSummaryMap->setBinContent(2, iMon - m_nrTrackObjects + 1, summCont);
1053  }
1054 
1055  // fill the ReportSummaryMap_chamberStrip for L1 Noisy Strip (bin 1 on X)
1056  for (unsigned int iNoisyStrp = m_nrTrackObjects + m_nrHitObjects;
1058  ++iNoisyStrp) {
1059  double summCont = static_cast<double>(m_summaryContent[iNoisyStrp]);
1061  }
1062  // fill the ReportSummaryMap_chamberStrip for L1 objects (bin 2 on X)
1063  for (unsigned int iDeadStrp = m_nrTrackObjects + m_nrHitObjects + m_nrNoisyStrip;
1065  ++iDeadStrp) {
1066  double summCont = static_cast<double>(m_summaryContent[iDeadStrp]);
1068  2, iDeadStrp - m_nrTrackObjects - m_nrHitObjects - m_nrNoisyStrip + 1, summCont);
1069  }
1070 }

References gather_cfg::cout, dqm::qstatus::DISABLED, dqm::impl::MonitorElement::Fill(), dqmMemoryStats::float, dqm::implementation::IGetter::get(), MonitorElementData::QReport::getMessage(), dqm::impl::MonitorElement::getQReport(), dqm::impl::MonitorElement::getQReports(), MonitorElementData::QReport::getQTresult(), MonitorElementData::QReport::getStatus(), dqm::qstatus::INVALID, m_deadQtSummaryEnabled, m_deadQualityTestHist, m_deadQualityTestName, m_hitQtSummaryEnabled, m_hitQualityTestHist, m_hitQualityTestName, m_meReportSummary, m_meReportSummaryContent, m_meReportSummaryMap, m_meReportSummaryMap_chamberStrip, m_noisyQtSummaryEnabled, m_noisyQualityTestHist, m_noisyQualityTestName, m_nrDeadStrip, m_nrHitObjects, m_nrNoisyStrip, m_nrTrackObjects, m_reportSummary, m_summaryContent, m_summarySum, m_totalNrQtSummaryEnabled, m_trackQtSummaryEnabled, m_trackQualityTestHist, m_trackQualityTestName, m_verbose, dqm::impl::MonitorElement::setBinContent(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

Member Data Documentation

◆ m_deadDisable

std::vector<int> L1TEMTFEventInfoClient::m_deadDisable
private

Definition at line 122 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

◆ m_deadFolder

std::vector<std::string> L1TEMTFEventInfoClient::m_deadFolder
private

Definition at line 124 of file L1TEMTFEventInfoClient.h.

◆ m_deadLabel

std::vector<std::string> L1TEMTFEventInfoClient::m_deadLabel
private

Definition at line 123 of file L1TEMTFEventInfoClient.h.

Referenced by book(), and initialize().

◆ m_deadQtSummaryEnabled

std::vector<std::vector<unsigned int> > L1TEMTFEventInfoClient::m_deadQtSummaryEnabled
private

Definition at line 128 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

◆ m_deadQualityTestHist

std::vector<std::vector<std::string> > L1TEMTFEventInfoClient::m_deadQualityTestHist
private

Definition at line 127 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

◆ m_deadQualityTestName

std::vector<std::vector<std::string> > L1TEMTFEventInfoClient::m_deadQualityTestName
private

Definition at line 126 of file L1TEMTFEventInfoClient.h.

Referenced by book(), initialize(), and readQtResults().

◆ m_deadStrip

std::vector<edm::ParameterSet> L1TEMTFEventInfoClient::m_deadStrip
private

Definition at line 64 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

◆ m_disableDeadStrip

std::vector<std::string> L1TEMTFEventInfoClient::m_disableDeadStrip
private

Definition at line 66 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

◆ m_disableHitObjects

std::vector<std::string> L1TEMTFEventInfoClient::m_disableHitObjects
private

Definition at line 61 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

◆ m_disableNoisyStrip

std::vector<std::string> L1TEMTFEventInfoClient::m_disableNoisyStrip
private

Definition at line 65 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

◆ m_disableTrackObjects

std::vector<std::string> L1TEMTFEventInfoClient::m_disableTrackObjects
private

Definition at line 60 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

◆ m_histDir

std::string L1TEMTFEventInfoClient::m_histDir
private

Definition at line 51 of file L1TEMTFEventInfoClient.h.

◆ m_hitDisable

std::vector<int> L1TEMTFEventInfoClient::m_hitDisable
private

Definition at line 106 of file L1TEMTFEventInfoClient.h.

Referenced by dumpContentMonitorElements(), and initialize().

◆ m_hitFolder

std::vector<std::string> L1TEMTFEventInfoClient::m_hitFolder
private

Definition at line 108 of file L1TEMTFEventInfoClient.h.

◆ m_hitLabel

std::vector<std::string> L1TEMTFEventInfoClient::m_hitLabel
private

Definition at line 107 of file L1TEMTFEventInfoClient.h.

Referenced by book(), dumpContentMonitorElements(), and initialize().

◆ m_hitObjects

std::vector<edm::ParameterSet> L1TEMTFEventInfoClient::m_hitObjects
private

Definition at line 59 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

◆ m_hitQtSummaryEnabled

std::vector<std::vector<unsigned int> > L1TEMTFEventInfoClient::m_hitQtSummaryEnabled
private

Definition at line 112 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

◆ m_hitQualityTestHist

std::vector<std::vector<std::string> > L1TEMTFEventInfoClient::m_hitQualityTestHist
private

Definition at line 111 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

◆ m_hitQualityTestName

std::vector<std::vector<std::string> > L1TEMTFEventInfoClient::m_hitQualityTestName
private

Definition at line 110 of file L1TEMTFEventInfoClient.h.

Referenced by book(), initialize(), and readQtResults().

◆ m_meReportSummary

MonitorElement* L1TEMTFEventInfoClient::m_meReportSummary
private

a summary report

Definition at line 137 of file L1TEMTFEventInfoClient.h.

Referenced by book(), and readQtResults().

◆ m_meReportSummaryContent

std::vector<MonitorElement *> L1TEMTFEventInfoClient::m_meReportSummaryContent
private

monitor elements to report content for all quality tests

Definition at line 140 of file L1TEMTFEventInfoClient.h.

Referenced by book(), dumpContentMonitorElements(), initialize(), and readQtResults().

◆ m_meReportSummaryMap

MonitorElement* L1TEMTFEventInfoClient::m_meReportSummaryMap
private

report summary map

Definition at line 143 of file L1TEMTFEventInfoClient.h.

Referenced by book(), dumpContentMonitorElements(), and readQtResults().

◆ m_meReportSummaryMap_chamberStrip

MonitorElement* L1TEMTFEventInfoClient::m_meReportSummaryMap_chamberStrip
private

Definition at line 144 of file L1TEMTFEventInfoClient.h.

Referenced by book(), and readQtResults().

◆ m_monitorDir

std::string L1TEMTFEventInfoClient::m_monitorDir
private

Definition at line 50 of file L1TEMTFEventInfoClient.h.

Referenced by book(), dumpContentMonitorElements(), and initialize().

◆ m_noisyDisable

std::vector<int> L1TEMTFEventInfoClient::m_noisyDisable
private

Definition at line 114 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

◆ m_noisyFolder

std::vector<std::string> L1TEMTFEventInfoClient::m_noisyFolder
private

Definition at line 116 of file L1TEMTFEventInfoClient.h.

◆ m_noisyLabel

std::vector<std::string> L1TEMTFEventInfoClient::m_noisyLabel
private

Definition at line 115 of file L1TEMTFEventInfoClient.h.

Referenced by book(), and initialize().

◆ m_noisyQtSummaryEnabled

std::vector<std::vector<unsigned int> > L1TEMTFEventInfoClient::m_noisyQtSummaryEnabled
private

Definition at line 120 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

◆ m_noisyQualityTestHist

std::vector<std::vector<std::string> > L1TEMTFEventInfoClient::m_noisyQualityTestHist
private

Definition at line 119 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

◆ m_noisyQualityTestName

std::vector<std::vector<std::string> > L1TEMTFEventInfoClient::m_noisyQualityTestName
private

Definition at line 118 of file L1TEMTFEventInfoClient.h.

Referenced by book(), initialize(), and readQtResults().

◆ m_noisyStrip

std::vector<edm::ParameterSet> L1TEMTFEventInfoClient::m_noisyStrip
private

Definition at line 63 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

◆ m_nrDeadStrip

size_t L1TEMTFEventInfoClient::m_nrDeadStrip
private

number of L1 trigger dead strips

Definition at line 92 of file L1TEMTFEventInfoClient.h.

Referenced by book(), initialize(), and readQtResults().

◆ m_nrHitObjects

size_t L1TEMTFEventInfoClient::m_nrHitObjects
private

number of L1 trigger objects

Definition at line 86 of file L1TEMTFEventInfoClient.h.

Referenced by book(), dumpContentMonitorElements(), initialize(), and readQtResults().

◆ m_nrNoisyStrip

size_t L1TEMTFEventInfoClient::m_nrNoisyStrip
private

number of L1 trigger noisy strips

Definition at line 89 of file L1TEMTFEventInfoClient.h.

Referenced by book(), initialize(), and readQtResults().

◆ m_nrTrackObjects

size_t L1TEMTFEventInfoClient::m_nrTrackObjects
private

number of L1 trigger systems

Definition at line 83 of file L1TEMTFEventInfoClient.h.

Referenced by book(), dumpContentMonitorElements(), initialize(), and readQtResults().

◆ m_reportSummary

Float_t L1TEMTFEventInfoClient::m_reportSummary
private

summary report

Definition at line 132 of file L1TEMTFEventInfoClient.h.

Referenced by readQtResults().

◆ m_runInEndJob

bool L1TEMTFEventInfoClient::m_runInEndJob
private

Definition at line 56 of file L1TEMTFEventInfoClient.h.

◆ m_runInEndLumi

bool L1TEMTFEventInfoClient::m_runInEndLumi
private

Definition at line 54 of file L1TEMTFEventInfoClient.h.

Referenced by dqmEndLuminosityBlock().

◆ m_runInEndRun

bool L1TEMTFEventInfoClient::m_runInEndRun
private

Definition at line 55 of file L1TEMTFEventInfoClient.h.

◆ m_runInEventLoop

bool L1TEMTFEventInfoClient::m_runInEventLoop
private

Definition at line 53 of file L1TEMTFEventInfoClient.h.

◆ m_summaryContent

std::vector<int> L1TEMTFEventInfoClient::m_summaryContent
private

◆ m_summarySum

Float_t L1TEMTFEventInfoClient::m_summarySum
private

Definition at line 133 of file L1TEMTFEventInfoClient.h.

Referenced by readQtResults().

◆ m_totalNrQtSummaryEnabled

size_t L1TEMTFEventInfoClient::m_totalNrQtSummaryEnabled
private

total number of quality tests enabled for summary report for L1 trigger systems and L1 trigger objects

Definition at line 96 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

◆ m_trackDisable

std::vector<int> L1TEMTFEventInfoClient::m_trackDisable
private

Definition at line 100 of file L1TEMTFEventInfoClient.h.

Referenced by dumpContentMonitorElements(), and initialize().

◆ m_trackLabel

std::vector<std::string> L1TEMTFEventInfoClient::m_trackLabel
private

Definition at line 98 of file L1TEMTFEventInfoClient.h.

Referenced by book(), dumpContentMonitorElements(), and initialize().

◆ m_trackLabelExt

std::vector<std::string> L1TEMTFEventInfoClient::m_trackLabelExt
private

Definition at line 99 of file L1TEMTFEventInfoClient.h.

◆ m_trackObjects

std::vector<edm::ParameterSet> L1TEMTFEventInfoClient::m_trackObjects
private

Definition at line 58 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

◆ m_trackQtSummaryEnabled

std::vector<std::vector<unsigned int> > L1TEMTFEventInfoClient::m_trackQtSummaryEnabled
private

Definition at line 104 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

◆ m_trackQualityTestHist

std::vector<std::vector<std::string> > L1TEMTFEventInfoClient::m_trackQualityTestHist
private

Definition at line 103 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

◆ m_trackQualityTestName

std::vector<std::vector<std::string> > L1TEMTFEventInfoClient::m_trackQualityTestName
private

Definition at line 102 of file L1TEMTFEventInfoClient.h.

Referenced by book(), initialize(), and readQtResults().

◆ m_verbose

bool L1TEMTFEventInfoClient::m_verbose
private
L1TEMTFEventInfoClient::m_runInEventLoop
bool m_runInEventLoop
Definition: L1TEMTFEventInfoClient.h:53
L1TEMTFEventInfoClient::m_hitQtSummaryEnabled
std::vector< std::vector< unsigned int > > m_hitQtSummaryEnabled
Definition: L1TEMTFEventInfoClient.h:112
L1TEMTFEventInfoClient::dumpContentMonitorElements
void dumpContentMonitorElements(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
dump the content of the monitoring elements defined in this module
Definition: L1TEMTFEventInfoClient.cc:349
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
dqm::impl::MonitorElement::setTitle
virtual void setTitle(const std::string &title)
set (ie. change) histogram/profile title
Definition: MonitorElement.cc:818
L1TEMTFEventInfoClient::m_hitLabel
std::vector< std::string > m_hitLabel
Definition: L1TEMTFEventInfoClient.h:107
L1TEMTFEventInfoClient::m_trackQtSummaryEnabled
std::vector< std::vector< unsigned int > > m_trackQtSummaryEnabled
Definition: L1TEMTFEventInfoClient.h:104
L1TEMTFEventInfoClient::m_noisyQualityTestHist
std::vector< std::vector< std::string > > m_noisyQualityTestHist
Definition: L1TEMTFEventInfoClient.h:119
L1TEMTFEventInfoClient::m_meReportSummaryMap
MonitorElement * m_meReportSummaryMap
report summary map
Definition: L1TEMTFEventInfoClient.h:143
gather_cfg.cout
cout
Definition: gather_cfg.py:144
L1TEMTFEventInfoClient::m_disableHitObjects
std::vector< std::string > m_disableHitObjects
Definition: L1TEMTFEventInfoClient.h:61
L1TEMTFEventInfoClient::m_meReportSummaryMap_chamberStrip
MonitorElement * m_meReportSummaryMap_chamberStrip
Definition: L1TEMTFEventInfoClient.h:144
L1TEMTFEventInfoClient::m_trackLabel
std::vector< std::string > m_trackLabel
Definition: L1TEMTFEventInfoClient.h:98
L1TEMTFEventInfoClient::m_noisyQtSummaryEnabled
std::vector< std::vector< unsigned int > > m_noisyQtSummaryEnabled
Definition: L1TEMTFEventInfoClient.h:120
L1TEMTFEventInfoClient::m_runInEndJob
bool m_runInEndJob
Definition: L1TEMTFEventInfoClient.h:56
L1TEMTFEventInfoClient::m_trackDisable
std::vector< int > m_trackDisable
Definition: L1TEMTFEventInfoClient.h:100
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
dqm::impl::MonitorElement::getQReports
std::vector< MonitorElementData::QReport * > getQReports() const
get map of QReports
Definition: MonitorElement.cc:502
L1TEMTFEventInfoClient::m_nrTrackObjects
size_t m_nrTrackObjects
number of L1 trigger systems
Definition: L1TEMTFEventInfoClient.h:83
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
L1TEMTFEventInfoClient::m_reportSummary
Float_t m_reportSummary
summary report
Definition: L1TEMTFEventInfoClient.h:132
L1TEMTFEventInfoClient::m_deadQualityTestName
std::vector< std::vector< std::string > > m_deadQualityTestName
Definition: L1TEMTFEventInfoClient.h:126
L1TEMTFEventInfoClient::m_summarySum
Float_t m_summarySum
Definition: L1TEMTFEventInfoClient.h:133
L1TEMTFEventInfoClient::m_nrNoisyStrip
size_t m_nrNoisyStrip
number of L1 trigger noisy strips
Definition: L1TEMTFEventInfoClient.h:89
L1TEMTFEventInfoClient::m_trackObjects
std::vector< edm::ParameterSet > m_trackObjects
Definition: L1TEMTFEventInfoClient.h:58
L1TEMTFEventInfoClient::m_summaryContent
std::vector< int > m_summaryContent
Definition: L1TEMTFEventInfoClient.h:134
L1TEMTFEventInfoClient::m_disableNoisyStrip
std::vector< std::string > m_disableNoisyStrip
Definition: L1TEMTFEventInfoClient.h:65
L1TEMTFEventInfoClient::m_trackQualityTestName
std::vector< std::vector< std::string > > m_trackQualityTestName
Definition: L1TEMTFEventInfoClient.h:102
compare.hist
hist
Definition: compare.py:376
L1TEMTFEventInfoClient::m_noisyDisable
std::vector< int > m_noisyDisable
Definition: L1TEMTFEventInfoClient.h:114
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
MonitorElementData::QReport::getQTresult
float getQTresult() const
get test result i.e. prob value
Definition: MonitorElementCollection.h:103
L1TEMTFEventInfoClient::book
void book(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
book histograms
Definition: L1TEMTFEventInfoClient.cc:427
L1TEMTFEventInfoClient::m_hitDisable
std::vector< int > m_hitDisable
Definition: L1TEMTFEventInfoClient.h:106
L1TEMTFEventInfoClient::m_disableTrackObjects
std::vector< std::string > m_disableTrackObjects
Definition: L1TEMTFEventInfoClient.h:60
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
dqm::impl::MonitorElement::getQReport
const MonitorElementData::QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
Definition: MonitorElement.cc:481
L1TEMTFEventInfoClient::m_disableDeadStrip
std::vector< std::string > m_disableDeadStrip
Definition: L1TEMTFEventInfoClient.h:66
L1TEMTFEventInfoClient::m_noisyStrip
std::vector< edm::ParameterSet > m_noisyStrip
Definition: L1TEMTFEventInfoClient.h:63
L1TEMTFEventInfoClient::m_runInEndLumi
bool m_runInEndLumi
Definition: L1TEMTFEventInfoClient.h:54
L1TEMTFEventInfoClient::m_deadQualityTestHist
std::vector< std::vector< std::string > > m_deadQualityTestHist
Definition: L1TEMTFEventInfoClient.h:127
dqm::qstatus::DISABLED
static const int DISABLED
Definition: MonitorElement.h:48
L1TEMTFEventInfoClient::m_deadStrip
std::vector< edm::ParameterSet > m_deadStrip
Definition: L1TEMTFEventInfoClient.h:64
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
L1TEMTFEventInfoClient::m_verbose
bool m_verbose
input parameters
Definition: L1TEMTFEventInfoClient.h:49
L1TEMTFEventInfoClient::m_deadLabel
std::vector< std::string > m_deadLabel
Definition: L1TEMTFEventInfoClient.h:123
MonitorElementData::QReport
Definition: MonitorElementCollection.h:55
dqm::impl::MonitorElement::setBinLabel
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:771
L1TEMTFEventInfoClient::m_deadDisable
std::vector< int > m_deadDisable
Definition: L1TEMTFEventInfoClient.h:122
L1TEMTFEventInfoClient::readQtResults
void readQtResults(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
read quality test results
Definition: L1TEMTFEventInfoClient.cc:631
L1TEMTFEventInfoClient::initialize
void initialize()
private methods
Definition: L1TEMTFEventInfoClient.cc:46
L1TEMTFEventInfoClient::m_histDir
std::string m_histDir
Definition: L1TEMTFEventInfoClient.h:51
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
L1TEMTFEventInfoClient::m_meReportSummary
MonitorElement * m_meReportSummary
a summary report
Definition: L1TEMTFEventInfoClient.h:137
MonitorElementData::QReport::getStatus
int getStatus() const
get test status
Definition: MonitorElementCollection.h:100
L1TEMTFEventInfoClient::m_hitObjects
std::vector< edm::ParameterSet > m_hitObjects
Definition: L1TEMTFEventInfoClient.h:59
L1TEMTFEventInfoClient::m_nrHitObjects
size_t m_nrHitObjects
number of L1 trigger objects
Definition: L1TEMTFEventInfoClient.h:86
dqm::impl::MonitorElement::setBinContent
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
Definition: MonitorElement.cc:691
L1TEMTFEventInfoClient::m_monitorDir
std::string m_monitorDir
Definition: L1TEMTFEventInfoClient.h:50
dqm::impl::MonitorElement::getName
const std::string & getName() const
get name of ME
Definition: MonitorElement.h:250
MonitorElementData::QReport::getMessage
const std::string & getMessage() const
get message attached to test
Definition: MonitorElementCollection.h:106
dqm::qstatus::INVALID
static const int INVALID
Definition: MonitorElement.h:49
L1TEMTFEventInfoClient::m_noisyLabel
std::vector< std::string > m_noisyLabel
Definition: L1TEMTFEventInfoClient.h:115
L1TEMTFEventInfoClient::m_deadQtSummaryEnabled
std::vector< std::vector< unsigned int > > m_deadQtSummaryEnabled
Definition: L1TEMTFEventInfoClient.h:128
L1TEMTFEventInfoClient::m_runInEndRun
bool m_runInEndRun
Definition: L1TEMTFEventInfoClient.h:55
L1TEMTFEventInfoClient::m_trackQualityTestHist
std::vector< std::vector< std::string > > m_trackQualityTestHist
Definition: L1TEMTFEventInfoClient.h:103
L1TEMTFEventInfoClient::m_meReportSummaryContent
std::vector< MonitorElement * > m_meReportSummaryContent
monitor elements to report content for all quality tests
Definition: L1TEMTFEventInfoClient.h:140
L1TEMTFEventInfoClient::m_hitQualityTestHist
std::vector< std::vector< std::string > > m_hitQualityTestHist
Definition: L1TEMTFEventInfoClient.h:111
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:61
L1TEMTFEventInfoClient::m_totalNrQtSummaryEnabled
size_t m_totalNrQtSummaryEnabled
Definition: L1TEMTFEventInfoClient.h:96
L1TEMTFEventInfoClient::m_noisyQualityTestName
std::vector< std::vector< std::string > > m_noisyQualityTestName
Definition: L1TEMTFEventInfoClient.h:118
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
L1TEMTFEventInfoClient::m_hitQualityTestName
std::vector< std::vector< std::string > > m_hitQualityTestName
Definition: L1TEMTFEventInfoClient.h:110
python.rootplot.root2matplotlib.replace
def replace(string, replacements)
Definition: root2matplotlib.py:444
L1TEMTFEventInfoClient::m_nrDeadStrip
size_t m_nrDeadStrip
number of L1 trigger dead strips
Definition: L1TEMTFEventInfoClient.h:92