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::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 L1TEMTFEventInfoClient (const edm::ParameterSet &)
 Constructor. More...
 
virtual ~L1TEMTFEventInfoClient ()
 Destructor. More...
 
- Public Member Functions inherited from DQMEDHarvester
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQMEDHarvester ()
 
virtual void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
 
void endJob () final
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &, edm::EventSetup const &) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () 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
 
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)
 
 ~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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
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 &)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
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 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)
 

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 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
edm::EDPutTokenT< DQMTokenlumiToken_
 
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 ( const edm::ParameterSet parSet)

Constructor.

Definition at line 17 of file L1TEMTFEventInfoClient.cc.

References initialize().

17  :
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 
39  initialize();
40 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > m_disableDeadStrip
std::vector< edm::ParameterSet > m_deadStrip
std::vector< std::string > m_disableTrackObjects
bool m_verbose
input parameters
size_t m_nrHitObjects
number of L1 trigger objects
void initialize()
private methods
std::vector< edm::ParameterSet > m_hitObjects
size_t m_nrDeadStrip
number of L1 trigger dead strips
std::vector< std::string > m_disableHitObjects
std::vector< edm::ParameterSet > m_trackObjects
std::vector< std::string > m_disableNoisyStrip
size_t m_nrTrackObjects
number of L1 trigger systems
size_t m_nrNoisyStrip
number of L1 trigger noisy strips
std::vector< edm::ParameterSet > m_noisyStrip
L1TEMTFEventInfoClient::~L1TEMTFEventInfoClient ( )
virtual

Destructor.

Definition at line 43 of file L1TEMTFEventInfoClient.cc.

43  {
44  //empty
45 }

Member Function Documentation

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

book histograms

Definition at line 458 of file L1TEMTFEventInfoClient.cc.

