CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
dqm::implementation::IGetter Class Reference

#include <DQMStore.h>

Inheritance diagram for dqm::implementation::IGetter:
dqm::implementation::NavigatorBase dqm::implementation::DQMStore dqm::legacy::DQMStore

Public Member Functions

virtual bool dirExists (std::string const &path) const
 
virtual MonitorElementget (std::string const &fullpath) const
 
virtual MonitorElementget (MonitorElementData::Key const &key) const
 
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents (std::string const &path) const
 
virtual DQM_DEPRECATED std::vector< dqm::harvesting::MonitorElement * > getAllContents (std::string const &path, uint32_t runNumber, uint32_t lumi) const
 
virtual std::vector< dqm::harvesting::MonitorElement * > getContents (std::string const &path) const
 
virtual DQM_DEPRECATED MonitorElementgetElement (std::string const &path) const
 
virtual std::vector< std::string > getMEs () const
 
virtual DQM_DEPRECATED std::vector< std::string > getSubdirs () const
 
 ~IGetter () override
 
- Public Member Functions inherited from dqm::implementation::NavigatorBase
virtual void cd ()
 
virtual DQM_DEPRECATED void cd (std::string const &dir)
 
virtual void goUp ()
 
virtual std::string pwd ()
 
virtual void setCurrentFolder (std::string const &fullpath)
 
virtual ~NavigatorBase ()
 

Protected Member Functions

 IGetter (DQMStore *store)
 
- Protected Member Functions inherited from dqm::implementation::NavigatorBase
 NavigatorBase ()
 

Protected Attributes

DQMStorestore_
 
- Protected Attributes inherited from dqm::implementation::NavigatorBase
std::string cwd_ = ""
 

Detailed Description

Definition at line 561 of file DQMStore.h.

Constructor & Destructor Documentation

◆ ~IGetter()

dqm::implementation::IGetter::~IGetter ( )
override

Definition at line 744 of file DQMStore.cc.

744 {}

◆ IGetter()

dqm::implementation::IGetter::IGetter ( DQMStore store)
protected

Definition at line 742 of file DQMStore.cc.

References store_.

742 { store_ = store; }

Member Function Documentation

◆ dirExists()

bool dqm::implementation::IGetter::dirExists ( std::string const &  path) const
virtual

Definition at line 737 of file DQMStore.cc.

References getAllContents().

Referenced by SiStripBadComponentInfo::bookBadComponentHistos(), DQMGenericClient::computeEfficiency(), DQMGenericClient::computeProfile(), DQMGenericClient::computeResolution(), SiStripActionExecutor::createSummary(), EmDQMPostProcessor::dqmEndJob(), HltSusyExoPostProcessor::dqmEndJob(), EcalCondDBWriter::dqmEndJob(), JetMETDQMPostProcessor::dqmEndJob(), DQMHcalIsoTrackPostProcessor::dqmEndJob(), HLTTauPostProcessor::dqmEndJob(), SiStripPopConBadComponentsHandlerFromDQM::dqmEndJob(), SiStripPopConFEDErrorsHandlerFromDQM::dqmEndJob(), SusyPostProcessor::dqmEndJob(), TauDQMHistEffProducer::dqmEndJob(), DTResolutionAnalysisTest::dqmEndJob(), SiStripQualityChecker::fillDetectorStatus(), SiStripQualityChecker::fillFaultyModuleStatus(), DQMGenericTnPClient::findAllSubdirectories(), HLTMuonRefMethod::findAllSubdirectories(), DQMGenericClient::findAllSubdirectories(), SiStripDaqInfo::findExcludedModule(), SiStripTrackerMapCreator::getDetectorFlagAndComment(), TrackingUtility::getTopFolderPath(), SiStripUtility::getTopFolderPath(), DQMGenericClient::makeCumulativeDist(), DQMGenericClient::makeNoFlowDist(), DQMGenericClient::normalizeToEntries(), SiStripActionExecutor::printFaultyModuleList(), PhotonOfflineClient::runClient(), SiPixelErrorsDigisToCalibDigis::setDQMDirectory(), SiPixelOfflineCalibAnalysisBase::setDQMDirectory(), and SiStripTrackerMapCreator::setTkMapFromHistogram().

737  {
738  // we don't claim this is fast.
739  return !this->getAllContents(path).empty();
740  }
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
Definition: DQMStore.cc:609

◆ get() [1/2]

MonitorElement * dqm::implementation::IGetter::get ( std::string const &  fullpath) const
virtual

Definition at line 680 of file DQMStore.cc.

