diff --git a/DQM/HLTEvF/plugins/LumiMonitor.cc b/DQM/HLTEvF/plugins/LumiMonitor.cc index 05711b26b1e78..d5d334c1f1bc4 100644 --- a/DQM/HLTEvF/plugins/LumiMonitor.cc +++ b/DQM/HLTEvF/plugins/LumiMonitor.cc @@ -13,6 +13,7 @@ LumiMonitor::LumiMonitor( const edm::ParameterSet& iConfig ) : folderName_ ( iConfig.getParameter("FolderName") ) , lumiScalersToken_ ( consumes(iConfig.getParameter("scalers") ) ) , lumi_binning_ ( getHistoPSet (iConfig.getParameter("histoPSet").getParameter("lumiPSet")) ) + , pu_binning_ ( getHistoPSet (iConfig.getParameter("histoPSet").getParameter("puPSet")) ) , ls_binning_ ( getHistoLSPSet(iConfig.getParameter("histoPSet").getParameter("lsPSet")) ) , doPixelLumi_ ( iConfig.getParameter("doPixelLumi") ) , pixelClustersToken_ ( doPixelLumi_ ? consumes >(iConfig.getParameter("pixelClusters") ) : edm::EDGetTokenT> () ) @@ -26,6 +27,7 @@ LumiMonitor::LumiMonitor( const edm::ParameterSet& iConfig ) : numberOfPixelClustersVsLS_ = nullptr; numberOfPixelClustersVsLumi_ = nullptr; lumiVsLS_ = nullptr; + puVsLS_ = nullptr; pixelLumiVsLS_ = nullptr; pixelLumiVsLumi_ = nullptr; @@ -103,6 +105,14 @@ void LumiMonitor::bookHistograms(DQMStore::IBooker & ibooker, lumiVsLS_->setAxisTitle("LS",1); lumiVsLS_->setAxisTitle("scal inst lumi E30 [Hz cm^{-2}]",2); + histname = "puVsLS"; histtitle = "scal PU vs LS"; + puVsLS_ = ibooker.bookProfile(histname, histtitle, + ls_binning_.nbins, ls_binning_.xmin, ls_binning_.xmax, + pu_binning_.xmin, pu_binning_.xmax); + // puVsLS_->getTH1()->SetCanExtend(TH1::kAllAxes); + puVsLS_->setAxisTitle("LS",1); + puVsLS_->setAxisTitle("scal PU",2); + } #include "FWCore/Framework/interface/ESHandle.h" @@ -115,15 +125,19 @@ void LumiMonitor::analyze(edm::Event const& iEvent, edm::EventSetup const& iSetu int ls = iEvent.id().luminosityBlock(); float scal_lumi = -1.; + float scal_pu = -1.; edm::Handle lumiScalers; iEvent.getByToken(lumiScalersToken_, lumiScalers); if ( lumiScalers.isValid() && lumiScalers->size() ) { LumiScalersCollection::const_iterator scalit = lumiScalers->begin(); scal_lumi = scalit->instantLumi(); + scal_pu = scalit->pileup(); } else { scal_lumi = -1.; + scal_pu = -1.; } lumiVsLS_ -> Fill(ls, scal_lumi); + puVsLS_ -> Fill(ls, scal_pu ); if ( doPixelLumi_ ) { size_t pixel_clusters = 0; @@ -201,6 +215,10 @@ void LumiMonitor::fillDescriptions(edm::ConfigurationDescriptions & descriptions fillHistoPSetDescription(lumiPSet); histoPSet.add("lumiPSet", lumiPSet); + edm::ParameterSetDescription puPSet; + fillHistoPSetDescription(puPSet); + histoPSet.add("puPSet", puPSet); + edm::ParameterSetDescription pixellumiPSet; fillHistoPSetDescription(pixellumiPSet); histoPSet.add("pixellumiPSet", pixellumiPSet); diff --git a/DQM/HLTEvF/plugins/LumiMonitor.h b/DQM/HLTEvF/plugins/LumiMonitor.h index 43469de790b90..c93c7da6033f2 100644 --- a/DQM/HLTEvF/plugins/LumiMonitor.h +++ b/DQM/HLTEvF/plugins/LumiMonitor.h @@ -60,6 +60,7 @@ class LumiMonitor : public DQMEDAnalyzer edm::EDGetTokenT lumiScalersToken_; MEbinning lumi_binning_; + MEbinning pu_binning_; MEbinning ls_binning_; bool doPixelLumi_; @@ -76,6 +77,7 @@ class LumiMonitor : public DQMEDAnalyzer MonitorElement* numberOfPixelClustersVsLS_; MonitorElement* numberOfPixelClustersVsLumi_; MonitorElement* lumiVsLS_; + MonitorElement* puVsLS_; MonitorElement* pixelLumiVsLS_; MonitorElement* pixelLumiVsLumi_; diff --git a/DQM/HLTEvF/python/LumiMonitor_cff.py b/DQM/HLTEvF/python/LumiMonitor_cff.py index d1c5606f5ea14..bfcafc3e29633 100644 --- a/DQM/HLTEvF/python/LumiMonitor_cff.py +++ b/DQM/HLTEvF/python/LumiMonitor_cff.py @@ -19,6 +19,11 @@ 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.), diff --git a/DQM/TrackingMonitor/python/MonitorTrackInnerTrackMuons_cff.py b/DQM/TrackingMonitor/python/MonitorTrackInnerTrackMuons_cff.py index bbf8c810cac6a..dfe099e0e7e44 100644 --- a/DQM/TrackingMonitor/python/MonitorTrackInnerTrackMuons_cff.py +++ b/DQM/TrackingMonitor/python/MonitorTrackInnerTrackMuons_cff.py @@ -44,4 +44,4 @@ MonitorTrackMuonsInnerTrack.doEffFromHitPatternVsBX = False #MonitorTrackINNMuons = cms.Sequence(muonInnerTrack+MonitorTrackMuonsInnerTrack) -MonitorTrackINNMuons = cms.Sequence(muonsPt10+muonInnerTrack+MonitorTrackMuonsInnerTrack) +MonitorTrackINNMuons = cms.Sequence(cms.ignore(muonsPt10)+muonInnerTrack+MonitorTrackMuonsInnerTrack) diff --git a/DQMOffline/Trigger/python/DQMOffline_LumiMontiroring_cff.py b/DQMOffline/Trigger/python/DQMOffline_LumiMontiroring_cff.py index 83159245ba941..e6a41bc58c36a 100644 --- a/DQMOffline/Trigger/python/DQMOffline_LumiMontiroring_cff.py +++ b/DQMOffline/Trigger/python/DQMOffline_LumiMontiroring_cff.py @@ -4,33 +4,42 @@ #hltScalersRawToDigi4DQM = cms.EDProducer( "ScalersRawToDigi", # scalersInputTag = cms.InputTag( "rawDataCollector" ) #) -hltLumiMonitor = cms.EDAnalyzer( "LumiMonitor", - useBPixLayer1 = cms.bool( False ), - minPixelClusterCharge = cms.double( 15000.0 ), - histoPSet = cms.PSet( - lsPSet = cms.PSet( nbins = cms.int32( 2500 ) ), - pixelClusterPSet = cms.PSet( - nbins = cms.int32( 200 ), - xmin = cms.double( -0.5 ), - xmax = cms.double( 19999.5 ) - ), - lumiPSet = cms.PSet( - nbins = cms.int32( 5000 ), - xmin = cms.double( 0.0 ), - xmax = cms.double( 20000.0 ) - ), - pixellumiPSet = cms.PSet( - nbins = cms.int32( 300 ), - xmin = cms.double( 0.0 ), - xmax = cms.double( 3.0 ) - ) + +from DQM.HLTEvF.lumiMonitor_cfi import lumiMonitor + +hltLumiMonitor = lumiMonitor.clone() +hltLumiMonitor.useBPixLayer1 = cms.bool( False ) +hltLumiMonitor.minPixelClusterCharge = cms.double( 15000.0 ) +hltLumiMonitor.histoPSet = cms.PSet( + lsPSet = cms.PSet( + nbins = cms.int32( 2500 ) + ), + pixelClusterPSet = cms.PSet( + nbins = cms.int32( 200 ), + xmin = cms.double( -0.5 ), + xmax = cms.double( 19999.5 ) + ), + puPSet = cms.PSet( + nbins = cms.int32( 130 ), + xmin = cms.double( 0. ), + xmax = cms.double( 130. ) + ), + lumiPSet = cms.PSet( + nbins = cms.int32( 440 ), + xmin = cms.double( 0.0 ), + xmax = cms.double( 22000.0 ) ), - minNumberOfPixelsPerCluster = cms.int32( 2 ), - FolderName = cms.string( "HLT/LumiMonitoring" ), - scalers = cms.InputTag( "scalersRawToDigi" ), - pixelClusters = cms.InputTag( "hltSiPixelClusters" ), - doPixelLumi = cms.bool( False ) + pixellumiPSet = cms.PSet( + nbins = cms.int32( 300 ), + xmin = cms.double( 0.0 ), + xmax = cms.double( 3.0 ) + ) ) +hltLumiMonitor.minNumberOfPixelsPerCluster = cms.int32( 2 ) +hltLumiMonitor.FolderName = cms.string( "HLT/LumiMonitoring" ) +hltLumiMonitor.scalers = cms.InputTag( "scalersRawToDigi" ) +hltLumiMonitor.pixelClusters = cms.InputTag( "hltSiPixelClusters" ) +hltLumiMonitor.doPixelLumi = cms.bool( False ) lumiMonitorHLTsequence = cms.Sequence( # hltScalersRawToDigi4DQM + diff --git a/HLTrigger/Timer/plugins/FastTimerServiceClient.cc b/HLTrigger/Timer/plugins/FastTimerServiceClient.cc index f8e0ac6d071ed..1ee0ca943cfea 100644 --- a/HLTrigger/Timer/plugins/FastTimerServiceClient.cc +++ b/HLTrigger/Timer/plugins/FastTimerServiceClient.cc @@ -38,6 +38,7 @@ class FastTimerServiceClient : public DQMEDHarvester { static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); static void fillLumiMePSetDescription(edm::ParameterSetDescription & pset); + static void fillPUMePSetDescription(edm::ParameterSetDescription & pset); private: std::string m_dqm_path; @@ -54,9 +55,11 @@ class FastTimerServiceClient : public DQMEDHarvester { bool doPlotsVsScalLumi_; bool doPlotsVsPixelLumi_; + bool doPlotsVsPU_; MEPSet scalLumiMEPSet_; MEPSet pixelLumiMEPSet_; + MEPSet puMEPSet_; }; @@ -65,8 +68,10 @@ FastTimerServiceClient::FastTimerServiceClient(edm::ParameterSet const & config) m_dqm_path( config.getUntrackedParameter( "dqmPath" ) ) , doPlotsVsScalLumi_ ( config.getParameter( "doPlotsVsScalLumi" ) ) , doPlotsVsPixelLumi_( config.getParameter( "doPlotsVsPixelLumi" ) ) - , scalLumiMEPSet_ ( doPlotsVsScalLumi_ ? getHistoPSet(config.getParameter("scalLumiME")) : MEPSet{} ) + , doPlotsVsPU_ ( config.getParameter( "doPlotsVsPU" ) ) + , scalLumiMEPSet_ ( doPlotsVsScalLumi_ ? getHistoPSet(config.getParameter("scalLumiME") ) : MEPSet{} ) , pixelLumiMEPSet_( doPlotsVsPixelLumi_ ? getHistoPSet(config.getParameter("pixelLumiME")) : MEPSet{} ) + , puMEPSet_ ( doPlotsVsPU_ ? getHistoPSet(config.getParameter("puME") ) : MEPSet{} ) { } @@ -131,6 +136,8 @@ FastTimerServiceClient::fillProcessSummaryPlots(DQMStore::IBooker & booker, DQMS fillPlotsVsLumi( booker,getter, current_path, "VsScalLumi", scalLumiMEPSet_ ); if ( doPlotsVsPixelLumi_ ) fillPlotsVsLumi( booker,getter, current_path, "VsPixelLumi", pixelLumiMEPSet_ ); + if ( doPlotsVsPU_ ) + fillPlotsVsLumi( booker,getter, current_path, "VsPU", puMEPSet_ ); // getter.setCurrentFolder(current_path); @@ -347,6 +354,8 @@ FastTimerServiceClient::fillPathSummaryPlots(DQMStore::IBooker & booker, DQMStor fillPlotsVsLumi( booker,getter, subsubdir, "VsScalLumi", scalLumiMEPSet_ ); if ( doPlotsVsPixelLumi_ ) fillPlotsVsLumi( booker,getter, subsubdir, "VsPixelLumi", pixelLumiMEPSet_ ); + if ( doPlotsVsPU_ ) + fillPlotsVsLumi( booker,getter, subsubdir, "VsPU", puMEPSet_ ); } @@ -379,7 +388,7 @@ FastTimerServiceClient::fillPlotsVsLumi(DQMStore::IBooker & booker, DQMStore::IG double xmin = pset.xmin; double xmax = pset.xmax; - // get lumi VS LS ME + // get lumi/PU VS LS ME getter.setCurrentFolder(folder); MonitorElement* lumiVsLS = getter.get(folder+"/"+name); // if no ME available, return @@ -395,8 +404,8 @@ FastTimerServiceClient::fillPlotsVsLumi(DQMStore::IBooker & booker, DQMStore::IG std::vector lumi; std::vector LS; for ( size_t ibin=1; ibin <= size; ++ibin ) { - // avoid to store points w/ no info - if ( lumiVsLS->getTProfile()->GetBinContent(ibin) == 0. ) continue; + // // avoid to store points w/ no info + // if ( lumiVsLS->getTProfile()->GetBinContent(ibin) == 0. ) continue; lumi.push_back( lumiVsLS->getTProfile()->GetBinContent(ibin) ); LS.push_back ( lumiVsLS->getTProfile()->GetXaxis()->GetBinCenter(ibin) ); @@ -439,9 +448,19 @@ void FastTimerServiceClient::fillLumiMePSetDescription(edm::ParameterSetDescription & pset) { pset.add("folder", "HLT/LumiMonitoring"); pset.add("name" , "lumiVsLS"); - pset.add ("nbins", 6500 ); + pset.add ("nbins", 440 ); pset.add("xmin", 0.); - pset.add("xmax", 13000.); + pset.add("xmax", 22000.); +} + + +void +FastTimerServiceClient::fillPUMePSetDescription(edm::ParameterSetDescription & pset) { + pset.add("folder", "HLT/LumiMonitoring"); + pset.add("name" , "puVsLS"); + pset.add ("nbins", 260 ); + pset.add("xmin", 0.); + pset.add("xmax", 130.); } @@ -464,6 +483,7 @@ FastTimerServiceClient::fillDescriptions(edm::ConfigurationDescriptions & descri desc.addUntracked( "dqmPath", "HLT/TimerService"); desc.add( "doPlotsVsScalLumi", true ); desc.add( "doPlotsVsPixelLumi", false ); + desc.add( "doPlotsVsPU", true ); edm::ParameterSetDescription scalLumiMEPSet; fillLumiMePSetDescription(scalLumiMEPSet); @@ -473,6 +493,10 @@ FastTimerServiceClient::fillDescriptions(edm::ConfigurationDescriptions & descri fillLumiMePSetDescription(pixelLumiMEPSet); desc.add("pixelLumiME", pixelLumiMEPSet); + edm::ParameterSetDescription puMEPSet; + fillPUMePSetDescription(puMEPSet); + desc.add("puME", puMEPSet); + descriptions.add("fastTimerServiceClient", desc); }