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 571 of file DQMStore.h.

Constructor & Destructor Documentation

◆ ~IGetter()

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

Definition at line 776 of file DQMStore.cc.

776 {}

◆ IGetter()

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

Definition at line 774 of file DQMStore.cc.

References store_.

774 { store_ = store; }

Member Function Documentation

◆ dirExists()

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

Definition at line 769 of file DQMStore.cc.

References getAllContents().

Referenced by SiStripBadComponentInfo::bookBadComponentHistos(), HLTGenValClient::computeEfficiency(), 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(), HLTGenValClient::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().

769  {
770  // we don't claim this is fast.
771  return !this->getAllContents(path).empty();
772  }
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
Definition: DQMStore.cc:641

◆ get() [1/2]

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

Definition at line 712 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(), TrackingAnalyser::checkTrackerFEDsInLS(), TrackingAnalyser::checkTrackerFEDsWdataInLS(), RPCEventSummary::clientOperation(), util.rrapi.RRApi::columns(), rrapi.RRApi::columns(), dqmoffline::l1t::L1TEfficiencyPlotHandler::computeEfficiency(), HLTGenValClient::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(), RPCDcsInfoClient::dqmEndJob(), HltSusyExoPostProcessor::dqmEndJob(), DemoHarvester::dqmEndJob(), DemoRunHarvester::dqmEndJob(), EcalCondDBWriter::dqmEndJob(), OuterTrackerMCHarvester::dqmEndJob(), DQMHcalIsoTrackPostProcessor::dqmEndJob(), TrackingDQMClientHeavyIons::dqmEndJob(), SiPixelTrackComparisonHarvester::dqmEndJob(), RPCRecHitProbabilityClient::dqmEndJob(), MtdEleIsoHarvester::dqmEndJob(), MtdTracksHarvester::dqmEndJob(), Primary4DVertexHarvester::dqmEndJob(), RPCRecHitValidClient::dqmEndJob(), MuonME0DigisHarvestor::dqmEndJob(), MuonME0SegHarvestor::dqmEndJob(), DT4DSegmentClients::dqmEndJob(), DTRecHitClients::dqmEndJob(), HLTTauCertifier::dqmEndJob(), DQMExample_Step2::dqmEndJob(), DT2DSegmentClients::dqmEndJob(), BDHadronTrackMonitoringHarvester::dqmEndJob(), TnPEfficiencyClient::dqmEndJob(), SusyPostProcessor::dqmEndJob(), OffsetDQMPostProcessor::dqmEndJob(), TriggerRatesMonitorClient::dqmEndJob(), DataCertificationJetMET::dqmEndJob(), JetTesterPostProcessor::dqmEndJob(), METTesterPostProcessorHarvesting::dqmEndJob(), PFJetDQMPostProcessor::dqmEndJob(), BtlLocalRecoHarvester::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(), DTLocalTriggerSynchTest::dqmEndJob(), EcalZmassClient::dqmEndJob(), DTResolutionAnalysisTest::dqmEndJob(), SiStripHitEfficiencyHarvester::dqmEndJob(), DQMCorrelationClient::dqmEndJob(), DTChamberEfficiencyClient::dqmEndJob(), SiStripLorentzAnglePCLHarvester::dqmEndJob(), HLTMuonCertSummary::dqmEndJob(), SiStripGainsPCLHarvester::dqmEndJob(), CSCOfflineClient::dqmEndJob(), SiPixelLorentzAnglePCLHarvester::dqmEndJob(), SiPixelLorentzAnglePCLHarvesterMCS::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(), 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::makeSummaryVsVariable(), SiPixelActionExecutor::normaliseAvDigiOcc(), SiPixelActionExecutor::normaliseAvDigiOccVsLumi(), DQMGenericClient::normalizeToEntries(), DTBlockedROChannelsTest::performClientDiagnostic(), DTSegmentAnalysisTest::performClientDiagnostic(), HLTTauPostProcessor::plotFilterEfficiencies(), TrackingActionExecutor::printShiftHistoParameters(), SiStripActionExecutor::printShiftHistoParameters(), L1TStage2CaloLayer2DEClient::processHistograms(), L1TStage2CaloLayer2DEClientSummary::processHistograms(), L1TStage2RatioClient::processHistograms(), L1TdeStage2RegionalShowerClient::processHistograms(), L1TdeCSCTPGClient::processHistograms(), L1TdeCSCTPGShowerClient::processHistograms(), L1TdeGEMTPGClient::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(), CommissioningHistograms::runType(), SamplingHistograms::SamplingHistograms(), DQMFileSaver::saveForOffline(), L1EmulatorErrorFlagClient::setSummary(), rrapi.RRApi::tables(), util.rrapi.RRApi::tables(), rrapi.RRApi::tags(), util.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().