References MonitorElementData::Path::DIR_AND_NAME, dqm::implementation::DQMStore::findME(), reco_skim_cfg_mod::fullpath, castor_dqm_sourceclient_file_cfg::path, and store_.

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), submitPVValidationJobs.BetterConfigParser::__updateDict(), HcalOfflineHarvesting::_dqmEndLuminosityBlock(), HcalOnlineHarvesting::_dqmEndLuminosityBlock(), SiStripDcsInfo::addBadModules(), SiStripGainFromCalibTree::algoEndRun(), TrackerOfflineValidationSummary::associateModuleHistsWithTree(), L1TStage2RatioClient::book(), L1TTestsSummary::book(), dqmoffline::l1t::L1TEfficiencyPlotHandler::book(), BeamMonitorBx::BookTrendHistos(), PPSAlignmentHarvester::buildGraphFromMonitorElements(), HeavyFlavorHarvesting::calculateEfficiency(), DQMGenericTnPClient::calculateEfficiency(), PPSDiamondSampicTimingCalibrationPCLHarvester::calibDb(), PPSDiamondSampicTimingCalibrationPCLHarvester::calibJson(), PSMonitorClient::check(), TrackingAnalyser::checkTrackerFEDsInLS(), TrackingAnalyser::checkTrackerFEDsWdataInLS(), RPCEventSummary::clientOperation(), util.rrapi.RRApi::columns(), rrapi.RRApi::columns(), dqmoffline::l1t::L1TEfficiencyPlotHandler::computeEfficiency(), DQMGenericClient::computeEfficiency(), HEff1DHitHarvest::computeEfficiency(), HEff2DHitHarvest::computeEfficiency(), HEff4DHitHarvest::computeEfficiency(), SiPixelDataQuality::computeGlobalQualityFlag(), SiPixelDataQuality::computeGlobalQualityFlagByLumi(), DQMGenericClient::computeProfile(), DQMGenericClient::computeResolution(), CommissioningHistograms::copyCustomInformation(), util.rrapi.RRApi::count(), rrapi.RRApi::count(), PFClient_JetRes::createEfficiencyPlots(), PFClient::createEfficiencyPlots(), EgHLTOfflineClient::createHLTvsOfflineHists(), GEMDQMHarvester::createInactiveChannelFracHist(), EgHLTOfflineClient::createLooseTightTrigEff(), EgHLTOfflineClient::createN1EffHists(), PFClient::createProfilePlots(), PFClient::createProjectionPlots(), PFClient_JetRes::createResolutionPlots(), PFClient::createResolutionPlots(), SiStripActionExecutor::createShiftReport(), EgHLTOfflineClient::createSingleEffHists(), EgHLTOfflineClient::createTrigTagProbeEffHists(), EgHLTOfflineClient::createTrigTagProbeEffHists2Leg(), EgHLTOfflineClient::createTrigTagProbeEffHistsNewAlgo(), util.rrapi.RRApi::data(), rrapi.RRApi::data(), MuonTestSummary::doEnergyTests(), Phase2ITRecHitHarvester::dofitsForLayer(), MuonTestSummary::doKinematicsTests(), MuonTestSummary::doMultiplicityTests(), MuonTestSummary::doMuonIDTests(), MuonTestSummary::doResidualsTests(), SiPixelPhase1TrackComparisonHarvester::dqmEndJob(), RPCDcsInfoClient::dqmEndJob(), HltSusyExoPostProcessor::dqmEndJob(), DemoHarvester::dqmEndJob(), DemoRunHarvester::dqmEndJob(), OuterTrackerMCHarvester::dqmEndJob(), DQMHcalIsoTrackPostProcessor::dqmEndJob(), EcalCondDBWriter::dqmEndJob(), TrackingDQMClientHeavyIons::dqmEndJob(), RPCRecHitProbabilityClient::dqmEndJob(), MtdTracksHarvester::dqmEndJob(), Primary4DVertexHarvester::dqmEndJob(), RPCRecHitValidClient::dqmEndJob(), MuonME0DigisHarvestor::dqmEndJob(), MuonME0SegHarvestor::dqmEndJob(), DT4DSegmentClients::dqmEndJob(), DTRecHitClients::dqmEndJob(), DQMExample_Step2::dqmEndJob(), DT2DSegmentClients::dqmEndJob(), HLTTauCertifier::dqmEndJob(), BDHadronTrackMonitoringHarvester::dqmEndJob(), TnPEfficiencyClient::dqmEndJob(), OffsetDQMPostProcessor::dqmEndJob(), TriggerRatesMonitorClient::dqmEndJob(), SusyPostProcessor::dqmEndJob(), DataCertificationJetMET::dqmEndJob(), PFJetDQMPostProcessor::dqmEndJob(), JetTesterPostProcessor::dqmEndJob(), METTesterPostProcessorHarvesting::dqmEndJob(), BtlSimHitsHarvester::dqmEndJob(), TauDQMHistEffProducer::dqmEndJob(), EfficiencyPlotter::dqmEndJob(), TrackFoldedOccupancyClient::dqmEndJob(), HLTMuonRefMethod::dqmEndJob(), DTOfflineSummaryClients::dqmEndJob(), DTCertificationSummary::dqmEndJob(), PPSTimingCalibrationPCLHarvester::dqmEndJob(), TriggerMatchEfficiencyPlotter::dqmEndJob(), ECALpedestalPCLHarvester::dqmEndJob(), SiPixelPhase1EfficiencyExtras::dqmEndJob(), DQMScaleToClient::dqmEndJob(), MuonRecoTest::dqmEndJob(), TrackEfficiencyClient::dqmEndJob(), EcalZmassClient::dqmEndJob(), DTLocalTriggerSynchTest::dqmEndJob(), SiStripHitEfficiencyHarvester::dqmEndJob(), DTResolutionAnalysisTest::dqmEndJob(), DQMCorrelationClient::dqmEndJob(), DTChamberEfficiencyClient::dqmEndJob(), HLTMuonCertSummary::dqmEndJob(), SiStripGainsPCLHarvester::dqmEndJob(), CSCOfflineClient::dqmEndJob(), SiPixelLorentzAnglePCLHarvester::dqmEndJob(), DemoHarvester::dqmEndLuminosityBlock(), SiPixelDaqInfo::dqmEndLuminosityBlock(), BrilClient::dqmEndLuminosityBlock(), DTCertificationSummary::dqmEndLuminosityBlock(), SiPixelEDAClient::dqmEndLuminosityBlock(), DTDCSByLumiSummary::dqmEndLuminosityBlock(), DTDataIntegrityTest::dqmEndLuminosityBlock(), DTSummaryClients::dqmEndLuminosityBlock(), DTNoiseAnalysisTest::dqmEndLuminosityBlock(), DTOccupancyTest::dqmEndLuminosityBlock(), DTOccupancyTestML::dqmEndLuminosityBlock(), DTChamberEfficiencyTest::dqmEndLuminosityBlock(), DTResolutionTest::dqmEndLuminosityBlock(), DTEfficiencyTest::dqmEndLuminosityBlock(), MuonRecoTest::dqmEndRun(), MuonTrackResidualsTest::dqmEndRun(), PPSAlignmentHarvester::dqmEndRun(), GEMDQMHarvester::drawSummaryHistogram(), DTBlockedROChannelsTest::DTLinkBinsMap::DTLinkBinsMap(), DTBlockedROChannelsTest::DTRobBinsMap::DTRobBinsMap(), L1TEMTFEventInfoClient::dumpContentMonitorElements(), L1TEventInfoClient::dumpContentMonitorElements(), ESPedestalClient::endJobAnalyze(), ESSummaryClient::endLumiAnalyze(), ESIntegrityClient::endLumiAnalyze(), hcaldqm::RawRunSummary::endLuminosityBlock(), hcaldqm::DigiRunSummary::endLuminosityBlock(), AlcaBeamMonitorClient::endLuminosityBlock(), L1ScalersClient::endLuminosityBlock(), HLTScalersClient::endLuminosityBlock(), DQMOfflineHLTEventInfoClient::endRun(), HLTOverallSummary::endRun(), CommissioningHistograms::extractHistograms(), SiStripQualityChecker::fillDetectorStatusAtLumi(), SiPixelActionExecutor::fillEfficiency(), SiPixelActionExecutor::fillEfficiencySummary(), SiStripQualityChecker::fillFaultyModuleStatus(), SiPixelActionExecutor::fillFEDErrorSummary(), SiPixelDataQuality::fillGlobalQualityPlot(), DTLocalTriggerTest::fillGlobalSummary(), SiPixelActionExecutor::fillGrandBarrelSummaryHistos(), SiPixelActionExecutor::fillGrandEndcapSummaryHistos(), DQMFEDIntegrityClient::fillHistograms(), EgHLTOfflineClient::FillHLTvsOfflineHist(), SiPixelPhase1ResidualsExtra::fillMEs(), METTesterPostProcessor::FillMETRes(), SiPixelActionExecutor::fillOccupancy(), FastTimerServiceClient::fillPathSummaryPlots(), FastTimerServiceClient::fillPlotsVsLumi(), FastTimerServiceClient::fillProcessSummaryPlots(), ESSummaryClient::fillReportSummary(), SiStripCertificationInfo::fillSiStripCertificationMEs(), SiStripCertificationInfo::fillSiStripCertificationMEsAtLumi(), SiPixelPhase1Summary::fillSummaries(), SiPixelActionExecutor::fillSummary(), ThroughputServiceClient::fillSummaryPlots(), FastTimerServiceClient::fillSummaryPlots(), TrackingCertificationInfo::fillTrackingCertificationMEsAtLumi(), SiPixelPhase1Summary::fillTrendPlots(), PFDQMEventSelector::filter(), SiStripDaqInfo::findExcludedModule(), SiPixelInformationExtractor::findNoisyPixels(), FlavourHistograms< T >::FlavourHistograms(), FlavourHistograms2D< T, G >::FlavourHistograms2D(), ElectronDqmHarvesterBase::get(), L1TDTTPGClient::get1DHisto(), L1TGMTClient::get1DHisto(), L1TDTTPGClient::get1DProfile(), L1TDTTPGClient::get2DHisto(), L1TGMTClient::get2DHisto(), EmDQMPostProcessor::get2DHistogram(), L1TDTTPGClient::get2DProfile(), DTRunConditionVarClient::getChamberHistos(), DTBlockedROChannelsTest::DTRobBinsMap::getChamberPercentage(), DTBlockedROChannelsTest::DTLinkBinsMap::getChamberPercentage(), betterConfigParser.BetterConfigParser::getCompares(), PPSDiamondSampicTimingCalibrationPCLHarvester::getDbSampicChannel(), SiStripTrackerMapCreator::getDetectorFlagAndComment(), EgHLTOfflineSummaryClient::getEgHLTSumHist_(), MuonGEMBaseHarvestor::getElement(), SiPixelActionExecutor::getFEDSummaryME(), DTLocalTriggerSynchTest::getFloatFromME(), betterConfigParser.BetterConfigParser::getGeneral(), GEMDQMHarvester::getGeometryInfo(), SiPixelActionExecutor::getGrandSummaryME(), JetMETDQMPostProcessor::getHistogram(), EmDQMPostProcessor::getHistogram(), DiMuonMassBiasClient::getMEsToHarvest(), SiStripQualityChecker::getModuleStatus(), RPCDqmClient::getMonitorElements(), HLTBTagHarvestingAnalyzer::GetNumDenumerators(), L1TOccupancyClientHistogramService::getRebinnedHistogram(), betterConfigParser.BetterConfigParser::getResultingSection(), submitPVValidationJobs.BetterConfigParser::getResultingSection(), SiPixelActionExecutor::getSummaryME(), L1TDTTFClient::getTH1F(), L1TDTTFClient::getTH2F(), CommissioningHistograms::histogram(), PhotonDataCertification::invMassZtest(), hcaldqm::ContainerSingle2D::load(), hcaldqm::Container1D::load(), HistogramManager::loadFromDQMStore(), dqmoffline::l1t::L1TDiffHarvesting::L1TDiffPlotHandler::loadHistograms(), DQMGenericClient::makeAllPlots(), DQMGenericClient::makeCumulativeDist(), GEMDQMEfficiencyClientBase::makeEfficiencySourcePair(), EgHLTOfflineClient::makeEffMonElem2Leg(), EgHLTOfflineClient::makeEffMonElemFromPassAndAll(), EgHLTOfflineClient::makeEffMonElemFromPassAndFail(), EgHLTOfflineClient::makeEffMonElemFromPassAndFailAndTagTag(), TotemRPDQMHarvester::MakeHitNumberRatios(), DQMGenericClient::makeNoFlowDist(), TotemRPDQMHarvester::MakePlaneEfficiencyHistograms(), PlotCombiner::makePlot(), SiStripHistoPlotter::makePlot(), SiStripHitEfficiencyHarvester::makeSummaryVsLumi(), SiPixelActionExecutor::normaliseAvDigiOcc(), SiPixelActionExecutor::normaliseAvDigiOccVsLumi(), DQMGenericClient::normalizeToEntries(), DTBlockedROChannelsTest::performClientDiagnostic(), DTSegmentAnalysisTest::performClientDiagnostic(), HLTTauPostProcessor::plotFilterEfficiencies(), TrackingActionExecutor::printShiftHistoParameters(), SiStripActionExecutor::printShiftHistoParameters(), L1TStage2CaloLayer2DEClient::processHistograms(), L1TStage2CaloLayer2DEClientSummary::processHistograms(), L1TStage2RatioClient::processHistograms(), L1TdeGEMTPGClient::processHistograms(), L1TdeCSCTPGClient::processHistograms(), L1TdeCSCTPGShowerClient::processHistograms(), L1TdeStage2RegionalShowerClient::processHistograms(), L1TCSCTFClient::processHistograms(), L1TGCTClient::processHistograms(), L1TRPCTFClient::processHistograms(), DTBlockedROChannelsTest::DTRobBinsMap::readNewValues(), DTBlockedROChannelsTest::DTLinkBinsMap::readNewValues(), L1TEMTFEventInfoClient::readQtResults(), L1TEventInfoClient::readQtResults(), util.rrapi.RRApi::report(), rrapi.RRApi::report(), rrapi.RRApi::reports(), util.rrapi.RRApi::reports(), MuonTestSummary::ResidualCheck(), ecaldqm::MESetNonObject::retrieve(), ecaldqm::MESetEcal::retrieve(), PhotonOfflineClient::runClient(), EgHLTOfflineSummaryClient::runClient_(), DTLocalTriggerTest::runClientDiagnostic(), DTLocalTriggerLutTest::runClientDiagnostic(), DTLocalTriggerTPTest::runClientDiagnostic(), DTTriggerLutTest::runClientDiagnostic(), DTLocalTriggerEfficiencyTest::runClientDiagnostic(), DTLocalTriggerSynchTest::runClientDiagnostic(), DTTriggerEfficiencyTest::runClientDiagnostic(), CommissioningHistograms::runNumber(), ConversionPostprocessing::runPostprocessing(), PhotonPostprocessing::runPostprocessing(), CommissioningHistograms::runType(), SamplingHistograms::SamplingHistograms(), DQMFileSaver::saveForOffline(), L1EmulatorErrorFlagClient::setSummary(), rrapi.RRApi::tables(), util.rrapi.RRApi::tables(), util.rrapi.RRApi::tags(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), util.rrapi.RRApi::templates(), TrackIPHistograms< T >::TrackIPHistograms(), L1TTestsSummary::updateL1TOccupancyMonitor(), L1TTestsSummary::updateL1TRateMonitor(), L1TTestsSummary::updateL1TSyncMonitor(), util.rrapi.RRApi::workspaces(), rrapi.RRApi::workspaces(), PPSAlignmentHarvester::xAlignmentRelative(), and PPSAlignmentHarvester::yAlignment().