References DQMStore::IBooker::book2D(), DQMStore::IBooker::bookFloat(), gather_cfg::cout, dqm::qstatus::DISABLED, MonitorElement::Fill(), DQMStore::IGetter::get(), MonitorElement::getName(), 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, DQMStore::IGetter::removeElement(), python.rootplot.root2matplotlib::replace(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), MonitorElement::setTitle(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

458  {
459 
460  if (m_verbose) std::cout << "\nInside void L1TEMTFEventInfoClient::book" << std::endl;
461  std::string dirEventInfo = m_monitorDir + "/EventInfo";
462  if (m_verbose) std::cout << dirEventInfo << std::endl;
463 
464  ibooker.setCurrentFolder(dirEventInfo);
465  if (m_verbose) std::cout << "Ran ibooker.setCurrentFolder(dirEventInfo;" << std::endl;
466 
467  // remove m_meReportSummary if it exists
468  if ((m_meReportSummary = igetter.get(dirEventInfo + "/reportSummary"))) {
469  if (m_verbose) std::cout << "Removing m_meReportSummary" << std::endl;
471  if (m_verbose) std::cout << "Ran igetter.removeElement(m_meReportSummary->getName());" << std::endl;
472  }
473 
474  // ...and book it again
475  m_meReportSummary = ibooker.bookFloat("reportSummary");
476  if (m_verbose) std::cout << "Ran m_meReportSummary = ibooker.bookFloat" << std::endl;
477 
478  // initialize reportSummary to 1
479 
480  if (m_meReportSummary) {
481  if (m_verbose) std::cout << "Initializing reportSummary to 1" << std::endl;
483  if (m_verbose) std::cout << "Ran m_meReportSummary->Fill(1);" << std::endl;
484  }
485 
486  // define float histograms for reportSummaryContents (one histogram per quality test),
487  // initialize them to zero
488  // initialize also m_summaryContent to dqm::qstatus::DISABLED
489 
490  ibooker.setCurrentFolder(dirEventInfo + "/reportSummaryContents");
491  if (m_verbose) std::cout << "Ran ibooker.setCurrentFolder(dirEventInfo" << std::endl;
492  // general counters:
493  // iAllQTest: all quality tests for all systems and objects
494  // iAllMon: all monitored systems and objects
495  int iAllQTest = 0;
496  int iAllMon = 0;
497 
498  if (m_verbose) std::cout << "m_nrTrackObjects = " << m_nrTrackObjects << std::endl;
499  for (unsigned int iMon = 0; iMon < m_nrTrackObjects; ++iMon) {
500  if (m_verbose) std::cout << " * iMon = " << iMon << std::endl;
501 
503  if (m_verbose) std::cout << "Ran m_summaryContent.push_back(dqm::qstatus::DISABLED);" << std::endl;
504 
505  const std::vector<std::string>& trackObjQtName = m_trackQualityTestName[iMon];
506  if (m_verbose) std::cout << "Ran const std::vector<std::string>& trackObjQtName = m_trackQualityTestName[iMon];" << std::endl;
507 
508  for (const auto & itQtName : trackObjQtName) {
509 
510  if (m_verbose) std::cout << " - m_monitorDir = " << m_monitorDir << ", m_trackLabel[iMon] = " << m_trackLabel[iMon]
511  << ", (itQtName) = " << (itQtName) << std::endl;
512 
513  // Avoid error in ibooker.bookFloat(hStr))
514  std::string m_mon_mod = m_monitorDir;
515  std::replace( m_mon_mod.begin(), m_mon_mod.end(), '/', '_' );
516 
517  const std::string hStr = m_mon_mod + "_L1Sys_" +m_trackLabel[iMon] + "_" + (itQtName);
518  if (m_verbose) std::cout << " - " << hStr << std::endl;
519 
520  m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));
521  if (m_verbose) std::cout << " - Ran m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));" << std::endl;
522  m_meReportSummaryContent[iAllQTest]->Fill(0.);
523  if (m_verbose) std::cout << " - Ran m_meReportSummaryContent[iAllQTest]->Fill(0.);" << std::endl;
524 
525  iAllQTest++;
526  }
527 
528  iAllMon++;
529  }
530 
531 
532  for (unsigned int iMon = 0; iMon < m_nrHitObjects; ++iMon) {
533  if (m_verbose) std::cout << " * iMon = " << iMon << std::endl;
534 
536 
537  const std::vector<std::string>& objQtName =
538  m_hitQualityTestName[iMon];
539 
540  for (const auto & itQtName : objQtName) {
541 
542  // Avoid error in ibooker.bookFloat(hStr))
543  std::string m_mon_mod = m_monitorDir;
544  std::replace( m_mon_mod.begin(), m_mon_mod.end(), '/', '_' );
545 
546  const std::string hStr = m_mon_mod + "_L1Obj_" + m_hitLabel[iMon] + "_" + (itQtName);
547  if (m_verbose) std::cout << " - " << hStr << std::endl;
548 
549  m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));
550  if (m_verbose) std::cout << " - Ran m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));" << std::endl;
551  m_meReportSummaryContent[iAllQTest]->Fill(0.);
552  if (m_verbose) std::cout << " - Ran m_meReportSummaryContent[iAllQTest]->Fill(0.);" << std::endl;
553 
554  iAllQTest++;
555  }
556 
557  iAllMon++;
558 
559  }
560 
561  // for Noisy Strips ====================================================================
562  for (unsigned int iMon = 0; iMon < m_nrNoisyStrip; ++iMon) {
563 
565 
566  const std::vector<std::string>& objQtName =
568 
569  for (const auto & itQtName : objQtName) {
570 
571  // Avoid error in ibooker.bookFloat(hStr))
572  std::string m_mon_mod = m_monitorDir;
573  std::replace( m_mon_mod.begin(), m_mon_mod.end(), '/', '_' );
574 
575  const std::string hStr = m_mon_mod + "_L1Obj_" + m_noisyLabel[iMon] + "_" + (itQtName);
576  if (m_verbose) std::cout << " - " << hStr << std::endl;
577 
578  m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));
579  m_meReportSummaryContent[iAllQTest]->Fill(0.);
580 
581  iAllQTest++;
582  }
583  iAllMon++;
584  }
585  // for Dead Strips ====================================================================
586  for (unsigned int iMon = 0; iMon < m_nrDeadStrip; ++iMon) {
587 
589 
590  const std::vector<std::string>& objQtName =
591  m_deadQualityTestName[iMon];
592 
593  for (const auto & itQtName : objQtName) {
594 
595  // Avoid error in ibooker.bookFloat(hStr))
596  std::string m_mon_mod = m_monitorDir;
597  std::replace( m_mon_mod.begin(), m_mon_mod.end(), '/', '_' );
598 
599  const std::string hStr = m_mon_mod + "_L1Obj_" + m_deadLabel[iMon] + "_" + (itQtName);
600  if (m_verbose) std::cout << " - " << hStr << std::endl;
601 
602  m_meReportSummaryContent.push_back(ibooker.bookFloat(hStr));
603  m_meReportSummaryContent[iAllQTest]->Fill(0.);
604 
605  iAllQTest++;
606  }
607  iAllMon++;
608  }
609 
610  if (m_verbose) std::cout << "Setting current folder to " << dirEventInfo << std::endl;
611  ibooker.setCurrentFolder(dirEventInfo);
612  if (m_verbose) std::cout << "Ran ibooker.setCurrentFolder(dirEventInfo);" << std::endl;
613 
614  // Should this be a "==" ? - AWB 03.12.16
615  if ((m_meReportSummaryMap = igetter.get(dirEventInfo + "/reportSummaryMap"))) {
617  }
618 
619  // define a histogram with two bins on X and maximum of m_nrTrackObjects, m_nrHitObjects on Y
620  int nBinsY = std::max(m_nrTrackObjects, m_nrHitObjects);
621  int nBinsYStrip = std::max(m_nrNoisyStrip, m_nrDeadStrip);
622 
623  m_meReportSummaryMap = ibooker.book2D("reportSummaryMap_EMTF",
624  "reportSummaryMap_EMTF", 2, 1, 3, nBinsY, 1, nBinsY + 1);
625  m_meReportSummaryMap_chamberStrip = ibooker.book2D("reportSummaryMap_chamberStrip",
626  "reportSummaryMap_chamberStrip", 2, 1, 3, nBinsYStrip, 1, nBinsYStrip + 1);
627 
628  if (m_monitorDir == "L1TEMU") {
630  "L1TEMU: L1 Emulator vs Data Report Summary Map");
631 
632  } else if (m_monitorDir == "L1T") {
634  "L1T: L1 Trigger Data Report Summary Map");
635  } else if (m_monitorDir == "L1T2016") {
637  "L1T2016: L1 Trigger Data Report Summary Map");
638  } else {
639  // do nothing
640  }
641 
644 
645  m_meReportSummaryMap->setBinLabel(1, "Noisy Check", 1);
646  m_meReportSummaryMap->setBinLabel(2, "Dead Check", 1);
647 
648  m_meReportSummaryMap_chamberStrip->setBinLabel(1, "Noisy Check", 1);
649  m_meReportSummaryMap_chamberStrip->setBinLabel(2, "Dead Check", 1);
650 
651 // for (int iBin = 0; iBin < nBinsY; ++iBin) {
652 // m_meReportSummaryMap->setBinLabel(iBin + 1, " ", 2); }
653 
654  m_meReportSummaryMap->setBinLabel(1, "Hit BX", 2);
655  m_meReportSummaryMap->setBinLabel(2, "Track BX", 2);
656  //m_meReportSummaryMap->setBinLabel(3, "Track Phi", 2);
657 
658  const std::vector<std::string> suffix_name = {"-4/2", "-4/1", "-3/2", "-3/1", "-2/2", "-2/1",
659  "-1/3", "-1/2", "-1/1b", "-1/1a",
660  "+1/1a", "+1/1b", "+1/2", "+1/3",
661  "+2/1", "+2/2", "+3/1", "+3/2", "+4/1", "+4/2"};
662  for (int iBin = 0; iBin < nBinsYStrip; ++iBin) {
663  m_meReportSummaryMap_chamberStrip->setBinLabel(iBin + 1, "ChamberStrip " + suffix_name[iBin], 2);
664  }
665 }
std::vector< std::vector< std::string > > m_trackQualityTestName
std::vector< MonitorElement * > m_meReportSummaryContent
monitor elements to report content for all quality tests
bool m_verbose
input parameters
std::vector< std::string > m_noisyLabel
size_t m_nrHitObjects
number of L1 trigger objects
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)
def replace(string, replacements)
const std::string & getName() const
get name of ME
std::vector< std::string > m_deadLabel
std::vector< std::vector< std::string > > m_hitQualityTestName
void Fill(long long x)
MonitorElement * m_meReportSummary
a summary report
std::vector< std::vector< std::string > > m_noisyQualityTestName
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
static const int DISABLED
size_t m_nrDeadStrip
number of L1 trigger dead strips
MonitorElement * get(std::string const &path)
Definition: DQMStore.cc:303
void setTitle(const std::string &title)
set (ie. change) histogram/profile title
MonitorElement * m_meReportSummaryMap_chamberStrip
std::vector< std::string > m_trackLabel
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
MonitorElement * m_meReportSummaryMap
report summary map
std::vector< std::vector< std::string > > m_deadQualityTestName
std::vector< std::string > m_hitLabel
std::vector< int > m_summaryContent
MonitorElement * bookFloat(Args &&...args)
Definition: DQMStore.h:105
size_t m_nrTrackObjects
number of L1 trigger systems
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void removeElement(Args &&...args)
Definition: DQMStore.h:199
size_t m_nrNoisyStrip
number of L1 trigger noisy strips
void L1TEMTFEventInfoClient::dqmEndJob ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
overrideprotectedvirtual