712  {
715  // this only really makes sense if there is only one instance of this ME,
716  // but the signature of this method also only makes sense in that case.
717  return store_->findME(path);
718  }
MonitorElement * findME(MELIKE const &path)
Definition: DQMStore.cc:228

◆ get() [2/2]

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

Definition at line 720 of file DQMStore.cc.

References cms::cuda::assert(), dqm::implementation::DQMStore::debugTrackME(), dqm::implementation::DQMStore::globalMEs_, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, submitPVResolutionJobs::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().

720  {
721  auto const& meset = store_->globalMEs_[key.id_];
722  auto it = meset.find(key.path_);
723  if (it != meset.end()) {
724  assert((*it)->getScope() == key.scope_);
725  store_->debugTrackME("get (key found)", nullptr, *it);
726  return *it;
727  }
728  return nullptr;
729  }
assert(be >=bs)
key
prepare the HTCondor submission files and eventually submit them
std::map< edm::LuminosityBlockID, std::set< MonitorElement *, MonitorElement::MEComparison > > globalMEs_
Definition: DQMStore.h:789
void debugTrackME(const char *message, MonitorElement *me_local, MonitorElement *me_global) const
Definition: DQMStore.cc:311

◆ getAllContents() [1/2]

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

Definition at line 641 of file DQMStore.cc.

References dqm::implementation::DQMStore::booking_mutex_, dqm::implementation::DQMStore::debugTrackME(), MonitorElementData::Path::DIR, dqm::implementation::DQMStore::globalMEs_, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, 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(), HLTGenValClient::makeAllPlots(), QualityTester::performTests(), MEtoEDMConverter::putData(), dqmservices::DQMProtobufReader::readRun_(), CalibrationHistograms::save(), LegacyIOHelper::save(), dqm::DQMFileSaverPB::savePB(), DQMRootOutputModule::writeLuminosityBlock(), DQMRootOutputModule::writeRun(), and PPSAlignmentHarvester::xAlignment().

641  {
642  auto lock = std::scoped_lock(store_->booking_mutex_);
643  std::vector<MonitorElement*> out;
646  // make sure this is normalized by getting it from Path object.
647  auto path_str = path.getFullname();
648  for (auto& [runlumi, meset] : store_->globalMEs_) {
649  auto it = meset.lower_bound(path);
650  // rfind can be used as a prefix match.
651  while (it != meset.end() && (*it)->getPathname().rfind(path_str, 0) == 0) {
652  if (runlumi == edm::LuminosityBlockID() && (*it)->getScope() != MonitorElementData::Scope::JOB) {
653  // skip prototypes
654  } else {
655  store_->debugTrackME("getAllContents (match)", nullptr, *it);
656  out.push_back(*it);
657  }
658  ++it;
659  }
660  }
661  return out;
662  }
std::recursive_mutex booking_mutex_
Definition: DQMStore.h:797
std::map< edm::LuminosityBlockID, std::set< MonitorElement *, MonitorElement::MEComparison > > globalMEs_
Definition: DQMStore.h:789
void debugTrackME(const char *message, MonitorElement *me_local, MonitorElement *me_global) const
Definition: DQMStore.cc:311

◆ 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 663 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_, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, 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.