680  {
683  // this only really makes sense if there is only one instance of this ME,
684  // but the signature of this method also only makes sense in that case.
685  return store_->findME(path);
686  }
MonitorElement * findME(MELIKE const &path)
Definition: DQMStore.cc:196

◆ get() [2/2]

MonitorElement * dqm::implementation::IGetter::get ( MonitorElementData::Key const &  key) const
virtual

Definition at line 688 of file DQMStore.cc.

References cms::cuda::assert(), dqm::implementation::DQMStore::debugTrackME(), dqm::implementation::DQMStore::globalMEs_, crabWrapper::key, and store_.

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), submitPVValidationJobs.BetterConfigParser::__updateDict(), util.rrapi.RRApi::columns(), rrapi.RRApi::columns(), rrapi.RRApi::count(), util.rrapi.RRApi::count(), rrapi.RRApi::data(), util.rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), submitPVValidationJobs.BetterConfigParser::getResultingSection(), util.rrapi.RRApi::report(), rrapi.RRApi::report(), rrapi.RRApi::reports(), util.rrapi.RRApi::reports(), rrapi.RRApi::tables(), util.rrapi.RRApi::tables(), util.rrapi.RRApi::tags(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), util.rrapi.RRApi::templates(), util.rrapi.RRApi::workspaces(), and rrapi.RRApi::workspaces().

