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 754 of file DQMStore.cc.

754 {}

◆ IGetter()

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

Definition at line 752 of file DQMStore.cc.

References store_.

752 { store_ = store; }

Member Function Documentation

◆ dirExists()

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

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

747  {
748  // we don't claim this is fast.
749  return !this->getAllContents(path).empty();
750  }
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
Definition: DQMStore.cc:626

◆ get() [1/2]

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

Definition at line 690 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(), 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(), 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(), HLTTauCertifier::dqmEndJob(), DQMExample_Step2::dqmEndJob(), DT2DSegmentClients::dqmEndJob(), BDHadronTrackMonitoringHarvester::dqmEndJob(), TnPEfficiencyClient::dqmEndJob(), SusyPostProcessor::dqmEndJob(), OffsetDQMPostProcessor::dqmEndJob(), TriggerRatesMonitorClient::dqmEndJob(), DataCertificationJetMET::dqmEndJob(), PFJetDQMPostProcessor::dqmEndJob(), JetTesterPostProcessor::dqmEndJob(), METTesterPostProcessorHarvesting::dqmEndJob(), BtlSimHitsHarvester::dqmEndJob(), EfficiencyPlotter::dqmEndJob(), TauDQMHistEffProducer::dqmEndJob(), BtlLocalRecoHarvester::dqmEndJob(), TrackFoldedOccupancyClient::dqmEndJob(), HLTMuonRefMethod::dqmEndJob(), DTOfflineSummaryClients::dqmEndJob(), DTCertificationSummary::dqmEndJob(), PPSTimingCalibrationPCLHarvester::dqmEndJob(), TriggerMatchEfficiencyPlotter::dqmEndJob(), ECALpedestalPCLHarvester::dqmEndJob(), DQMScaleToClient::dqmEndJob(), SiPixelPhase1EfficiencyExtras::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(), 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(), L1TStage2CaloLayer2DEClientSummary::processHistograms(), L1TStage2CaloLayer2DEClient::processHistograms(), L1TStage2RatioClient::processHistograms(), L1TdeCSCTPGClient::processHistograms(), L1TdeGEMTPGClient::processHistograms(), L1TdeStage2RegionalShowerClient::processHistograms(), L1TdeCSCTPGShowerClient::processHistograms(), L1TCSCTFClient::processHistograms(), L1TGCTClient::processHistograms(), L1TRPCTFClient::processHistograms(), DTBlockedROChannelsTest::DTRobBinsMap::readNewValues(), DTBlockedROChannelsTest::DTLinkBinsMap::readNewValues(), L1TEMTFEventInfoClient::readQtResults(), L1TEventInfoClient::readQtResults(), rrapi.RRApi::report(), util.rrapi.RRApi::report(), util.rrapi.RRApi::reports(), rrapi.RRApi::reports(), MuonTestSummary::ResidualCheck(), ecaldqm::MESetNonObject::retrieve(), ecaldqm::MESetEcal::retrieve(), PhotonOfflineClient::runClient(), EgHLTOfflineSummaryClient::runClient_(), DTLocalTriggerTest::runClientDiagnostic(), DTLocalTriggerTPTest::runClientDiagnostic(), DTLocalTriggerLutTest::runClientDiagnostic(), DTTriggerLutTest::runClientDiagnostic(), DTLocalTriggerEfficiencyTest::runClientDiagnostic(), DTLocalTriggerSynchTest::runClientDiagnostic(), DTTriggerEfficiencyTest::runClientDiagnostic(), CommissioningHistograms::runNumber(), CommissioningHistograms::runType(), SamplingHistograms::SamplingHistograms(), DQMFileSaver::saveForOffline(), L1EmulatorErrorFlagClient::setSummary(), util.rrapi.RRApi::tables(), 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(), rrapi.RRApi::workspaces(), util.rrapi.RRApi::workspaces(), PPSAlignmentHarvester::xAlignmentRelative(), and PPSAlignmentHarvester::yAlignment().

690  {
693  // this only really makes sense if there is only one instance of this ME,
694  // but the signature of this method also only makes sense in that case.
695  return store_->findME(path);
696  }
MonitorElement * findME(MELIKE const &path)
Definition: DQMStore.cc:213

◆ get() [2/2]

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

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

698  {
699  auto const& meset = store_->globalMEs_[key.id_];
700  auto it = meset.find(key.path_);
701  if (it != meset.end()) {
702  assert((*it)->getScope() == key.scope_);
703  store_->debugTrackME("get (key found)", nullptr, *it);
704  return *it;
705  }
706  return nullptr;
707  }
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:296

◆ getAllContents() [1/2]

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