end job

Implements DQMEDHarvester.

Definition at line 367 of file L1TEMTFEventInfoClient.cc.

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

367  {
368 
369  if (m_verbose) std::cout << "\nInside void L1TEMTFEventInfoClient::dqmEndJob" << std::endl;
370  book(ibooker, igetter);
371 
372  readQtResults(ibooker, igetter);
373 
374  if (m_verbose) {
375  std::cout << "\n L1TEMTFEventInfoClient::endRun\n" << std::endl;
376  dumpContentMonitorElements(ibooker, igetter);
377  }
378 }
void readQtResults(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
read quality test results
void book(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
book histograms
bool m_verbose
input parameters
void dumpContentMonitorElements(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
dump the content of the monitoring elements defined in this module
void L1TEMTFEventInfoClient::dqmEndLuminosityBlock ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter,
const edm::LuminosityBlock lumiSeg,
const edm::EventSetup evSetup 
)
protected

Definition at line 350 of file L1TEMTFEventInfoClient.cc.

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

350  {
351 
352  if (m_verbose) std::cout << "\nInside void L1TEMTFEventInfoClient::dqmEndLuminosityBlock" << std::endl;
353  if (m_runInEndLumi) {
354 
355  book(ibooker, igetter);
356  readQtResults(ibooker, igetter);
357 
358  if (m_verbose) {
359  std::cout << "\n L1TEMTFEventInfoClient::endLuminosityBlock\n" << std::endl;
360  dumpContentMonitorElements(ibooker, igetter);
361  }
362 
363  }
364 }
void readQtResults(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
read quality test results
void book(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
book histograms
bool m_verbose
input parameters
void dumpContentMonitorElements(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
dump the content of the monitoring elements defined in this module
void L1TEMTFEventInfoClient::dumpContentMonitorElements ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
private

dump the content of the monitoring elements defined in this module

Definition at line 380 of file L1TEMTFEventInfoClient.cc.

References gather_cfg::cout, DQMStore::IGetter::get(), MonitorElement::getName(), MonitorElement::getTH2F(), create_public_lumi_plots::hist, m_hitDisable, m_hitLabel, m_meReportSummaryContent, m_meReportSummaryMap, m_monitorDir, m_nrHitObjects, m_nrTrackObjects, m_summaryContent, m_trackDisable, m_trackLabel, and m_verbose.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

380  {
381 
382  if (m_verbose) std::cout << "\nSummary report " << std::endl;
383 
384  // summary content
385 
387 
388  if (m_verbose) std::cout << "\nSummary content per system and object as filled in histogram\n "
389  << m_meReportSummaryMap->getName() << std::endl;
390 
391  if (!me) {
392 
393  if (m_verbose) std::cout << "\nNo histogram " << m_meReportSummaryMap->getName()
394  << "\nNo summary content per system and object as filled in histogram.\n " << std::endl;
395  return;
396  }
397 
398  TH2F* hist = me->getTH2F();
399 
400  const int nBinsX = hist->GetNbinsX();
401  const int nBinsY = hist->GetNbinsY();
402  if (m_verbose) std::cout << nBinsX << " " << nBinsY;
403 
404  std::vector<std::vector<int> > meReportSummaryMap(nBinsX, std::vector<int>(
405  nBinsY));
406 
407 // for (int iBinX = 0; iBinX < nBinsX; iBinX++) {
408 // for (int iBinY = 0; iBinY < nBinsY; iBinY++) {
409 // meReportSummaryMap[iBinX][iBinY]
410 // = static_cast<int>(me->GetBinContent(iBinX + 1, iBinY + 1));
411 // }
412 // }
413 
414  if (m_verbose) std::cout << "\nL1 systems: " << m_nrTrackObjects << " systems included\n"
415  << "\n Summary content size: " << (m_summaryContent.size()) << std::endl;
416 
417  for (unsigned int iTrackObj = 0; iTrackObj < m_nrTrackObjects; ++iTrackObj) {
418 
419  if (m_verbose) std::cout << std::setw(10) << m_trackLabel[iTrackObj] << std::setw(10)
420  // << m_trackLabelExt[iTrackObj] << " \t" << m_trackDisable[iTrackObj]
421  << m_trackDisable[iTrackObj]
422  << " \t" << std::setw(25) << " m_summaryContent["
423  << std::setw(2) << iTrackObj << "] = " << meReportSummaryMap[0][iTrackObj] << std::endl;
424  }
425 
426  if (m_verbose) std::cout << "\n L1 trigger objects: " << m_nrHitObjects
427  << " objects included\n" << std::endl;
428 
429  for (unsigned int iMon = m_nrTrackObjects; iMon < m_nrTrackObjects
430  + m_nrHitObjects; ++iMon) {
431 
432  if (m_verbose) std::cout << std::setw(20) << m_hitLabel[iMon - m_nrTrackObjects]
433  << " \t" << m_hitDisable[iMon - m_nrTrackObjects] << " \t"
434  << std::setw(25) << " m_summaryContent[" << std::setw(2)
435  << iMon << "] = \t" << m_summaryContent[iMon] << std::endl;
436  }
437 
438  if (m_verbose) std::cout << std::endl;
439 
440  // quality tests
441 
442  if (m_verbose) std::cout << "\nQuality test results as filled in " << "\n "
443  << m_monitorDir << "/EventInfo/reportSummaryContents\n"
444  << "\n Total number of quality tests: "
445  << (m_meReportSummaryContent.size()) << "\n" << std::endl;
446 
447  for (const auto itME : m_meReportSummaryContent) {
448  if (m_verbose) std::cout << std::setw(50) << itME->getName() << " \t"
449  << std::setw(25) << itME->getFloatValue() << std::endl;
450  }
451 
452  if (m_verbose) std::cout << std::endl;
453 
454 }
std::vector< MonitorElement * > m_meReportSummaryContent
monitor elements to report content for all quality tests
bool m_verbose
input parameters
size_t m_nrHitObjects
number of L1 trigger objects
const std::string & getName() const
get name of ME
TH2F * getTH2F() const
MonitorElement * get(std::string const &path)
Definition: DQMStore.cc:303
std::vector< std::string > m_trackLabel
std::vector< int > m_trackDisable
MonitorElement * m_meReportSummaryMap
report summary map
std::vector< std::string > m_hitLabel
std::vector< int > m_summaryContent
size_t m_nrTrackObjects
number of L1 trigger systems
std::vector< int > m_hitDisable
void L1TEMTFEventInfoClient::initialize ( )
private

private methods

initialize properly all elements

Definition at line 47 of file L1TEMTFEventInfoClient.cc.

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().

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

read quality test results

Definition at line 668 of file L1TEMTFEventInfoClient.cc.

References gather_cfg::cout, dqm::qstatus::DISABLED, MonitorElement::Fill(), objects.autophobj::float, DQMStore::IGetter::get(), QReport::getMessage(), MonitorElement::getQReport(), MonitorElement::getQReports(), QReport::getQTresult(), 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, MonitorElement::setBinContent(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dqmEndJob(), and dqmEndLuminosityBlock().

668  {
669 
670  // initialize summary content, summary sum and ReportSummaryContent float histograms
671  // for all L1 systems and L1 objects
672 
673  if (m_verbose) std::cout << "\nInside L1TEMTFEventInfoClient::readQtResults" << std::endl; // Extra printout - AWB 03.12.16
674 
675  for (std::vector<int>::iterator it = m_summaryContent.begin();
676  it != m_summaryContent.end(); ++it) {
677  (*it) = dqm::qstatus::DISABLED;
678  }
679 
680  m_summarySum = 0.;
681 
682  for (const auto & itME : m_meReportSummaryContent) {
683  itME->Fill(0.);
684  }
685 
686  // general counters:
687  // iAllQTest: all quality tests for all systems and objects
688  // iAllMon: all monitored systems and objects
689  int iAllQTest = 0;
690  int iAllMon = 0;
691 
692  // quality tests for all L1 systems
693 
694  for (unsigned int iTrackObj = 0; iTrackObj < m_nrTrackObjects; ++iTrackObj) {
695 
696  // get the reports for each quality test
697 
698  const std::vector<std::string>& trackObjQtName =
699  m_trackQualityTestName[iTrackObj];
700  const std::vector<std::string>& trackObjQtHist =
701  m_trackQualityTestHist[iTrackObj];
702  const std::vector<unsigned int>& trackObjQtSummaryEnabled =
703  m_trackQtSummaryEnabled[iTrackObj];
704 
705  // pro system counter for quality tests
706  int iTrackObjQTest = 0;
707 
708  for (const auto & itQtName : trackObjQtName) {
709 
710  // get results, status and message
711 
712  if (m_verbose) std::cout << " itQtName = " << (itQtName) << std::endl; // Extra printout - AWB 03.12.16
713 
714  MonitorElement* qHist = igetter.get(trackObjQtHist[iTrackObjQTest]);
715 
716  if (qHist) {
717  const std::vector<QReport*> qtVec = qHist->getQReports();
718 
719  // if (m_verbose) {
720  if (true) { // Force printout - AWB 03.12.16
721 
722  if (m_verbose) std::cout << " - Number of quality tests"
723  // if (m_verbose) std::cout << "\nNumber of quality tests"
724  << " for histogram " << trackObjQtHist[iTrackObjQTest]
725  << ": " << qtVec.size() << "\n" << std::endl;
726  }
727 
728  const QReport* sysQReport = qHist->getQReport(itQtName);
729  if (sysQReport) {
730  const float trackObjQtResult = sysQReport->getQTresult();
731  const int trackObjQtStatus = sysQReport->getStatus();
732  const std::string& trackObjQtMessage = sysQReport->getMessage();
733 
734  if (m_verbose) {
735  std::cout << "\n" << (itQtName) << " quality test:"
736  << "\n result: " << trackObjQtResult
737  << "\n status: " << trackObjQtStatus
738  << "\n message: " << trackObjQtMessage << "\n"
739  << "\nFilling m_meReportSummaryContent["
740  << iAllQTest << "] with value "
741  << trackObjQtResult << "\n" << std::endl;
742  }
743 
744  m_meReportSummaryContent[iAllQTest]->Fill(trackObjQtResult);
745 
746  // for the summary map, keep the highest status value ("ERROR") of all tests
747  // which are considered for the summary plot
748  if (trackObjQtSummaryEnabled[iTrackObjQTest]) {
749 
750  if (trackObjQtStatus > m_summaryContent[iAllMon]) {
751  m_summaryContent[iAllMon] = trackObjQtStatus;
752  }
753 
754  m_summarySum += trackObjQtResult;
755  }
756 
757 
758  } else {
759 
760  // for the summary map, if the test was not found but it is assumed to be
761  // considered for the summary plot, set it to dqm::qstatus::INVALID
762 
763  int trackObjQtStatus = dqm::qstatus::INVALID;
764 
765  if (trackObjQtSummaryEnabled[iTrackObjQTest]) {
766 
767  if (trackObjQtStatus > m_summaryContent[iAllMon]) {
768  m_summaryContent[iAllMon] = trackObjQtStatus;
769  }
770  }
771 
772  m_meReportSummaryContent[iAllQTest]->Fill(0.);
773 
774  if (m_verbose) std::cout << "\n" << (itQtName)
775  << " quality test not found\n" << std::endl;
776  }
777 
778  } else {
779  // for the summary map, if the histogram was not found but it is assumed
780  // to have a test be considered for the summary plot, set it to dqm::qstatus::INVALID
781 
782  int trackObjQtStatus = dqm::qstatus::INVALID;
783 
784  if (trackObjQtSummaryEnabled[iTrackObjQTest]) {
785 
786  if (trackObjQtStatus > m_summaryContent[iAllMon]) {
787  m_summaryContent[iAllMon] = trackObjQtStatus;
788  }
789  }
790 
791  m_meReportSummaryContent[iAllQTest]->Fill(0.);
792 
793  if (m_verbose) std::cout << "\nHistogram " << trackObjQtHist[iTrackObjQTest]
794  << " not found\n" << std::endl;
795  }
796 
797  // increase counters for quality tests
798  iTrackObjQTest++;
799  iAllQTest++;
800 
801  }
802 
803  iAllMon++;
804 
805  }
806 
807  // quality tests for all L1 objects
808 
809  for (unsigned int iHitObj = 0; iHitObj < m_nrHitObjects; ++iHitObj) {
810 
811  // get the reports for each quality test
812 
813  const std::vector<std::string>& hitObjQtName =
814  m_hitQualityTestName[iHitObj];
815  const std::vector<std::string>& hitObjQtHist =
816  m_hitQualityTestHist[iHitObj];
817  const std::vector<unsigned int>& hitObjQtSummaryEnabled =
818  m_hitQtSummaryEnabled[iHitObj];
819 
820  // pro object counter for quality tests
821  int iHitObjQTest = 0;
822 
823  for (const auto & itQtName : hitObjQtName) {
824 
825  // get results, status and message
826 
827  MonitorElement* qHist = igetter.get(hitObjQtHist[iHitObjQTest]);
828 
829  if (qHist) {
830  const std::vector<QReport*> qtVec = qHist->getQReports();
831 
832  if (m_verbose) std::cout << "\nNumber of quality tests "
833  << " for histogram " << hitObjQtHist[iHitObjQTest]
834  << ": " << qtVec.size() << "\n" << std::endl;
835 
836  const QReport* objQReport = qHist->getQReport(itQtName);
837  if (objQReport) {
838  const float hitObjQtResult = objQReport->getQTresult();
839  const int hitObjQtStatus = objQReport->getStatus();
840  const std::string& hitObjQtMessage = objQReport->getMessage();
841 
842  if (m_verbose) {
843  std::cout << "\n" << (itQtName) << " quality test:"
844  << "\n result: " << hitObjQtResult
845  << "\n status: " << hitObjQtStatus
846  << "\n message: " << hitObjQtMessage << "\n"
847  << "\nFilling m_meReportSummaryContent["
848  << iAllQTest << "] with value "
849  << hitObjQtResult << "\n" << std::endl;
850  }
851 
852  m_meReportSummaryContent[iAllQTest]->Fill(hitObjQtResult);
853 
854  // for the summary map, keep the highest status value ("ERROR") of all tests
855  // which are considered for the summary plot
856  if (hitObjQtSummaryEnabled[iHitObjQTest]) {
857 
858  if (hitObjQtStatus > m_summaryContent[iAllMon]) {
859  m_summaryContent[iAllMon] = hitObjQtStatus;
860  }
861 
862  m_summarySum += hitObjQtResult;
863  }
864 
865  } else {
866 
867  // for the summary map, if the test was not found but it is assumed to be
868  // considered for the summary plot, set it to dqm::qstatus::INVALID
869 
870  int hitObjQtStatus = dqm::qstatus::INVALID;
871 
872  if (hitObjQtSummaryEnabled[iHitObjQTest]) {
873 
874  if (hitObjQtStatus > m_summaryContent[iAllMon]) {
875  m_summaryContent[iAllMon] = hitObjQtStatus;
876  }
877  }
878 
879  m_meReportSummaryContent[iAllQTest]->Fill(0.);
880 
881  if (m_verbose) std::cout << "\n" << (itQtName)
882  << " quality test not found\n" << std::endl;
883  }
884 
885  } else {
886  // for the summary map, if the histogram was not found but it is assumed
887  // to have a test be considered for the summary plot, set it to dqm::qstatus::INVALID
888 
889  int hitObjQtStatus = dqm::qstatus::INVALID;
890 
891  if (hitObjQtSummaryEnabled[iHitObjQTest]) {
892 
893  if (hitObjQtStatus > m_summaryContent[iAllMon]) {
894  m_summaryContent[iAllMon] = hitObjQtStatus;
895  }
896  }
897 
898  m_meReportSummaryContent[iAllQTest]->Fill(0.);
899 
900  if (m_verbose) std::cout << "\nHistogram " << hitObjQtHist[iHitObjQTest]
901  << " not found\n" << std::endl;
902  }
903  // increase counters for quality tests
904  iHitObjQTest++;
905  iAllQTest++;
906  }
907  iAllMon++;
908  }
909 
910  // quality tests for all L1 Noisy Strip =================================================================
911 
912  for (unsigned int iNoisyStrp = 0; iNoisyStrp < m_nrNoisyStrip; ++iNoisyStrp) {
913 
914  // get the reports for each quality test
915  const std::vector<std::string>& noisyStrpQtName =
916  m_noisyQualityTestName[iNoisyStrp];
917  const std::vector<std::string>& noisyStrpQtHist =
918  m_noisyQualityTestHist[iNoisyStrp];
919  const std::vector<unsigned int>& noisyStrpQtSummaryEnabled =
920  m_noisyQtSummaryEnabled[iNoisyStrp];
921 
922  // pro object counter for quality tests
923  int iNoisyStrpQTest = 0;
924 
925  for (const auto & itQtName : noisyStrpQtName) {
926 
927  // get results, status and message
928  MonitorElement* qHist = igetter.get(noisyStrpQtHist[iNoisyStrpQTest]);
929 
930  if (qHist) {
931  const std::vector<QReport*> qtVec = qHist->getQReports();
932 
933  if (m_verbose) std::cout << "\nNumber of quality tests "
934  << " for histogram " << noisyStrpQtHist[iNoisyStrpQTest]
935  << ": " << qtVec.size() << "\n" << std::endl;
936 
937  const QReport* objQReport = qHist->getQReport(itQtName);
938  if (objQReport) {
939  const float noisyStrpQtResult = objQReport->getQTresult();
940  const int noisyStrpQtStatus = objQReport->getStatus();
941  const std::string& noisyStrpQtMessage = objQReport->getMessage();
942 
943  if (m_verbose) {
944  std::cout << "\n" << (itQtName) << " quality test:"
945  << "\n result: " << noisyStrpQtResult
946  << "\n status: " << noisyStrpQtStatus
947  << "\n message: " << noisyStrpQtMessage << "\n"
948  << "\nFilling m_meReportSummaryContent["
949  << iAllQTest << "] with value "
950  << noisyStrpQtResult << "\n" << std::endl;
951  }
952 
953  m_meReportSummaryContent[iAllQTest]->Fill(noisyStrpQtResult);
954 
955  // for the summary map, keep the highest status value ("ERROR") of all tests
956  // which are considered for the summary plot
957  if (noisyStrpQtSummaryEnabled[iNoisyStrpQTest]) {
958 
959  if (noisyStrpQtStatus > m_summaryContent[iAllMon]) {
960  m_summaryContent[iAllMon] = noisyStrpQtStatus;
961  }
962  m_summarySum += noisyStrpQtResult;
963  }
964 
965  } else {
966 
967  // for the summary map, if the test was not found but it is assumed to be
968  // considered for the summary plot, set it to dqm::qstatus::INVALID
969 
970  int noisyStrpQtStatus = dqm::qstatus::INVALID;
971 
972  if (noisyStrpQtSummaryEnabled[iNoisyStrpQTest]) {
973 
974  if (noisyStrpQtStatus > m_summaryContent[iAllMon]) {
975  m_summaryContent[iAllMon] = noisyStrpQtStatus;
976  }
977  }
978 
979  m_meReportSummaryContent[iAllQTest]->Fill(0.);
980 
981  if (m_verbose) std::cout << "\n" << (itQtName)
982  << " quality test not found\n" << std::endl;
983  }
984 
985  } else {
986  // for the summary map, if the histogram was not found but it is assumed
987  // to have a test be considered for the summary plot, set it to dqm::qstatus::INVALID
988 
989  int noisyStrpQtStatus = dqm::qstatus::INVALID;
990 
991  if (noisyStrpQtSummaryEnabled[iNoisyStrpQTest]) {
992 
993  if (noisyStrpQtStatus > m_summaryContent[iAllMon]) {
994  m_summaryContent[iAllMon] = noisyStrpQtStatus;
995  }
996  }
997 
998  m_meReportSummaryContent[iAllQTest]->Fill(0.);
999 
1000  if (m_verbose) std::cout << "\nHistogram " << noisyStrpQtHist[iNoisyStrpQTest]
1001  << " not found\n" << std::endl;
1002  }
1003  // increase counters for quality tests
1004  iNoisyStrpQTest++;
1005  iAllQTest++;
1006  }
1007  iAllMon++;
1008  }
1009  // quality tests for all L1 Dead Strip =================================================================
1010 
1011  for (unsigned int iDeadStrp = 0; iDeadStrp < m_nrDeadStrip; ++iDeadStrp) {
1012 
1013  // get the reports for each quality test
1014  const std::vector<std::string>& deadStrpQtName =
1015  m_deadQualityTestName[iDeadStrp];
1016  const std::vector<std::string>& deadStrpQtHist =
1017  m_deadQualityTestHist[iDeadStrp];
1018  const std::vector<unsigned int>& deadStrpQtSummaryEnabled =
1019  m_deadQtSummaryEnabled[iDeadStrp];
1020 
1021  // pro object counter for quality tests
1022  int iDeadStrpQTest = 0;
1023 
1024  for (const auto & itQtName : deadStrpQtName) {
1025 
1026  // get results, status and message
1027 
1028  MonitorElement* qHist = igetter.get(deadStrpQtHist[iDeadStrpQTest]);
1029 
1030  if (qHist) {
1031  const std::vector<QReport*> qtVec = qHist->getQReports();
1032 
1033  if (m_verbose) std::cout << "\nNumber of quality tests "
1034  << " for histogram " << deadStrpQtHist[iDeadStrpQTest]
1035  << ": " << qtVec.size() << "\n" << std::endl;
1036 
1037  const QReport* objQReport = qHist->getQReport(itQtName);
1038  if (objQReport) {
1039  const float deadStrpQtResult = objQReport->getQTresult();
1040  const int deadStrpQtStatus = objQReport->getStatus();
1041  const std::string& deadStrpQtMessage = objQReport->getMessage();
1042 
1043  if (m_verbose) {
1044  std::cout << "\n" << (itQtName) << " quality test:"
1045  << "\n result: " << deadStrpQtResult
1046  << "\n status: " << deadStrpQtStatus
1047  << "\n message: " << deadStrpQtMessage << "\n"
1048  << "\nFilling m_meReportSummaryContent["
1049  << iAllQTest << "] with value "
1050  << deadStrpQtResult << "\n" << std::endl;
1051  }
1052 
1053  m_meReportSummaryContent[iAllQTest]->Fill(deadStrpQtResult);
1054 
1055  // for the summary map, keep the highest status value ("ERROR") of all tests
1056  // which are considered for the summary plot
1057  if (deadStrpQtSummaryEnabled[iDeadStrpQTest]) {
1058 
1059  if (deadStrpQtStatus > m_summaryContent[iAllMon]) {
1060  m_summaryContent[iAllMon] = deadStrpQtStatus;
1061  }
1062  m_summarySum += deadStrpQtResult;
1063  }
1064 
1065  } else {
1066 
1067  // for the summary map, if the test was not found but it is assumed to be
1068  // considered for the summary plot, set it to dqm::qstatus::INVALID
1069 
1070  int deadStrpQtStatus = dqm::qstatus::INVALID;
1071 
1072  if (deadStrpQtSummaryEnabled[iDeadStrpQTest]) {
1073 
1074  if (deadStrpQtStatus > m_summaryContent[iAllMon]) {
1075  m_summaryContent[iAllMon] = deadStrpQtStatus;
1076  }
1077  }
1078 
1079  m_meReportSummaryContent[iAllQTest]->Fill(0.);
1080 
1081  if (m_verbose) std::cout << "\n" << (itQtName)
1082  << " quality test not found\n" << std::endl;
1083  }
1084 
1085  } else {
1086  // for the summary map, if the histogram was not found but it is assumed
1087  // to have a test be considered for the summary plot, set it to dqm::qstatus::INVALID
1088 
1089  int deadStrpQtStatus = dqm::qstatus::INVALID;
1090 
1091  if (deadStrpQtSummaryEnabled[iDeadStrpQTest]) {
1092 
1093  if (deadStrpQtStatus > m_summaryContent[iAllMon]) {
1094  m_summaryContent[iAllMon] = deadStrpQtStatus;
1095  }
1096  }
1097 
1098  m_meReportSummaryContent[iAllQTest]->Fill(0.);
1099 
1100  if (m_verbose) std::cout << "\nHistogram " << deadStrpQtHist[iDeadStrpQTest]
1101  << " not found\n" << std::endl;
1102  }
1103 
1104  // increase counters for quality tests
1105  iDeadStrpQTest++;
1106  iAllQTest++;
1107  }
1108  iAllMon++;
1109  }
1110 
1111  // reportSummary value
1113  if (m_meReportSummary) {
1115  }
1116 
1117  // fill the ReportSummaryMap for L1 systems (bin 1 on X)
1118  for (unsigned int iTrackObj = 0; iTrackObj < m_nrTrackObjects; ++iTrackObj) {
1119 
1120  double summCont = static_cast<double>(m_summaryContent[iTrackObj]);
1121  m_meReportSummaryMap->setBinContent(1, iTrackObj + 1, summCont);
1122  }
1123  // fill the ReportSummaryMap for L1 objects (bin 2 on X)
1124  for (unsigned int iMon = m_nrTrackObjects; iMon < m_nrTrackObjects
1125  + m_nrHitObjects; ++iMon) {
1126 
1127  double summCont = static_cast<double>(m_summaryContent[iMon]);
1128  m_meReportSummaryMap->setBinContent(2, iMon - m_nrTrackObjects + 1, summCont);
1129 
1130  }
1131 
1132  // fill the ReportSummaryMap_chamberStrip for L1 Noisy Strip (bin 1 on X)
1133  for (unsigned int iNoisyStrp = m_nrTrackObjects + m_nrHitObjects; iNoisyStrp < m_nrTrackObjects + m_nrHitObjects + m_nrNoisyStrip; ++iNoisyStrp) {
1134  double summCont = static_cast<double>(m_summaryContent[iNoisyStrp]);
1135  m_meReportSummaryMap_chamberStrip->setBinContent(1, iNoisyStrp - m_nrTrackObjects - m_nrHitObjects + 1, summCont);
1136  }
1137  // fill the ReportSummaryMap_chamberStrip for L1 objects (bin 2 on X)
1138  for (unsigned int iDeadStrp = m_nrTrackObjects + m_nrHitObjects + m_nrNoisyStrip; iDeadStrp < m_nrTrackObjects + m_nrHitObjects + m_nrNoisyStrip + m_nrDeadStrip; ++iDeadStrp) {
1139  double summCont = static_cast<double>(m_summaryContent[iDeadStrp]);
1140  m_meReportSummaryMap_chamberStrip->setBinContent(2, iDeadStrp - m_nrTrackObjects - m_nrHitObjects - m_nrNoisyStrip + 1, summCont);
1141  }
1142 
1143 }
std::vector< std::vector< std::string > > m_trackQualityTestName
const QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
void setBinContent(int binx, double content)
set content of bin (1-D)
std::vector< MonitorElement * > m_meReportSummaryContent
monitor elements to report content for all quality tests
bool m_verbose
input parameters
size_t m_nrHitObjects
number of L1 trigger objects
std::vector< std::vector< std::string > > m_deadQualityTestHist
std::vector< std::vector< unsigned int > > m_deadQtSummaryEnabled
std::vector< std::vector< std::string > > m_hitQualityTestName
void Fill(long long x)
MonitorElement * m_meReportSummary
a summary report
std::vector< std::vector< std::string > > m_noisyQualityTestName
static const int INVALID
std::vector< std::vector< unsigned int > > m_trackQtSummaryEnabled
std::vector< std::vector< std::string > > m_trackQualityTestHist
std::vector< std::vector< std::string > > m_hitQualityTestHist
static const int DISABLED
size_t m_nrDeadStrip
number of L1 trigger dead strips
const std::string & getMessage() const
get message attached to test
Definition: QReport.h:24
std::vector< std::vector< unsigned int > > m_hitQtSummaryEnabled
MonitorElement * get(std::string const &path)
Definition: DQMStore.cc:303
MonitorElement * m_meReportSummaryMap_chamberStrip
std::vector< std::vector< std::string > > m_noisyQualityTestHist
MonitorElement * m_meReportSummaryMap
report summary map
std::vector< std::vector< std::string > > m_deadQualityTestName
std::vector< QReport * > getQReports() const
get map of QReports
int getStatus() const
get test status (see Core/interface/QTestStatus.h)
Definition: QReport.h:16
Float_t m_reportSummary
summary report
std::vector< int > m_summaryContent
std::vector< std::vector< unsigned int > > m_noisyQtSummaryEnabled
float getQTresult() const
get test result i.e. prob value
Definition: QReport.h:20
size_t m_nrTrackObjects
number of L1 trigger systems
size_t m_nrNoisyStrip
number of L1 trigger noisy strips

Member Data Documentation

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

Definition at line 125 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

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

Definition at line 127 of file L1TEMTFEventInfoClient.h.

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

Definition at line 126 of file L1TEMTFEventInfoClient.h.

Referenced by book(), and initialize().

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

Definition at line 131 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

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

Definition at line 130 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

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

Definition at line 129 of file L1TEMTFEventInfoClient.h.

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

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

Definition at line 67 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

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

Definition at line 69 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

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

Definition at line 64 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

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

Definition at line 68 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

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

Definition at line 63 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

std::string L1TEMTFEventInfoClient::m_histDir
private

Definition at line 54 of file L1TEMTFEventInfoClient.h.

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

Definition at line 109 of file L1TEMTFEventInfoClient.h.

Referenced by dumpContentMonitorElements(), and initialize().

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

Definition at line 111 of file L1TEMTFEventInfoClient.h.

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

Definition at line 110 of file L1TEMTFEventInfoClient.h.

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

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

Definition at line 62 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

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

Definition at line 115 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

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

Definition at line 114 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

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

Definition at line 113 of file L1TEMTFEventInfoClient.h.

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

MonitorElement* L1TEMTFEventInfoClient::m_meReportSummary
private

a summary report

Definition at line 140 of file L1TEMTFEventInfoClient.h.

Referenced by book(), and readQtResults().

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

monitor elements to report content for all quality tests

Definition at line 143 of file L1TEMTFEventInfoClient.h.

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

MonitorElement* L1TEMTFEventInfoClient::m_meReportSummaryMap
private

report summary map

Definition at line 146 of file L1TEMTFEventInfoClient.h.

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

MonitorElement* L1TEMTFEventInfoClient::m_meReportSummaryMap_chamberStrip
private

Definition at line 147 of file L1TEMTFEventInfoClient.h.

Referenced by book(), and readQtResults().

std::string L1TEMTFEventInfoClient::m_monitorDir
private

Definition at line 53 of file L1TEMTFEventInfoClient.h.

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

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

Definition at line 117 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

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

Definition at line 119 of file L1TEMTFEventInfoClient.h.

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

Definition at line 118 of file L1TEMTFEventInfoClient.h.

Referenced by book(), and initialize().

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

Definition at line 123 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

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

Definition at line 122 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

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

Definition at line 121 of file L1TEMTFEventInfoClient.h.

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

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

Definition at line 66 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

size_t L1TEMTFEventInfoClient::m_nrDeadStrip
private

number of L1 trigger dead strips

Definition at line 95 of file L1TEMTFEventInfoClient.h.

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

size_t L1TEMTFEventInfoClient::m_nrHitObjects
private

number of L1 trigger objects

Definition at line 89 of file L1TEMTFEventInfoClient.h.

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

size_t L1TEMTFEventInfoClient::m_nrNoisyStrip
private

number of L1 trigger noisy strips

Definition at line 92 of file L1TEMTFEventInfoClient.h.

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

size_t L1TEMTFEventInfoClient::m_nrTrackObjects
private

number of L1 trigger systems

Definition at line 86 of file L1TEMTFEventInfoClient.h.

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

Float_t L1TEMTFEventInfoClient::m_reportSummary
private

summary report

Definition at line 135 of file L1TEMTFEventInfoClient.h.

Referenced by readQtResults().

bool L1TEMTFEventInfoClient::m_runInEndJob
private

Definition at line 59 of file L1TEMTFEventInfoClient.h.

bool L1TEMTFEventInfoClient::m_runInEndLumi
private

Definition at line 57 of file L1TEMTFEventInfoClient.h.

Referenced by dqmEndLuminosityBlock().

bool L1TEMTFEventInfoClient::m_runInEndRun
private

Definition at line 58 of file L1TEMTFEventInfoClient.h.

bool L1TEMTFEventInfoClient::m_runInEventLoop
private

Definition at line 56 of file L1TEMTFEventInfoClient.h.

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

Definition at line 136 of file L1TEMTFEventInfoClient.h.

Referenced by readQtResults().

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 99 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

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

Definition at line 103 of file L1TEMTFEventInfoClient.h.

Referenced by dumpContentMonitorElements(), and initialize().

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

Definition at line 101 of file L1TEMTFEventInfoClient.h.

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

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

Definition at line 102 of file L1TEMTFEventInfoClient.h.

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

Definition at line 61 of file L1TEMTFEventInfoClient.h.

Referenced by initialize().

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

Definition at line 107 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

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

Definition at line 106 of file L1TEMTFEventInfoClient.h.

Referenced by initialize(), and readQtResults().

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

Definition at line 105 of file L1TEMTFEventInfoClient.h.

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

bool L1TEMTFEventInfoClient::m_verbose
private