688  {
689  auto const& meset = store_->globalMEs_[key.id_];
690  auto it = meset.find(key.path_);
691  if (it != meset.end()) {
692  assert((*it)->getScope() == key.scope_);
693  store_->debugTrackME("get (key found)", nullptr, *it);
694  return *it;
695  }
696  return nullptr;
697  }
assert(be >=bs)
std::map< edm::LuminosityBlockID, std::set< MonitorElement *, MonitorElement::MEComparison > > globalMEs_
Definition: DQMStore.h:775
void debugTrackME(const char *message, MonitorElement *me_local, MonitorElement *me_global) const
Definition: DQMStore.cc:279

◆ getAllContents() [1/2]

std::vector< dqm::harvesting::MonitorElement * > dqm::implementation::IGetter::getAllContents ( std::string const &  path) const
virtual

Definition at line 609 of file DQMStore.cc.

References dqm::implementation::DQMStore::booking_mutex_, dqm::implementation::DQMStore::debugTrackME(), MonitorElementData::Path::DIR, dqm::implementation::DQMStore::globalMEs_, CommonMethods::lock(), MillePedeFileConverter_cfg::out, castor_dqm_sourceclient_file_cfg::path, BTVHLTOfflineSource_cfi::pathname, and store_.

Referenced by SiStripCalibLorentzAngle::algoBeginJob(), SiPixelDQMRocLevelAnalyzer::beginJob(), dqmservices::DQMProtobufReader::beginLuminosityBlock(), SiStripCommissioningOfflineClient::beginRun(), SiStripQualityHotStripIdentifierRoot::bookHistos(), DQMStoreStats::calcstats(), dirExists(), SiStripPopConNoisesHandlerFromDQM::dqmEndJob(), SiStripPopConPedestalsHandlerFromDQM::dqmEndJob(), StatisticsFilter::filter(), DQMService::flushStandalone(), EgHLTOfflineSummaryClient::getQTestResults_(), getSubdirs(), QualityTester::performTests(), MEtoEDMConverter::putData(), dqmservices::DQMProtobufReader::readRun_(), CalibrationHistograms::save(), LegacyIOHelper::save(), dqm::DQMFileSaverPB::savePB(), DQMRootOutputModule::writeLuminosityBlock(), DQMRootOutputModule::writeRun(), and PPSAlignmentHarvester::xAlignment().

