diff --git a/DQM/CTPPS/plugins/CTPPSDiamondDQMSource.cc b/DQM/CTPPS/plugins/CTPPSDiamondDQMSource.cc index 1d6afd266755a..ffb949752dfc4 100644 --- a/DQM/CTPPS/plugins/CTPPSDiamondDQMSource.cc +++ b/DQM/CTPPS/plugins/CTPPSDiamondDQMSource.cc @@ -103,6 +103,8 @@ class CTPPSDiamondDQMSource : public DQMOneEDAnalyzer ctppsLhcInfoToken_; bool excludeMultipleHits_; - bool perLSsaving_; //to avoid nanoDQMIO crashing, driven by DQMServices/Core/python/DQMStore_cfi.py const bool extract_digi_info_; struct DiamondShifts { double global, withPixels; @@ -273,8 +279,12 @@ CTPPSDiamondDQMSource::SectorPlots::SectorPlots(DQMStore::IBooker& ibooker, unsi } //---------------------------------------------------------------------------------------------------- -CTPPSDiamondDQMSource::PotPlots::PotPlots( - DQMStore::IBooker& ibooker, unsigned int id, unsigned int windowsNum, bool plotOnline, bool plotOffline) +CTPPSDiamondDQMSource::PotPlots::PotPlots(DQMStore::IBooker& ibooker, + unsigned int id, + unsigned int windowsNum, + bool plotOnline, + bool plotOffline, + bool perLSsaving) : HitCounter(0), MHCounter(0), LeadingOnlyCounter(0), @@ -328,7 +338,7 @@ CTPPSDiamondDQMSource::PotPlots::PotPlots( 13); } - if (plotOffline) { + if (plotOffline && !perLSsaving) { ibooker.setCurrentFolder(path + "/timing_profiles"); // TOTVsLS=ibooker.book2D("ToT vs LS",title +" ToT vs LS;LS;ToT(ns)",4000,0,4000, 200,5,25); // trackTimeVsLS=ibooker.book2D("track time vs LS",title+" track time vs LS;LS;track_time(ns)",4000,0,4000, 500, -25, 25); @@ -576,7 +586,8 @@ CTPPSDiamondDQMSource::ChannelPlots::ChannelPlots(DQMStore::IBooker& ibooker, un //---------------------------------------------------------------------------------------------------- CTPPSDiamondDQMSource::CTPPSDiamondDQMSource(const edm::ParameterSet& ps) - : tokenPixelTrack_( + : perLSsaving_(ps.getUntrackedParameter("perLSsaving", false)), + tokenPixelTrack_( consumes>(ps.getParameter("tagPixelLocalTracks"))), tokenDiamondHit_( consumes>(ps.getParameter("tagDiamondRecHits"))), @@ -586,7 +597,6 @@ CTPPSDiamondDQMSource::CTPPSDiamondDQMSource(const edm::ParameterSet& ps) ctppsGeometryEventToken_(esConsumes()), // ctppsLhcInfoToken_(esConsumes()), excludeMultipleHits_(ps.getParameter("excludeMultipleHits")), - perLSsaving_(ps.getUntrackedParameter("perLSsaving", false)), extract_digi_info_(ps.getParameter("extractDigiInfo")), centralOOT_(-999), verbosity_(ps.getUntrackedParameter("verbosity", 0)), @@ -660,7 +670,7 @@ void CTPPSDiamondDQMSource::bookHistograms(DQMStore::IBooker& ibooker, const edm // per-pot plots const CTPPSDiamondDetId rpId(chId.rpId()); if (potPlots_.count(rpId) == 0) - potPlots_[rpId] = PotPlots(ibooker, rpId, windowsNum_, plotOnline_, plotOffline_); + potPlots_[rpId] = PotPlots(ibooker, rpId, windowsNum_, plotOnline_, plotOffline_, perLSsaving_); // per-sector plots const CTPPSDiamondDetId secId(chId.armId()); @@ -969,7 +979,7 @@ void CTPPSDiamondDQMSource::analyze(const edm::Event& event, const edm::EventSet for (int i = 0; i < numOfBins; ++i) trackHistoInTimeTmp->Fill(trackHistoInTimeTmp->GetBinCenter(startBin + i)); } - if (plotOffline_) { + if (plotOffline_ && !perLSsaving_) { // potPlots_[detId_pot].trackTimeVsLS->Fill(event.luminosityBlock(),track.time()); potPlots_[detId_pot].trackTimeVsBX->Fill(event.bunchCrossing(), track.time()); //potPlots_[detId_pot].trackTimeVsXAngle->Fill(hLhcInfo->crossingAngle(), track.time()); @@ -1360,7 +1370,7 @@ void CTPPSDiamondDQMSource::checkEventNumber(const CTPPSDiamondDetId& detId, //---------------------------------------------------------------------------------------------------- void CTPPSDiamondDQMSource::dqmEndRun(edm::Run const&, edm::EventSetup const&) { - if (plotOffline_) + if (plotOffline_ && !perLSsaving_) for (const auto& rpPlots : potPlots_) { auto plots = rpPlots.second; // *(plots.TOTVsLSProfile->getTProfile())=*plots.TOTVsLS->getTH2F()->ProfileX(); diff --git a/DQM/CTPPS/python/ctppsDQM_cff.py b/DQM/CTPPS/python/ctppsDQM_cff.py index f8e1a0980914c..b44cb02db3d11 100644 --- a/DQM/CTPPS/python/ctppsDQM_cff.py +++ b/DQM/CTPPS/python/ctppsDQM_cff.py @@ -56,6 +56,8 @@ dqmPerLSsaving.toModify(ctppsDiamondDQMSource, perLSsaving=True) dqmPerLSsaving.toModify(diamondSampicDQMSourceOffline, perLSsaving=True) dqmPerLSsaving.toModify(ctppsCommonDQMSourceOffline, perLSsaving=True) +dqmPerLSsaving.toModify(ctppsDiamondDQMOfflineSource, perLSsaving=True) +dqmPerLSsaving.toModify(totemTimingDQMSource, perLSsaving=True) _ctppsDQMOfflineSource = cms.Sequence( ctppsPixelDQMOfflineSource diff --git a/DQM/CTPPS/python/diamondSampicDQMSource_cfi.py b/DQM/CTPPS/python/diamondSampicDQMSource_cfi.py index e4bb2a48a6d1c..2604c4e9362b7 100644 --- a/DQM/CTPPS/python/diamondSampicDQMSource_cfi.py +++ b/DQM/CTPPS/python/diamondSampicDQMSource_cfi.py @@ -23,6 +23,8 @@ samplesForNoise = cms.untracked.uint32(6), + perLSsaving = cms.untracked.bool(False), #driven by DQMServices/Core/python/DQMStore_cfi.py + verbosity = cms.untracked.uint32(10), plotOnline=cms.untracked.bool(False) ) diff --git a/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py b/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py index 0bb609c36941b..d6a897572e580 100644 --- a/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py +++ b/DQMServices/Core/python/nanoDQMIO_perLSoutput_cff.py @@ -19,8 +19,54 @@ MEsToSave = cms.untracked.vstring(*( #Using tuple to avoid python limit of 255 arguments #as suggested in: #https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuidePoolInputSources#Example_3_More_than_255_input_fi - 'Muons/MuonRecoAnalyzer/', #Folder and its subfolders - 'Muons/MuonIdDQM/GlobalMuons/hDT1Pullx' #particular ME + + #Examples: + #'Muons/MuonRecoAnalyzer/', #Folder and its subfolders + #'Muons/MuonIdDQM/GlobalMuons/hDT1Pullx' #particular ME + + #Version 0.1 for nanoDQMIO in CMSSW_12_1_0 ReReco of Pilot Test Runs taken in Autumn 2021 + #DT + 'DT/02-Segments/03-MeanT0/T0MeanAllWheels', + + #ECAL + 'EcalBarrel/EBOccupancyTask/EBOT digi occupancy', + 'EcalEndcap/EEOccupancyTask/EEOT digi occupancy EE -', + 'EcalEndcap/EEOccupancyTask/EEOT digi occupancy EE +', + + #Muon POG + 'Muons/MuonRecoAnalyzer/', + 'Muons/MuonIdDQM/GlobalMuons/', + + #Tracker/Tracking + #PixelPhase1 + 'PixelPhase1/Phase1_MechanicalView/', + 'PixelPhase1/Tracks/', + + #SiStrip + 'SiStrip/MechanicalView/', + + #Tracking histograms: + 'Tracking/PrimaryVertices/highPurityTracks/pt_0to1/offline/', + 'Tracking/TrackParameters/generalTracks/LSanalysis/', + 'Tracking/TrackParameters/highPurityTracks/pt_1/LSanalysis/', + 'Tracking/TrackParameters/highPurityTracks/pt_0to1/LSanalysis/', + 'Tracking/TrackParameters/highPurityTracks/dzPV0p1/LSanalysis/', + 'Tracking/TrackParameters/generalTracks/GeneralProperties/', + 'Tracking/TrackParameters/highPurityTracks/pt_1/GeneralProperties/', + 'Tracking/TrackParameters/highPurityTracks/pt_0to1/GeneralProperties/', + 'Tracking/TrackParameters/highPurityTracks/dzPV0p1/GeneralProperties/', + 'Tracking/TrackParameters/generalTracks/HitProperties/', + 'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/', + 'Tracking/TrackParameters/highPurityTracks/pt_0to1/HitProperties/', + 'Tracking/TrackParameters/highPurityTracks/dzPV0p1/HitProperties/', + 'Tracking/TrackParameters/generalTracks/HitProperties/Pixel/', + 'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/Pixel/', + 'Tracking/TrackParameters/highPurityTracks/pt_0to1/HitProperties/Pixel/', + 'Tracking/TrackParameters/highPurityTracks/dzPV0p1/HitProperties/Pixel/', + 'Tracking/TrackParameters/generalTracks/HitProperties/Strip/', + 'Tracking/TrackParameters/highPurityTracks/pt_1/HitProperties/Strip/', + 'Tracking/TrackParameters/highPurityTracks/pt_0to1/HitProperties/Strip/', + 'Tracking/TrackParameters/highPurityTracks/dzPV0p1/HitProperties/Strip/' ) ) )