diff --git a/DQMOffline/Configuration/python/DQMOffline_cff.py b/DQMOffline/Configuration/python/DQMOffline_cff.py index 6ba7caccf1b49..e63a290ce340b 100644 --- a/DQMOffline/Configuration/python/DQMOffline_cff.py +++ b/DQMOffline/Configuration/python/DQMOffline_cff.py @@ -32,6 +32,12 @@ # HLT Scouting trigger sequence DQMOfflineScouting = cms.Sequence( hltScoutingDqmOffline ) +from Configuration.Eras.Modifier_run3_common_cff import run3_common +from Configuration.Eras.Modifier_phase2_common_cff import phase2_common +## Remove Scouting DQM in run1/2 eras and phase2 +(~run3_common | phase2_common).toReplaceWith(DQMOfflineScouting, cms.Sequence( )) +DQMOfflineScoutingForRelVals = DQMOfflineScouting.copy() +DQMOfflineScoutingForRelVals.replace(hltScoutingDqmOffline, hltScoutingDqmOfflineForRelVals) # HLT Heterogeneous monitoring sequence DQMOfflineHLTGPUvsCPU = cms.Sequence( HLTHeterogeneousMonitoringSequence ) @@ -161,6 +167,7 @@ DQMOfflineJetMET * DQMOfflineEGamma * DQMOfflineTrigger * + DQMOfflineScoutingForRelVals * DQMOfflineBTag * DQMOfflineBeam * DQMOfflinePhysics ) @@ -198,14 +205,13 @@ HLTMonitoring * DQMMessageLogger ) - DQMOfflineExtraHLT = cms.Sequence( offlineValidationHLTSource ) DQMOfflineFakeHLT = cms.Sequence( DQMOffline ) DQMOfflineFakeHLT.remove( HLTMonitoring ) DQMOfflineFakeHLT.remove( DQMOfflineTrigger ) - +DQMOfflineFakeHLT.remove( DQMOfflineScoutingForRelVals ) #MC DQMOfflinePrePOGMC = cms.Sequence( DQMOfflineVertex * DQMOfflineBTag * @@ -244,6 +250,7 @@ DQMOfflineTrackerPixel * DQMOfflineTracking * DQMOfflineTrigger * + DQMOfflineScoutingForRelVals * DQMOfflineBeam * DQMOfflineCASTOR * DQMOfflinePhysics * @@ -252,6 +259,7 @@ DQMOfflineCommonFakeHLT = cms.Sequence( DQMOfflineCommon ) DQMOfflineCommonFakeHLT.remove( DQMOfflineTrigger ) +DQMOfflineCommonFakeHLT.remove( DQMOfflineScoutingForRelVals ) #MinBias/ZeroBias DQMOfflineTrackerStripMinBias = cms.Sequence( SiStripDQMTier0MinBias ) diff --git a/DQMOffline/HLTScouting/python/HLTScoutingDqmOffline_cff.py b/DQMOffline/HLTScouting/python/HLTScoutingDqmOffline_cff.py index 90864f3352cce..a15daf6daff90 100644 --- a/DQMOffline/HLTScouting/python/HLTScoutingDqmOffline_cff.py +++ b/DQMOffline/HLTScouting/python/HLTScoutingDqmOffline_cff.py @@ -28,7 +28,11 @@ ScoutingMuonPropertiesMonitor ) hltScoutingJetDqmOffline = cms.Sequence(jetMETDQMOfflineSourceScouting) +## remove corrector to not schedule the run of the corrector modules which crash if scouting objects are missing +hltScoutingJetDqmOfflineForRelVals = cms.Sequence(jetMETDQMOfflineSourceScoutingNoCorrection) hltScoutingCollectionMonitor = cms.Sequence(scoutingCollectionMonitor) hltScoutingDqmOffline = cms.Sequence(hltScoutingMuonDqmOffline + hltScoutingEGammaDqmOffline + hltScoutingJetDqmOffline + hltScoutingCollectionMonitor) +hltScoutingDqmOfflineForRelVals = hltScoutingDqmOffline.copy() +hltScoutingDqmOfflineForRelVals.replace(hltScoutingJetDqmOffline, hltScoutingJetDqmOfflineForRelVals) diff --git a/DQMOffline/JetMET/python/jetAnalyzer_cff.py b/DQMOffline/JetMET/python/jetAnalyzer_cff.py index 47a83b4529fb0..d079b02dfcc02 100644 --- a/DQMOffline/JetMET/python/jetAnalyzer_cff.py +++ b/DQMOffline/JetMET/python/jetAnalyzer_cff.py @@ -15,6 +15,9 @@ ) jetDQMAnalyzerSequenceScouting = cms.Sequence(jetDQMAnalyzerAk4ScoutingUncleaned*jetDQMAnalyzerAk4ScoutingCleaned) +jetDQMAnalyzerAk4ScoutingUncleanedNoCorrection = jetDQMAnalyzerAk4ScoutingUncleaned.clone(JetCorrections = cms.InputTag('')) +jetDQMAnalyzerAk4ScoutingCleanedNoCorrection = jetDQMAnalyzerAk4ScoutingCleaned.clone(JetCorrections = cms.InputTag('')) +jetDQMAnalyzerSequenceScoutingNoCorrection = cms.Sequence(jetDQMAnalyzerAk4ScoutingUncleanedNoCorrection*jetDQMAnalyzerAk4ScoutingCleanedNoCorrection) jetDQMAnalyzerSequenceCosmics = cms.Sequence(jetDQMAnalyzerAk4CaloUncleaned) diff --git a/DQMOffline/JetMET/python/jetMETDQMOfflineSource_cff.py b/DQMOffline/JetMET/python/jetMETDQMOfflineSource_cff.py index d8fcb47ab0fd3..d7eadf1840600 100644 --- a/DQMOffline/JetMET/python/jetMETDQMOfflineSource_cff.py +++ b/DQMOffline/JetMET/python/jetMETDQMOfflineSource_cff.py @@ -139,7 +139,7 @@ def clone_in_tagging_mode( m ): ak4PFScoutingL1FastL2L3ResidualCorrectorChain = cms.Sequence(ak4PFScoutingL1FastL2L3ResidualCorrectorTask) dqmAk4PFScoutingL1FastL2L3ResidualCorrector = ak4PFScoutingL1FastL2L3ResidualCorrector.clone() -dqmAk4PFScoutingL1FastL2L3ResidualCorrectorChain = cms.Sequence( +dqmAk4PFScoutingL1FastL2L3ResidualCorrectorTask = cms.Task( dqmAk4PFScoutingL1FastL2L3ResidualCorrector ) @@ -220,9 +220,11 @@ def clone_in_tagging_mode( m ): *METDQMAnalyzerSequence *pfCandidateDQMAnalyzer) -jetMETDQMOfflineSourceScouting = cms.Sequence(jetPreDQMSeqScouting* - dqmAk4PFScoutingL1FastL2L3ResidualCorrectorChain* - jetDQMAnalyzerSequenceScouting) +# We must keep correctors in Task to skip their execution when in events without scouting objects +jetMETDQMOfflineSourceScouting = cms.Sequence(jetDQMAnalyzerSequenceScouting, + jetPreDQMTaskScouting, + dqmAk4PFScoutingL1FastL2L3ResidualCorrectorTask) +jetMETDQMOfflineSourceScoutingNoCorrection = cms.Sequence(jetDQMAnalyzerSequenceScoutingNoCorrection) from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA (~pp_on_AA).toReplaceWith(jetMETDQMOfflineSource, _jetMETDQMOfflineSourceWithPUPPI)