609  {
610  auto lock = std::scoped_lock(store_->booking_mutex_);
611  std::vector<MonitorElement*> out;
614  // make sure this is normalized by getting it from Path object.
615  auto path_str = path.getFullname();
616  for (auto& [runlumi, meset] : store_->globalMEs_) {
617  auto it = meset.lower_bound(path);
618  // rfind can be used as a prefix match.
619  while (it != meset.end() && (*it)->getPathname().rfind(path_str, 0) == 0) {
620  if (runlumi == edm::LuminosityBlockID() && (*it)->getScope() != MonitorElementData::Scope::JOB) {
621  // skip prototypes
622  } else {
623  store_->debugTrackME("getAllContents (match)", nullptr, *it);
624  out.push_back(*it);
625  }
626  ++it;
627  }
628  }
629  return out;
630  }
std::recursive_mutex booking_mutex_
Definition: DQMStore.h:783
std::map< edm::LuminosityBlockID, std::set< MonitorElement *, MonitorElement::MEComparison > > globalMEs_
Definition: DQMStore.h:775
void debugTrackME(const char *message, MonitorElement *me_local, MonitorElement *me_global) const
Definition: DQMStore.cc:279

◆ getAllContents() [2/2]

std::vector< dqm::harvesting::MonitorElement * > dqm::implementation::IGetter::getAllContents ( std::string const &  path,
uint32_t  runNumber,
uint32_t  lumi 
) const
virtual