Definition at line 626 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(), HLTGenValClient::makeAllPlots(), QualityTester::performTests(), MEtoEDMConverter::putData(), dqmservices::DQMProtobufReader::readRun_(), CalibrationHistograms::save(), LegacyIOHelper::save(), dqm::DQMFileSaverPB::savePB(), DQMRootOutputModule::writeLuminosityBlock(), DQMRootOutputModule::writeRun(), and PPSAlignmentHarvester::xAlignment().

626  {
627  auto lock = std::scoped_lock(store_->booking_mutex_);
628  std::vector<MonitorElement*> out;
631  // make sure this is normalized by getting it from Path object.
632  auto path_str = path.getFullname();
633  for (auto& [runlumi, meset] : store_->globalMEs_) {
634  auto it = meset.lower_bound(path);
635  // rfind can be used as a prefix match.
636  while (it != meset.end() && (*it)->getPathname().rfind(path_str, 0) == 0) {
637  if (runlumi == edm::LuminosityBlockID() && (*it)->getScope() != MonitorElementData::Scope::JOB) {
638  // skip prototypes
639  } else {
640  store_->debugTrackME("getAllContents (match)", nullptr, *it);
641  out.push_back(*it);
642  }
643  ++it;
644  }
645  }
646  return out;
647  }
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:296

◆ 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 648 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.

650  {
651  auto lock = std::scoped_lock(store_->booking_mutex_);
652  std::vector<MonitorElement*> out;
655  // make sure this is normalized by getting it from Path object.
656  auto path_str = path.getFullname();
657  auto const& meset = store_->globalMEs_[edm::LuminosityBlockID(runNumber, lumi)];
658  auto it = meset.lower_bound(path);
659 
660  // decide if the ME should be save din DQMIO based on the list provided
661  bool saveIt = true;
662 
663  // rfind can be used as a prefix match.
664  while (it != meset.end() && (*it)->getFullname().rfind(path_str, 0) == 0) {
665  if (store_->doSaveByLumi_ && not store_->MEsToSave_.empty()) {
666  for (std::vector<std::string>::const_iterator ipath = store_->MEsToSave_.begin();
667  ipath != store_->MEsToSave_.end();
668  ++ipath) {
669  std::string name = (*it)->getFullname();
670  if (name.find(*ipath) != std::string::npos) {
671  saveIt = true;
672  //std::cout<<name<<" compared to"<<ipath->data()<<std::endl;
673  break;
674  }
675  saveIt = false;
676  }
677  }
678 
679  store_->debugTrackME("getAllContents (run/lumi match)", nullptr, *it);
680  if (saveIt) {
681  out.push_back(*it);
682  if (store_->doSaveByLumi_)
683  store_->debugTrackME("getAllContents (run/lumi saved)", nullptr, *it);
684  }
685  ++it;
686  }
687  return out;
688  }
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:296

◆ getContents()

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

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

610  {
611  auto lock = std::scoped_lock(store_->booking_mutex_);
612  std::vector<MonitorElement*> out;
615  for (auto& [runlumi, meset] : store_->globalMEs_) {
616  auto it = meset.lower_bound(path);
617  while (it != meset.end() && (*it)->getPathname() == path.getDirname()) {
618  store_->debugTrackME("getContents (match)", nullptr, *it);
619  out.push_back(*it);
620  ++it;
621  }
622  }
623  return out;
624  }
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:296

◆ getElement()

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

Definition at line 709 of file DQMStore.cc.

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

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

709  {
710  auto result = this->get(path);
711  if (result == nullptr) {
712  throw cms::Exception("iGetter Error") << "ME " << path << " was requested but not found.";
713  }
714  return result;
715  }

◆ getMEs()

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

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

737  {
738  auto mes = this->getContents(this->cwd_);
739  std::vector<std::string> out;
740  out.reserve(mes.size());
741  for (auto me : mes) {
742  out.push_back(me->getName());
743  }
744  return out;
745  }
virtual std::vector< dqm::harvesting::MonitorElement * > getContents(std::string const &path) const
Definition: DQMStore.cc:610

◆ getSubdirs()

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

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

717  {
718  // This is terribly inefficient, esp. if this method is then used to
719  // recursively enumerate whatever getAllContents would return anyways.
720  // But that is fine, any such code should just use getAllContents instead.
721  std::set<std::string> subdirs;
722  for (auto me : this->getAllContents(this->cwd_)) {
723  const auto& name = me->getPathname();
724  auto subdirname = name.substr(this->cwd_.length(), std::string::npos);
725  auto dirname = subdirname.substr(0, subdirname.find('/'));
726  subdirs.insert(dirname);
727  }
728  std::vector<std::string> out;
729  for (const auto& dir : subdirs) {
730  if (dir.length() == 0)
731  continue;
732  out.push_back(this->cwd_ + dir);
733  }
734  return out;
735  }
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
Definition: DQMStore.cc:626

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