diff --git a/DQM/HLTEvF/plugins/BuildFile.xml b/DQM/HLTEvF/plugins/BuildFile.xml index eccf32c4c23dd..8dab09915c381 100644 --- a/DQM/HLTEvF/plugins/BuildFile.xml +++ b/DQM/HLTEvF/plugins/BuildFile.xml @@ -10,6 +10,7 @@ + diff --git a/DQM/HLTEvF/plugins/LumiMonitor.cc b/DQM/HLTEvF/plugins/LumiMonitor.cc index 307e51188df5a..db2a595d3ef88 100644 --- a/DQM/HLTEvF/plugins/LumiMonitor.cc +++ b/DQM/HLTEvF/plugins/LumiMonitor.cc @@ -2,8 +2,7 @@ #include "DQM/TrackingMonitor/interface/GetLumi.h" #include "DQMServices/Core/interface/DQMGlobalEDAnalyzer.h" -#include "DataFormats/Luminosity/interface/LumiDetails.h" -#include "DataFormats/Luminosity/interface/LumiSummary.h" +#include "DataFormats/OnlineMetaData/interface/OnlineLuminosityRecord.h" #include "DataFormats/Scalers/interface/LumiScalers.h" #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h" #include "DataFormats/TrackerCommon/interface/TrackerTopology.h" @@ -55,26 +54,23 @@ class LumiMonitor : public DQMGlobalEDAnalyzer { static MEbinning getHistoPSet(const edm::ParameterSet& pset); static MEbinning getHistoLSPSet(const edm::ParameterSet& pset); - edm::ESGetToken const trkTopoToken_; - - std::string folderName_; - - edm::EDGetTokenT lumiScalersToken_; - MEbinning lumi_binning_; - MEbinning pu_binning_; - MEbinning ls_binning_; - - bool doPixelLumi_; - edm::EDGetTokenT> pixelClustersToken_; - bool useBPixLayer1_; - int minNumberOfPixelsPerCluster_; - float minPixelClusterCharge_; - MEbinning pixelCluster_binning_; - MEbinning pixellumi_binning_; + std::string const folderName_; - edm::EDGetTokenT lumiSummaryToken_; + edm::EDGetTokenT const lumiScalersToken_; + edm::EDGetTokenT const onlineMetaDataDigisToken_; + MEbinning const lumi_binning_; + MEbinning const pu_binning_; + MEbinning const ls_binning_; - float lumi_factor_per_bx_; + bool const doPixelLumi_; + edm::ESGetToken const trkTopoToken_; + edm::EDGetTokenT> const pixelClustersToken_; + bool const useBPixLayer1_; + int const minNumberOfPixelsPerCluster_; + float const minPixelClusterCharge_; + MEbinning const pixelCluster_binning_; + MEbinning const pixellumi_binning_; + float const lumi_factor_per_bx_; }; // ----------------------------- @@ -82,9 +78,9 @@ class LumiMonitor : public DQMGlobalEDAnalyzer { // ----------------------------- LumiMonitor::LumiMonitor(const edm::ParameterSet& config) - : trkTopoToken_{esConsumes()}, - folderName_(config.getParameter("FolderName")), - lumiScalersToken_(consumes(config.getParameter("scalers"))), + : folderName_(config.getParameter("FolderName")), + lumiScalersToken_(consumes(config.getParameter("scalers"))), + onlineMetaDataDigisToken_(consumes(config.getParameter("onlineMetaDataDigis"))), lumi_binning_(getHistoPSet( config.getParameter("histoPSet").getParameter("lumiPSet"))), pu_binning_( @@ -92,6 +88,8 @@ LumiMonitor::LumiMonitor(const edm::ParameterSet& config) ls_binning_(getHistoLSPSet( config.getParameter("histoPSet").getParameter("lsPSet"))), doPixelLumi_(config.getParameter("doPixelLumi")), + trkTopoToken_(doPixelLumi_ ? esConsumes() + : edm::ESGetToken()), pixelClustersToken_(doPixelLumi_ ? consumes>( config.getParameter("pixelClusters")) : edm::EDGetTokenT>()), @@ -103,13 +101,10 @@ LumiMonitor::LumiMonitor(const edm::ParameterSet& config) : MEbinning{}), pixellumi_binning_(doPixelLumi_ ? getHistoPSet(config.getParameter("histoPSet") .getParameter("pixellumiPSet")) - : MEbinning{}) { - if (useBPixLayer1_) { - lumi_factor_per_bx_ = GetLumi::FREQ_ORBIT * GetLumi::SECONDS_PER_LS / GetLumi::XSEC_PIXEL_CLUSTER; - } else { - lumi_factor_per_bx_ = GetLumi::FREQ_ORBIT * GetLumi::SECONDS_PER_LS / GetLumi::rXSEC_PIXEL_CLUSTER; - } -} + : MEbinning{}), + lumi_factor_per_bx_(useBPixLayer1_ + ? GetLumi::FREQ_ORBIT * GetLumi::SECONDS_PER_LS / GetLumi::XSEC_PIXEL_CLUSTER + : GetLumi::FREQ_ORBIT * GetLumi::SECONDS_PER_LS / GetLumi::rXSEC_PIXEL_CLUSTER) {} MEbinning LumiMonitor::getHistoPSet(const edm::ParameterSet& pset) { return MEbinning{ @@ -131,94 +126,94 @@ void LumiMonitor::bookHistograms(DQMStore::IBooker& booker, if (doPixelLumi_) { auto me = booker.book1D("numberOfPixelClustersVsLS", - "number of pixel clusters vs LS", + "number of pixel clusters vs lumisection", ls_binning_.nbins, ls_binning_.xmin, ls_binning_.xmax); - me->setAxisTitle("LS", 1); + me->setAxisTitle("lumisection", 1); me->setAxisTitle("number of pixel clusters", 2); histograms.numberOfPixelClustersVsLS = me; me = booker.bookProfile("numberOfPixelClustersVsLumi", - "number of pixel clusters vs scal lumi", + "number of pixel clusters vs online lumi", lumi_binning_.nbins, lumi_binning_.xmin, lumi_binning_.xmax, pixelCluster_binning_.xmin, pixelCluster_binning_.xmax); - me->setAxisTitle("scal inst lumi E30 [Hz cm^{-2}]", 1); + me->setAxisTitle("online inst lumi E30 [Hz cm^{-2}]", 1); me->setAxisTitle("number of pixel clusters", 2); histograms.numberOfPixelClustersVsLumi = me; me = booker.bookProfile("pixelLumiVsLS", - "pixel-lumi vs LS", + "pixel-lumi vs lumisection", ls_binning_.nbins, ls_binning_.xmin, ls_binning_.xmax, pixellumi_binning_.xmin, pixellumi_binning_.xmax); - me->setAxisTitle("LS", 1); + me->setAxisTitle("lumisection", 1); me->setAxisTitle("pixel-based inst lumi E30 [Hz cm^{-2}]", 2); histograms.pixelLumiVsLS = me; me = booker.bookProfile("pixelLumiVsLumi", - "pixel-lumi vs scal lumi", + "pixel-lumi vs online lumi", lumi_binning_.nbins, lumi_binning_.xmin, lumi_binning_.xmax, pixellumi_binning_.xmin, lumi_binning_.xmax); - me->setAxisTitle("scal inst lumi E30 [Hz cm^{-2}]", 1); + me->setAxisTitle("online inst lumi E30 [Hz cm^{-2}]", 1); me->setAxisTitle("pixel-based inst lumi E30 [Hz cm^{-2}]", 2); histograms.pixelLumiVsLumi = me; } auto me = booker.bookProfile("lumiVsLS", - "scal lumi vs LS", + "online lumi vs lumisection", ls_binning_.nbins, ls_binning_.xmin, ls_binning_.xmax, lumi_binning_.xmin, lumi_binning_.xmax); - me->setAxisTitle("LS", 1); - me->setAxisTitle("scal inst lumi E30 [Hz cm^{-2}]", 2); + me->setAxisTitle("lumisection", 1); + me->setAxisTitle("online inst lumi E30 [Hz cm^{-2}]", 2); histograms.lumiVsLS = me; me = booker.bookProfile("puVsLS", - "scal PU vs LS", + "online pileup vs lumisection", ls_binning_.nbins, ls_binning_.xmin, ls_binning_.xmax, pu_binning_.xmin, pu_binning_.xmax); - me->setAxisTitle("LS", 1); - me->setAxisTitle("scal PU", 2); + me->setAxisTitle("lumisection", 1); + me->setAxisTitle("online pileup", 2); histograms.puVsLS = me; } void LumiMonitor::dqmAnalyze(edm::Event const& event, edm::EventSetup const& setup, Histograms const& histograms) const { - int ls = event.id().luminosityBlock(); - - float scal_lumi = -1.; - float scal_pu = -1.; - edm::Handle lumiScalers; - event.getByToken(lumiScalersToken_, lumiScalers); - if (lumiScalers.isValid() and not lumiScalers->empty()) { - auto scalit = lumiScalers->begin(); - scal_lumi = scalit->instantLumi(); - scal_pu = scalit->pileup(); - } else { - scal_lumi = -1.; - scal_pu = -1.; + int const ls = event.id().luminosityBlock(); + + float online_lumi = -1.f; + float online_pu = -1.f; + auto const lumiScalersHandle = event.getHandle(lumiScalersToken_); + auto const onlineMetaDataDigisHandle = event.getHandle(onlineMetaDataDigisToken_); + if (lumiScalersHandle.isValid() and not lumiScalersHandle->empty()) { + auto const scalit = lumiScalersHandle->begin(); + online_lumi = scalit->instantLumi(); + online_pu = scalit->pileup(); + } else if (onlineMetaDataDigisHandle.isValid()) { + online_lumi = onlineMetaDataDigisHandle->instLumi(); + online_pu = onlineMetaDataDigisHandle->avgPileUp(); } - histograms.lumiVsLS->Fill(ls, scal_lumi); - histograms.puVsLS->Fill(ls, scal_pu); + histograms.lumiVsLS->Fill(ls, online_lumi); + histograms.puVsLS->Fill(ls, online_pu); if (doPixelLumi_) { size_t pixel_clusters = 0; - float pixel_lumi = -1.; + float pixel_lumi = -1.f; edm::Handle> pixelClusters; event.getByToken(pixelClustersToken_, pixelClusters); if (pixelClusters.isValid()) { @@ -249,9 +244,9 @@ void LumiMonitor::dqmAnalyze(edm::Event const& event, } histograms.numberOfPixelClustersVsLS->Fill(ls, pixel_clusters); - histograms.numberOfPixelClustersVsLumi->Fill(scal_lumi, pixel_clusters); + histograms.numberOfPixelClustersVsLumi->Fill(online_lumi, pixel_clusters); histograms.pixelLumiVsLS->Fill(ls, pixel_lumi); - histograms.pixelLumiVsLumi->Fill(scal_lumi, pixel_lumi); + histograms.pixelLumiVsLumi->Fill(online_lumi, pixel_lumi); } } @@ -267,6 +262,7 @@ void LumiMonitor::fillDescriptions(edm::ConfigurationDescriptions& descriptions) edm::ParameterSetDescription desc; desc.add("pixelClusters", edm::InputTag("hltSiPixelClusters")); desc.add("scalers", edm::InputTag("hltScalersRawToDigi")); + desc.add("onlineMetaDataDigis", edm::InputTag("hltOnlineMetaDataDigis")); desc.add("FolderName", "HLT/LumiMonitoring"); desc.add("doPixelLumi", false); desc.add("useBPixLayer1", false); diff --git a/DQM/HLTEvF/python/HLTLumiMonitoring_cff.py b/DQM/HLTEvF/python/HLTLumiMonitoring_cff.py index 7b5d7b2ac576c..4cc0060b62f5a 100644 --- a/DQM/HLTEvF/python/HLTLumiMonitoring_cff.py +++ b/DQM/HLTEvF/python/HLTLumiMonitoring_cff.py @@ -1,6 +1,6 @@ import FWCore.ParameterSet.Config as cms -from DQMOffline.Trigger.DQMOffline_LumiMontiroring_cff import * +from DQMOffline.Trigger.DQMOffline_LumiMonitoring_cff import * lumiOnlineMonitorHLTsequence = cms.Sequence( lumiMonitorHLTsequence diff --git a/DQM/HLTEvF/python/LumiMonitor_cff.py b/DQM/HLTEvF/python/LumiMonitor_cff.py deleted file mode 100644 index 0f1737fda51b1..0000000000000 --- a/DQM/HLTEvF/python/LumiMonitor_cff.py +++ /dev/null @@ -1,39 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer -lumiMonitor = DQMEDAnalyzer('LumiMonitor', - FolderName = cms.string("HLT/LumiMonitoring"), - doPixelLumi = cms.bool(False), - useBPixLayer1 = cms.bool(False), - minNumberOfPixelsPerCluster = cms.int32(2), # from DQM/PixelLumi/python/PixelLumiDQM_cfi.py - minPixelClusterCharge = cms.double(15000.), - pixelClusters = cms.InputTag("hltSiPixelClusters"), - scalers = cms.InputTag('scalersRawToDigi'), - histoPSet = cms.PSet( - pixelClusterPSet = cms.PSet( - nbins = cms.int32 ( 200 ), - xmin = cms.double( -0.5), - xmax = cms.double(19999.5), - ), - lumiPSet = cms.PSet( - nbins = cms.int32 ( 3600 ), - xmin = cms.double( 3000.), - xmax = cms.double(12000.), - ), - puPSet = cms.PSet( - nbins = cms.int32 (260 ), - xmin = cms.double( 0.), - xmax = cms.double(130.), - ), - pixellumiPSet = cms.PSet( - nbins = cms.int32 (300 ), - xmin = cms.double( 0.), - xmax = cms.double( 3.), - ), - lsPSet = cms.PSet( - nbins = cms.int32 (2500 ), - xmin = cms.double( 0.), - xmax = cms.double(2500.), - ), - ), -) diff --git a/DQM/Integration/python/clients/hlt_dqm_clientPB-live_cfg.py b/DQM/Integration/python/clients/hlt_dqm_clientPB-live_cfg.py index b56816fd41051..add27a4f6de6c 100644 --- a/DQM/Integration/python/clients/hlt_dqm_clientPB-live_cfg.py +++ b/DQM/Integration/python/clients/hlt_dqm_clientPB-live_cfg.py @@ -42,14 +42,14 @@ process.load('HLTrigger.Timer.fastTimerServiceClient_cfi') process.fastTimerServiceClient.dqmPath = "HLT/TimerService" # timing VS lumi -process.fastTimerServiceClient.doPlotsVsScalLumi = True +process.fastTimerServiceClient.doPlotsVsOnlineLumi = True process.fastTimerServiceClient.doPlotsVsPixelLumi = False -process.fastTimerServiceClient.scalLumiME = cms.PSet( - folder = cms.string('HLT/LumiMonitoring'), - name = cms.string('lumiVsLS'), - nbins = cms.int32(5000), - xmin = cms.double(0), - xmax = cms.double(20000) +process.fastTimerServiceClient.onlineLumiME = dict( + folder = 'HLT/LumiMonitoring', + name = 'lumiVsLS', + nbins = 5000, + xmin = 0, + xmax = 20000 ) # ThroughputService client diff --git a/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1EfficiencyExtras.cc b/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1EfficiencyExtras.cc index 806caf980429c..4853b8d80b74a 100644 --- a/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1EfficiencyExtras.cc +++ b/DQM/SiPixelPhase1Track/plugins/SiPixelPhase1EfficiencyExtras.cc @@ -29,8 +29,7 @@ #include "DQMServices/Core/interface/DQMStore.h" #include "DQMServices/Core/interface/DQMEDHarvester.h" -using namespace std; -using namespace edm; +#include class SiPixelPhase1EfficiencyExtras : public DQMEDHarvester { public: @@ -51,11 +50,11 @@ SiPixelPhase1EfficiencyExtras::SiPixelPhase1EfficiencyExtras(const edm::Paramete : effFolderName_(iConfig.getParameter("EffFolderName")), vtxFolderName_(iConfig.getParameter("VtxFolderName")), instLumiFolderName_(iConfig.getParameter("InstLumiFolderName")) { - LogInfo("PixelDQM") << "SiPixelPhase1EfficiencyExtras::SiPixelPhase1EfficiencyExtras: Hello!" << endl; + edm::LogInfo("PixelDQM") << "SiPixelPhase1EfficiencyExtras::SiPixelPhase1EfficiencyExtras: Hello!"; } SiPixelPhase1EfficiencyExtras::~SiPixelPhase1EfficiencyExtras() { - LogInfo("PixelDQM") << "SiPixelPhase1EfficiencyExtras::~SiPixelPhase1EfficiencyExtras: Destructor" << endl; + edm::LogInfo("PixelDQM") << "SiPixelPhase1EfficiencyExtras::~SiPixelPhase1EfficiencyExtras: Destructor"; } void SiPixelPhase1EfficiencyExtras::beginRun(edm::Run const& run, edm::EventSetup const& eSetup) {} @@ -84,22 +83,21 @@ void SiPixelPhase1EfficiencyExtras::dqmEndJob(DQMStore::IBooker& iBooker, DQMSto //check which of the MEs exist and respond appropriately if (!eff_v_lumi_forward) { edm::LogWarning("SiPixelPhase1EfficiencyExtras") - << "no hitefficiency_per_Lumisection_per_PXDisk_PXForward ME is available in " << effFolderName_ << std::endl; + << "no hitefficiency_per_Lumisection_per_PXDisk_PXForward ME is available in " << effFolderName_; return; } if (!eff_v_lumi_barrel) { edm::LogWarning("SiPixelPhase1EfficiencyExtras") - << "no hitefficiency_per_Lumisection_per_PXLayer_PXBarrel ME is available in " << effFolderName_ << std::endl; + << "no hitefficiency_per_Lumisection_per_PXLayer_PXBarrel ME is available in " << effFolderName_; return; } if (!vtx_v_lumi) { edm::LogWarning("SiPixelPhase1EfficiencyExtras") - << "no NumberOfGoodPVtxVsLS_GenTK ME is available in " << vtxFolderName_ << std::endl; + << "no NumberOfGoodPVtxVsLS_GenTK ME is available in " << vtxFolderName_; createNvtx = false; } if (!scalLumi_v_lumi) { - edm::LogWarning("SiPixelPhase1EfficiencyExtras") - << "no lumiVsLS ME is available in " << instLumiFolderName_ << std::endl; + edm::LogWarning("SiPixelPhase1EfficiencyExtras") << "no lumiVsLS ME is available in " << instLumiFolderName_; createInstLumi = false; } @@ -109,6 +107,10 @@ void SiPixelPhase1EfficiencyExtras::dqmEndJob(DQMStore::IBooker& iBooker, DQMSto if (scalLumi_v_lumi && scalLumi_v_lumi->getEntries() == 0) createInstLumi = false; + // if the max mean lumi is not higher than zero, do not create profiles with respect to lumi + if (createInstLumi and scalLumi_v_lumi->getTProfile()->GetMaximum() <= 0.) + createInstLumi = false; + double eff = 0.0; //Will pass if nvtx ME exists and is not empty @@ -169,11 +171,11 @@ void SiPixelPhase1EfficiencyExtras::dqmEndJob(DQMStore::IBooker& iBooker, DQMSto } } } - // Will pass if InstLumi ME exists and is not empty + // Will pass if InstLumi ME exists, is not empty, and max mean lumi is larger than zero if (createInstLumi) { - //Get the max value of inst lumi for plot - int yMax2 = scalLumi_v_lumi->getTProfile()->GetMaximum(); - yMax2 = yMax2 + yMax2 * .1; + //Get the max value of inst lumi for plot (ensuring yMax2 is larger than zero) + int yMax2 = std::max(1., scalLumi_v_lumi->getTProfile()->GetMaximum()); + yMax2 *= 1.1; //Book new histos MonitorElement* eff_v_scalLumi_barrel = @@ -207,7 +209,7 @@ void SiPixelPhase1EfficiencyExtras::dqmEndJob(DQMStore::IBooker& iBooker, DQMSto scalLumi = scalLumi_v_lumi->getBinContent(iLumi); //Filter out useless iterations - if (scalLumi != 0) { + if (scalLumi > 0) { //Grab the bin number for the inst lumi binNumScal = eff_v_scalLumi_barrel->getTH2F()->FindBin(scalLumi); diff --git a/DQMOffline/Trigger/python/DQMOffline_LumiMonitoring_cff.py b/DQMOffline/Trigger/python/DQMOffline_LumiMonitoring_cff.py new file mode 100644 index 0000000000000..0f39cebc227d5 --- /dev/null +++ b/DQMOffline/Trigger/python/DQMOffline_LumiMonitoring_cff.py @@ -0,0 +1,49 @@ +import FWCore.ParameterSet.Config as cms + +# lumi from scalers +#hltScalersRawToDigi4DQM = cms.EDProducer( "ScalersRawToDigi", +# scalersInputTag = cms.InputTag( "rawDataCollector" ) +#) + +from DQM.HLTEvF.lumiMonitor_cfi import lumiMonitor as _lumiMonitor + +hltLumiMonitor = _lumiMonitor.clone( + FolderName = 'HLT/LumiMonitoring', + scalers = 'scalersRawToDigi', + onlineMetaDataDigis = 'onlineMetaDataDigis', + doPixelLumi = False, + useBPixLayer1 = False, + pixelClusters = 'hltSiPixelClusters', + minNumberOfPixelsPerCluster = 2, + minPixelClusterCharge = 15000, + histoPSet = dict( + lsPSet = dict( + nbins = 2500 + ), + pixelClusterPSet = dict( + nbins = 200, + xmin = -0.5, + xmax = 19999.5 + ), + puPSet = dict( + nbins = 130, + xmin = 0, + xmax = 130 + ), + lumiPSet = dict( + nbins = 440, + xmin = 0, + xmax = 22000 + ), + pixellumiPSet = dict( + nbins = 300, + xmin = 0, + xmax = 3 + ) + ) +) + +lumiMonitorHLTsequence = cms.Sequence( +# hltScalersRawToDigi4DQM + + hltLumiMonitor +) diff --git a/DQMOffline/Trigger/python/DQMOffline_LumiMontiroring_cff.py b/DQMOffline/Trigger/python/DQMOffline_LumiMontiroring_cff.py deleted file mode 100644 index 38889db388229..0000000000000 --- a/DQMOffline/Trigger/python/DQMOffline_LumiMontiroring_cff.py +++ /dev/null @@ -1,48 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# lumi from scalers -#hltScalersRawToDigi4DQM = cms.EDProducer( "ScalersRawToDigi", -# scalersInputTag = cms.InputTag( "rawDataCollector" ) -#) - -from DQM.HLTEvF.lumiMonitor_cfi import lumiMonitor - -hltLumiMonitor = lumiMonitor.clone( - useBPixLayer1 = False , - minPixelClusterCharge = 15000.0, - - histoPSet = dict( - lsPSet = dict( - nbins = 2500 ), - - pixelClusterPSet = dict( - nbins = 200 , - xmin = -0.5 , - xmax = 19999.5), - - puPSet = dict( - nbins = 130, - xmin = 0. , - xmax = 130.), - - lumiPSet = dict( - nbins = 440 , - xmin = 0.0 , - xmax = 22000.0), - - pixellumiPSet = dict( - nbins = 300 , - xmin = 0.0 , - xmax = 3.0 ) - ), - - minNumberOfPixelsPerCluster = 2, - FolderName = "HLT/LumiMonitoring", - scalers = "scalersRawToDigi", - pixelClusters = "hltSiPixelClusters", - doPixelLumi = False -) -lumiMonitorHLTsequence = cms.Sequence( -# hltScalersRawToDigi4DQM + - hltLumiMonitor -) diff --git a/DQMOffline/Trigger/python/DQMOffline_Trigger_cff.py b/DQMOffline/Trigger/python/DQMOffline_Trigger_cff.py index a27f844fbdf1c..4db1eeac77bc8 100644 --- a/DQMOffline/Trigger/python/DQMOffline_Trigger_cff.py +++ b/DQMOffline/Trigger/python/DQMOffline_Trigger_cff.py @@ -14,7 +14,7 @@ ) # Lumi -from DQMOffline.Trigger.DQMOffline_LumiMontiroring_cff import * +from DQMOffline.Trigger.DQMOffline_LumiMonitoring_cff import * # Egamma from DQMOffline.Trigger.EgHLTOfflineSource_cff import * diff --git a/HLTrigger/Timer/plugins/FastTimerServiceClient.cc b/HLTrigger/Timer/plugins/FastTimerServiceClient.cc index ba65260281b3d..c358525187ea4 100644 --- a/HLTrigger/Timer/plugins/FastTimerServiceClient.cc +++ b/HLTrigger/Timer/plugins/FastTimerServiceClient.cc @@ -6,6 +6,7 @@ #include // Root headers +#include #include // CMSSW headers @@ -33,15 +34,13 @@ struct MEPSet { class FastTimerServiceClient : public DQMEDHarvester { public: explicit FastTimerServiceClient(edm::ParameterSet const&); - ~FastTimerServiceClient() override; + ~FastTimerServiceClient() override = default; static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); static void fillLumiMePSetDescription(edm::ParameterSetDescription& pset); static void fillPUMePSetDescription(edm::ParameterSetDescription& pset); private: - std::string m_dqm_path; - void dqmEndLuminosityBlock(DQMStore::IBooker& booker, DQMStore::IGetter& getter, edm::LuminosityBlock const&, @@ -58,35 +57,35 @@ class FastTimerServiceClient : public DQMEDHarvester { DQMStore::IGetter& getter, std::string const& current_path, std::string const& suffix, - MEPSet pset); + MEPSet const& pset); static MEPSet getHistoPSet(const edm::ParameterSet& pset); - bool doPlotsVsScalLumi_; - bool doPlotsVsPixelLumi_; - bool doPlotsVsPU_; + std::string const dqm_path_; + + bool const doPlotsVsOnlineLumi_; + bool const doPlotsVsPixelLumi_; + bool const doPlotsVsPU_; - MEPSet scalLumiMEPSet_; - MEPSet pixelLumiMEPSet_; - MEPSet puMEPSet_; + MEPSet const onlineLumiMEPSet_; + MEPSet const pixelLumiMEPSet_; + MEPSet const puMEPSet_; - bool fillEveryLumiSection_; + bool const fillEveryLumiSection_; }; FastTimerServiceClient::FastTimerServiceClient(edm::ParameterSet const& config) - : m_dqm_path(config.getUntrackedParameter("dqmPath")), - doPlotsVsScalLumi_(config.getParameter("doPlotsVsScalLumi")), + : dqm_path_(config.getUntrackedParameter("dqmPath")), + doPlotsVsOnlineLumi_(config.getParameter("doPlotsVsOnlineLumi")), doPlotsVsPixelLumi_(config.getParameter("doPlotsVsPixelLumi")), doPlotsVsPU_(config.getParameter("doPlotsVsPU")), - scalLumiMEPSet_(doPlotsVsScalLumi_ ? getHistoPSet(config.getParameter("scalLumiME")) - : MEPSet{}), + onlineLumiMEPSet_(doPlotsVsOnlineLumi_ ? getHistoPSet(config.getParameter("onlineLumiME")) + : MEPSet{}), pixelLumiMEPSet_(doPlotsVsPixelLumi_ ? getHistoPSet(config.getParameter("pixelLumiME")) : MEPSet{}), puMEPSet_(doPlotsVsPU_ ? getHistoPSet(config.getParameter("puME")) : MEPSet{}), fillEveryLumiSection_(config.getParameter("fillEveryLumiSection")) {} -FastTimerServiceClient::~FastTimerServiceClient() = default; - void FastTimerServiceClient::dqmEndJob(DQMStore::IBooker& booker, DQMStore::IGetter& getter) { fillSummaryPlots(booker, getter); } @@ -100,13 +99,13 @@ void FastTimerServiceClient::dqmEndLuminosityBlock(DQMStore::IBooker& booker, } void FastTimerServiceClient::fillSummaryPlots(DQMStore::IBooker& booker, DQMStore::IGetter& getter) { - if (getter.get(m_dqm_path + "/event time_real")) { + if (getter.get(dqm_path_ + "/event time_real")) { // the plots are directly in the configured folder - fillProcessSummaryPlots(booker, getter, m_dqm_path); + fillProcessSummaryPlots(booker, getter, dqm_path_); } else { static const boost::regex running_n_processes(".*/Running .*"); - booker.setCurrentFolder(m_dqm_path); + booker.setCurrentFolder(dqm_path_); std::vector subdirs = getter.getSubdirs(); for (auto const& subdir : subdirs) { // the plots are in a per-number-of-processes folder @@ -133,12 +132,12 @@ void FastTimerServiceClient::fillProcessSummaryPlots(DQMStore::IBooker& booker, // no FastTimerService DQM information return; - if (doPlotsVsScalLumi_) - fillPlotsVsLumi(booker, getter, current_path, "VsScalLumi", scalLumiMEPSet_); + if (doPlotsVsOnlineLumi_) + fillPlotsVsLumi(booker, getter, current_path, "vs_lumi", onlineLumiMEPSet_); if (doPlotsVsPixelLumi_) - fillPlotsVsLumi(booker, getter, current_path, "VsPixelLumi", pixelLumiMEPSet_); + fillPlotsVsLumi(booker, getter, current_path, "vs_pixelLumi", pixelLumiMEPSet_); if (doPlotsVsPU_) - fillPlotsVsLumi(booker, getter, current_path, "VsPU", puMEPSet_); + fillPlotsVsLumi(booker, getter, current_path, "vs_pileup", puMEPSet_); // getter.setCurrentFolder(current_path); @@ -353,12 +352,12 @@ void FastTimerServiceClient::fillPathSummaryPlots(DQMStore::IBooker& booker, } // vs lumi - if (doPlotsVsScalLumi_) - fillPlotsVsLumi(booker, getter, subsubdir, "VsScalLumi", scalLumiMEPSet_); + if (doPlotsVsOnlineLumi_) + fillPlotsVsLumi(booker, getter, subsubdir, "vs_lumi", onlineLumiMEPSet_); if (doPlotsVsPixelLumi_) - fillPlotsVsLumi(booker, getter, subsubdir, "VsPixelLumi", pixelLumiMEPSet_); + fillPlotsVsLumi(booker, getter, subsubdir, "vs_pixelLumi", pixelLumiMEPSet_); if (doPlotsVsPU_) - fillPlotsVsLumi(booker, getter, subsubdir, "VsPU", puMEPSet_); + fillPlotsVsLumi(booker, getter, subsubdir, "vs_pileup", puMEPSet_); } } @@ -367,11 +366,10 @@ void FastTimerServiceClient::fillPlotsVsLumi(DQMStore::IBooker& booker, DQMStore::IGetter& getter, std::string const& current_path, std::string const& suffix, - MEPSet pset) { + MEPSet const& pset) { std::vector menames; static const boost::regex byls(".*byls"); - static const boost::regex test(suffix); // get all MEs in the current_path getter.setCurrentFolder(current_path); std::vector allmenames = getter.getMEs(); @@ -477,13 +475,13 @@ void FastTimerServiceClient::fillDescriptions(edm::ConfigurationDescriptions& de // Please change this to state exactly what you do use, even if it is no parameters edm::ParameterSetDescription desc; desc.addUntracked("dqmPath", "HLT/TimerService"); - desc.add("doPlotsVsScalLumi", true); + desc.add("doPlotsVsOnlineLumi", true); desc.add("doPlotsVsPixelLumi", false); desc.add("doPlotsVsPU", true); - edm::ParameterSetDescription scalLumiMEPSet; - fillLumiMePSetDescription(scalLumiMEPSet); - desc.add("scalLumiME", scalLumiMEPSet); + edm::ParameterSetDescription onlineLumiMEPSet; + fillLumiMePSetDescription(onlineLumiMEPSet); + desc.add("onlineLumiME", onlineLumiMEPSet); edm::ParameterSetDescription pixelLumiMEPSet; fillLumiMePSetDescription(pixelLumiMEPSet);