Definition at line 631 of file DQMStore.cc.

References dqm::implementation::DQMStore::booking_mutex_, dqm::implementation::DQMStore::debugTrackME(), MonitorElementData::Path::DIR, dqm::implementation::DQMStore::doSaveByLumi_, dqm::implementation::DQMStore::globalMEs_, CommonMethods::lock(), dqm::implementation::DQMStore::MEsToSave_, Skims_PA_cff::name, MillePedeFileConverter_cfg::out, castor_dqm_sourceclient_file_cfg::path, BTVHLTOfflineSource_cfi::pathname, convertSQLiteXML::runNumber, store_, and AlCaHLTBitMon_QueryRunRegistry::string.

633  {
634  auto lock = std::scoped_lock(store_->booking_mutex_);
635  std::vector<MonitorElement*> out;
638  // make sure this is normalized by getting it from Path object.
639  auto path_str = path.getFullname();
640  auto const& meset = store_->globalMEs_[edm::LuminosityBlockID(runNumber, lumi)];
641  auto it = meset.lower_bound(path);
642 
643  // decide if the ME should be saved in DQMIO and/or nanoDQMIO
644  // if doSaveByLumi_ is false: store all monitoring elements (needed for harvesting step!)
645  // if doSaveByLumi_ is true: store only selected monitoring elements (i.e. "nanoDQMIO")
646  while (it != meset.end() && (*it)->getFullname().rfind(path_str, 0) == 0) {
647  bool saveIt = true; // default value if doSaveByLumi_ is false
648 
649  if (store_->doSaveByLumi_ && not store_->MEsToSave_.empty()) {
650  std::string name = (*it)->getFullname();
651  saveIt = false; // default value if doSaveByLumi_ is true
652  for (std::vector<std::string>::const_iterator ipath = store_->MEsToSave_.begin();
653  ipath != store_->MEsToSave_.end();
654  ++ipath) {
655  std::string nameToSave = *ipath;
656  // option 1 (used in the past): inclusive selection
657  // (store all MEs that contain any of the requested patterns)
658  // if (name.find(nameToSave) != std::string::npos) {
659  // option 2 (current criterion): exact selection
660  // (store only MEs that exactly match a requested pattern)
661  if (name == nameToSave) {
662  saveIt = true;
663  // std::cout<<name<<" compared to"<<ipath->data()<<std::endl;
664  break;
665  }
666  }
667  }
668 
669  store_->debugTrackME("getAllContents (run/lumi match)", nullptr, *it);
670  if (saveIt) {
671  out.push_back(*it);
672  if (store_->doSaveByLumi_)
673  store_->debugTrackME("getAllContents (run/lumi saved)", nullptr, *it);
674  }
675  ++it;
676  }
677  return out;
678  }
std::recursive_mutex booking_mutex_
Definition: DQMStore.h:783
std::map< edm::LuminosityBlockID, std::set< MonitorElement *, MonitorElement::MEComparison > > globalMEs_
Definition: DQMStore.h:775
std::vector< std::string > MEsToSave_
Definition: DQMStore.h:795
void debugTrackME(const char *message, MonitorElement *me_local, MonitorElement *me_global) const
Definition: DQMStore.cc:279

◆ getContents()

std::vector< dqm::harvesting::MonitorElement * > dqm::implementation::IGetter::getContents ( std::string const &  path) const
virtual

Definition at line 593 of file DQMStore.cc.

References dqm::implementation::DQMStore::booking_mutex_, dqm::implementation::DQMStore::debugTrackME(), MonitorElementData::Path::DIR, dqm::implementation::DQMStore::globalMEs_, CommonMethods::lock(), MillePedeFileConverter_cfg::out, castor_dqm_sourceclient_file_cfg::path, BTVHLTOfflineSource_cfi::pathname, and store_.