665  {
666  auto lock = std::scoped_lock(store_->booking_mutex_);
667  std::vector<MonitorElement*> out;
670  // make sure this is normalized by getting it from Path object.
671  auto path_str = path.getFullname();
672  auto const& meset = store_->globalMEs_[edm::LuminosityBlockID(runNumber, lumi)];
673  auto it = meset.lower_bound(path);
674 
675  // decide if the ME should be saved in DQMIO and/or nanoDQMIO
676  // if doSaveByLumi_ is false: store all monitoring elements (needed for harvesting step!)
677  // if doSaveByLumi_ is true: store only selected monitoring elements (i.e. "nanoDQMIO")
678  while (it != meset.end() && (*it)->getFullname().rfind(path_str, 0) == 0) {
679  bool saveIt = true; // default value if doSaveByLumi_ is false
680 
681  if (store_->doSaveByLumi_ && not store_->MEsToSave_.empty()) {
682  std::string name = (*it)->getFullname();
683  saveIt = false; // default value if doSaveByLumi_ is true
684  for (std::vector<std::string>::const_iterator ipath = store_->MEsToSave_.begin();
685  ipath != store_->MEsToSave_.end();
686  ++ipath) {
687  const std::string& nameToSave = *ipath;
688  // option 1 (used in the past): inclusive selection
689  // (store all MEs that contain any of the requested patterns)
690  // if (name.find(nameToSave) != std::string::npos) {
691  // option 2 (current criterion): exact selection
692  // (store only MEs that exactly match a requested pattern)
693  if (name == nameToSave) {
694  saveIt = true;
695  // std::cout<<name<<" compared to"<<ipath->data()<<std::endl;
696  break;
697  }
698  }
699  }
700 
701  store_->debugTrackME("getAllContents (run/lumi match)", nullptr, *it);
702  if (saveIt) {
703  out.push_back(*it);
704  if (store_->doSaveByLumi_)
705  store_->debugTrackME("getAllContents (run/lumi saved)", nullptr, *it);
706  }
707  ++it;
708  }
709  return out;
710  }
std::recursive_mutex booking_mutex_
Definition: DQMStore.h:797
std::map< edm::LuminosityBlockID, std::set< MonitorElement *, MonitorElement::MEComparison > > globalMEs_
Definition: DQMStore.h:789
std::vector< std::string > MEsToSave_
Definition: DQMStore.h:810
void debugTrackME(const char *message, MonitorElement *me_local, MonitorElement *me_global) const
Definition: DQMStore.cc:311

◆ getContents()

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

Definition at line 625 of file DQMStore.cc.

References dqm::implementation::DQMStore::booking_mutex_, dqm::implementation::DQMStore::debugTrackME(), MonitorElementData::Path::DIR, dqm::implementation::DQMStore::globalMEs_, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, 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().

625  {
626  auto lock = std::scoped_lock(store_->booking_mutex_);
627  std::vector<MonitorElement*> out;
630  for (auto& [runlumi, meset] : store_->globalMEs_) {
631  auto it = meset.lower_bound(path);
632  while (it != meset.end() && (*it)->getPathname() == path.getDirname()) {
633  store_->debugTrackME("getContents (match)", nullptr, *it);
634  out.push_back(*it);
635  ++it;
636  }
637  }
638  return out;
639  }
std::recursive_mutex booking_mutex_
Definition: DQMStore.h:797
std::map< edm::LuminosityBlockID, std::set< MonitorElement *, MonitorElement::MEComparison > > globalMEs_
Definition: DQMStore.h:789
void debugTrackME(const char *message, MonitorElement *me_local, MonitorElement *me_global) const
Definition: DQMStore.cc:311

◆ getElement()

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

Definition at line 731 of file DQMStore.cc.

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

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

731  {
732  auto result = this->get(path);
733  if (result == nullptr) {
734  throw cms::Exception("iGetter Error") << "ME " << path << " was requested but not found.";
735  }
736  return result;
737  }

◆ getMEs()

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

Definition at line 759 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().

759  {
760  auto mes = this->getContents(this->cwd_);
761  std::vector<std::string> out;
762  out.reserve(mes.size());
763  for (auto me : mes) {
764  out.push_back(me->getName());
765  }
766  return out;
767  }
virtual std::vector< dqm::harvesting::MonitorElement * > getContents(std::string const &path) const
Definition: DQMStore.cc:625

◆ getSubdirs()

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

Definition at line 739 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(), SusyPostProcessor::dqmEndJob(), TriggerRatesMonitorClient::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(), HLTGenValClient::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().

739  {
740  // This is terribly inefficient, esp. if this method is then used to
741  // recursively enumerate whatever getAllContents would return anyways.
742  // But that is fine, any such code should just use getAllContents instead.
743  std::set<std::string> subdirs;
744  for (auto me : this->getAllContents(this->cwd_)) {
745  const auto& name = me->getPathname();
746  auto subdirname = name.substr(this->cwd_.length(), std::string::npos);
747  auto dirname = subdirname.substr(0, subdirname.find('/'));
748  subdirs.insert(dirname);
749  }
750  std::vector<std::string> out;
751  for (const auto& dir : subdirs) {
752  if (dir.length() == 0)
753  continue;
754  out.push_back(this->cwd_ + dir);
755  }
756  return out;
757  }
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
Definition: DQMStore.cc:641

Member Data Documentation

◆ store_

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

Definition at line 622 of file DQMStore.h.

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