Referenced by CommissioningHistograms::copyCustomInformation(), SiStripPopConBadComponentsHandlerFromDQM::dqmEndJob(), SiStripPopConFEDErrorsHandlerFromDQM::dqmEndJob(), HGCalGeometryClient::dqmEndJob(), HGCalHitClient::dqmEndJob(), SusyPostProcessor::dqmEndJob(), CaloTowersDQMClient::dqmEndJob(), HcalNoiseRatesClient::dqmEndJob(), CaloTowersClient::dqmEndJob(), JetMETHLTOfflineClient::dqmEndJob(), HcalRecHitsDQMClient::dqmEndJob(), CommissioningHistograms::extractHistograms(), SiStripSummaryCreator::fillGrandSummaryHistos(), SiStripCertificationInfo::fillSiStripCertificationMEs(), SiStripQualityChecker::fillSubDetStatus(), SiStripSummaryCreator::fillSummaryHistos(), TrackingCertificationInfo::fillTrackingCertificationMEs(), TrackingCertificationInfo::fillTrackingCertificationMEsAtLumi(), TrackingQualityChecker::fillTrackingStatus(), TrackingQualityChecker::fillTrackingStatusAtLumi(), getMEs(), SiStripSummaryCreator::getSummaryME(), SiStripHistoPlotter::makeCondDBPlots(), SiStripActionExecutor::printFaultyModuleList(), PhotonOfflineClient::retrieveHisto(), HcalDigisClient::runClient(), HGCalDigiClient::runClient_(), HGCalRecHitsClient::runClient_(), HGCalSimHitsClient::runClient_(), NoiseRatesClient::runClient_(), HcalSimHitsClient::runClient_(), CommissioningHistograms::runNumber(), CommissioningHistograms::runType(), and SiStripTrackerMapCreator::setTkMapFromHistogram().

593  {
594  auto lock = std::scoped_lock(store_->booking_mutex_);
595  std::vector<MonitorElement*> out;
598  for (auto& [runlumi, meset] : store_->globalMEs_) {
599  auto it = meset.lower_bound(path);
600  while (it != meset.end() && (*it)->getPathname() == path.getDirname()) {
601  store_->debugTrackME("getContents (match)", nullptr, *it);
602  out.push_back(*it);
603  ++it;
604  }
605  }
606  return out;
607  }
std::recursive_mutex booking_mutex_
Definition: DQMStore.h:783
std::map< edm::LuminosityBlockID, std::set< MonitorElement *, MonitorElement::MEComparison > > globalMEs_
Definition: DQMStore.h:775
void debugTrackME(const char *message, MonitorElement *me_local, MonitorElement *me_global) const
Definition: DQMStore.cc:279

◆ getElement()

MonitorElement * dqm::implementation::IGetter::getElement ( std::string const &  path) const
virtual

Definition at line 699 of file DQMStore.cc.

References Exception, castor_dqm_sourceclient_file_cfg::path, and mps_fire::result.

Referenced by SiPixelCertification::dqmEndJob(), and SiPixelCertification::dqmEndLuminosityBlock().

699  {
700  auto result = this->get(path);
701  if (result == nullptr) {
702  throw cms::Exception("iGetter Error") << "ME " << path << " was requested but not found.";
703  }
704  return result;
705  }

◆ getMEs()

std::vector< std::string > dqm::implementation::IGetter::getMEs ( ) const
virtual

Definition at line 727 of file DQMStore.cc.

References dqm::implementation::NavigatorBase::cwd_, getContents(), hlt_dqm_clientPB-live_cfg::me, and MillePedeFileConverter_cfg::out.

Referenced by L1TTestsSummary::book(), SiPixelDataQuality::computeGlobalQualityFlag(), TriggerRatesMonitorClient::dqmEndJob(), OffsetDQMPostProcessor::dqmEndJob(), PFJetDQMPostProcessor::dqmEndJob(), CSCOfflineClient::dqmEndJob(), SiPixelActionExecutor::fillEfficiency(), SiPixelActionExecutor::fillFEDErrorSummary(), SiPixelDataQuality::fillGlobalQualityPlot(), SiPixelActionExecutor::fillGrandBarrelSummaryHistos(), SiPixelActionExecutor::fillGrandEndcapSummaryHistos(), SiPixelActionExecutor::fillOccupancy(), FastTimerServiceClient::fillPathSummaryPlots(), FastTimerServiceClient::fillPlotsVsLumi(), SiPixelActionExecutor::fillSummary(), ElectronDqmHarvesterBase::find(), SiPixelInformationExtractor::findNoisyPixels(), MuonGEMBaseHarvestor::getElement(), SiPixelActionExecutor::getFEDSummaryME(), SiPixelActionExecutor::getGrandSummaryME(), SiPixelActionExecutor::getSummaryME(), GEMDQMEfficiencyClientBase::makeEfficiencySourcePair(), L1TCSCTFClient::processHistograms(), L1TRPCTFClient::processHistograms(), L1TTestsSummary::updateL1TOccupancyMonitor(), L1TTestsSummary::updateL1TRateMonitor(), and L1TTestsSummary::updateL1TSyncMonitor().

727  {
728  auto mes = this->getContents(this->cwd_);
729  std::vector<std::string> out;
730  out.reserve(mes.size());
731  for (auto me : mes) {
732  out.push_back(me->getName());
733  }
734  return out;
735  }
virtual std::vector< dqm::harvesting::MonitorElement * > getContents(std::string const &path) const
Definition: DQMStore.cc:593

◆ getSubdirs()

std::vector< std::string > dqm::implementation::IGetter::getSubdirs ( ) const
virtual

Definition at line 707 of file DQMStore.cc.

References dqm::implementation::NavigatorBase::cwd_, DeadROC_duringRun::dir, BTVHLTOfflineSource_cfi::dirname, getAllContents(), hlt_dqm_clientPB-live_cfg::me, Skims_PA_cff::name, MillePedeFileConverter_cfg::out, and compareTotals::subdirs.

Referenced by SiPixelActionExecutor::bookOccupancyPlots(), SiPixelDataQuality::computeGlobalQualityFlag(), SiStripSummaryCreator::createSummary(), EmDQMPostProcessor::dqmEndJob(), EcalCondDBWriter::dqmEndJob(), JetMETDQMPostProcessor::dqmEndJob(), HLTTauPostProcessor::dqmEndJob(), HGCalGeometryClient::dqmEndJob(), HGCalHitClient::dqmEndJob(), TriggerRatesMonitorClient::dqmEndJob(), SusyPostProcessor::dqmEndJob(), DataCertificationJetMET::dqmEndJob(), JetTesterPostProcessor::dqmEndJob(), METTesterPostProcessor::dqmEndJob(), METTesterPostProcessorHarvesting::dqmEndJob(), TrackEfficiencyClient::dqmEndJob(), CaloTowersDQMClient::dqmEndJob(), HcalNoiseRatesClient::dqmEndJob(), CaloTowersClient::dqmEndJob(), JetMETHLTOfflineClient::dqmEndJob(), HcalRecHitsDQMClient::dqmEndJob(), SiPixelActionExecutor::fillEfficiency(), SiPixelActionExecutor::fillFEDErrorSummary(), SiPixelDataQuality::fillGlobalQualityPlot(), SiPixelActionExecutor::fillGrandBarrelSummaryHistos(), SiPixelActionExecutor::fillGrandEndcapSummaryHistos(), SiStripSummaryCreator::fillGrandSummaryHistos(), SiPixelActionExecutor::fillOccupancy(), FastTimerServiceClient::fillPathSummaryPlots(), FastTimerServiceClient::fillProcessSummaryPlots(), SiStripQualityChecker::fillSubDetStatus(), SiPixelActionExecutor::fillSummary(), SiStripSummaryCreator::fillSummaryHistos(), ThroughputServiceClient::fillSummaryPlots(), FastTimerServiceClient::fillSummaryPlots(), DQMGenericTnPClient::findAllSubdirectories(), HLTMuonRefMethod::findAllSubdirectories(), DQMGenericClient::findAllSubdirectories(), SiPixelInformationExtractor::findNoisyPixels(), SiPixelActionExecutor::GetBladeSubdirs(), TrackingUtility::getModuleFolderList(), SiStripUtility::getModuleFolderList(), SiStripSummaryCreator::getSummaryME(), TrackingUtility::goToDir(), SiStripUtility::goToDir(), HcalDigisClient::runClient(), HGCalDigiClient::runClient_(), HGCalRecHitsClient::runClient_(), HGCalSimHitsClient::runClient_(), NoiseRatesClient::runClient_(), HcalSimHitsClient::runClient_(), and SiStripTrackerMapCreator::setTkMapFromHistogram().

707  {
708  // This is terribly inefficient, esp. if this method is then used to
709  // recursively enumerate whatever getAllContents would return anyways.
710  // But that is fine, any such code should just use getAllContents instead.
711  std::set<std::string> subdirs;
712  for (auto me : this->getAllContents(this->cwd_)) {
713  const auto& name = me->getPathname();
714  auto subdirname = name.substr(this->cwd_.length(), std::string::npos);
715  auto dirname = subdirname.substr(0, subdirname.find('/'));
716  subdirs.insert(dirname);
717  }
718  std::vector<std::string> out;
719  for (const auto& dir : subdirs) {
720  if (dir.length() == 0)
721  continue;
722  out.push_back(this->cwd_ + dir);
723  }
724  return out;
725  }
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
Definition: DQMStore.cc:609

Member Data Documentation

◆ store_

DQMStore* dqm::implementation::IGetter::store_
protected

Definition at line 612 of file DQMStore.h.

Referenced by get(), getAllContents(), getContents(), and IGetter().