Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

STEAM : (re)enable HLTDQM in the main sequence [backport #24155] #24156

Merged
merged 7 commits into from Aug 31, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 4 additions & 2 deletions DQMOffline/Trigger/python/B2GMonitoring_Client_cff.py
Expand Up @@ -24,7 +24,8 @@
)

b2gEfficiency_ElMu = cms.EDProducer("DQMGenericClient",
subDirs = cms.untracked.vstring("HLT/B2GHLTOffline/Dileptonic/Dimuon/CrossTriggers"),
# subDirs = cms.untracked.vstring("HLT/B2GHLTOffline/Dileptonic/Dimuon/CrossTriggers"),
subDirs = cms.untracked.vstring("HLT/B2G/Dileptonic/Dimuon/CrossTriggers"),
verbose = cms.untracked.uint32(0), # Set to 2 for all messages

resolution = cms.vstring(),
Expand All @@ -39,7 +40,8 @@
)

b2gEfficiency_diMu = cms.EDProducer("DQMGenericClient",
subDirs = cms.untracked.vstring("HLT/B2GHLTOffline/Dileptonic/Dimuon/"),
# subDirs = cms.untracked.vstring("HLT/B2GHLTOffline/Dileptonic/Dimuon/"),
subDirs = cms.untracked.vstring("HLT/B2G/Dileptonic/Dimuon/"),
verbose = cms.untracked.uint32(0), # Set to 2 for all messages

resolution = cms.vstring(),
Expand Down
13 changes: 7 additions & 6 deletions DQMOffline/Trigger/python/B2GMonitoring_cff.py
Expand Up @@ -143,14 +143,16 @@


b2gDileptonHLTOfflineDQM = topDiLeptonHLTOfflineDQM.clone()
b2gDileptonHLTOfflineDQM.setup.directory = cms.string('HLT/B2GHLTOffline/Dileptonic/CrossTriggers')
#b2gDileptonHLTOfflineDQM.setup.directory = cms.string('HLT/B2GHLTOffline/Dileptonic/CrossTriggers')
b2gDileptonHLTOfflineDQM.setup.directory = cms.string('HLT/B2G/Dileptonic/CrossTriggers')
b2gDileptonHLTOfflineDQM.setup.triggerExtras.pathsELECMU = cms.vstring(['HLT_Mu37_Ele27_CaloIdL_MW_v','HLT_Mu27_Ele37_CaloIdL_MW_v'])
b2gDileptonHLTOfflineDQM.setup.triggerExtras.pathsDIMUON = cms.vstring([''])
b2gDileptonHLTOfflineDQM.setup.triggerExtras.pathsDIELEC = cms.vstring([''])
b2gDileptonHLTOfflineDQM.preselection.trigger.select = cms.vstring(['HLT_Mu37_Ele27_CaloIdL_MW_v','HLT_Mu27_Ele37_CaloIdL_MW_v'])

b2gDimuonHLTOfflineDQM = topDiLeptonHLTOfflineDQM.clone()
b2gDimuonHLTOfflineDQM.setup.directory = cms.string('HLT/B2GHLTOffline/Dileptonic/Dimuon')
#b2gDimuonHLTOfflineDQM.setup.directory = cms.string('HLT/B2GHLTOffline/Dileptonic/Dimuon')
b2gDimuonHLTOfflineDQM.setup.directory = cms.string('HLT/B2G/Dileptonic/Dimuon')
b2gDimuonHLTOfflineDQM.setup.triggerExtras.pathsELECMU = cms.vstring([''])
b2gDimuonHLTOfflineDQM.setup.triggerExtras.pathsDIMUON = cms.vstring(['HLT_Mu37_TkMu27_v'])
b2gDimuonHLTOfflineDQM.setup.triggerExtras.pathsDIELEC = cms.vstring([''])
Expand All @@ -159,9 +161,6 @@


b2gMonitorHLT = cms.Sequence(
)

b2gHLTDQMSourceExtra = cms.Sequence(
PFHT1050_Mjjmonitoring +
PFHT1050_Softdropmonitoring +

Expand Down Expand Up @@ -194,6 +193,8 @@
b2gDileptonHLTOfflineDQM*
b2gDimuonHLTOfflineDQM,

cms.Task(B2GegmGsfElectronIDsForDQM)
cms.Task(B2GegmGsfElectronIDsForDQM) ## unschedule execution [Use of electron VID requires this module being executed first]
)

b2gHLTDQMSourceExtra = cms.Sequence(
)
11 changes: 7 additions & 4 deletions DQMOffline/Trigger/python/BTVHLTOfflineSource_cff.py
Expand Up @@ -3,17 +3,20 @@
from DQMOffline.Trigger.BTVHLTOfflineSource_cfi import *
from DQMOffline.Trigger.BTaggingMonitoring_cff import *

btvHLTDQMSourceExtra = cms.Sequence(
btagMonitorHLT = cms.Sequence(
BTagMu_AK4DiJet20_Mu5
+ BTagMu_AK4DiJet40_Mu5
+ BTagMu_AK4DiJet70_Mu5
+ BTagMu_AK4DiJet110_Mu5
+ BTagMu_AK4DiJet170_Mu5
+ BTagMu_AK4Jet300_Mu5
+ BTagMu_AK8DiJet170_Mu5
+ BTagMu_AK8Jet300_Mu5
+ BTagMu_AK8Jet170_DoubleMu5
+ PFJet40
+ BTagMu_AK4Jet300_Mu5
+ BTagMu_AK8Jet300_Mu5
)

btvHLTDQMSourceExtra = cms.Sequence(
PFJet40
+ PFJet60
+ PFJet80
+ PFJet140
Expand Down
2 changes: 0 additions & 2 deletions DQMOffline/Trigger/python/BTVHLTOfflineSource_cfi.py
Expand Up @@ -42,5 +42,3 @@
)
)

btvHLTDQMSourceExtra = cms.Sequence(
)
2 changes: 0 additions & 2 deletions DQMOffline/Trigger/python/BTaggingMonitoring_cff.py
Expand Up @@ -569,5 +569,3 @@
AK8PFJetFwd500.histoPSet.etaPSet = cms.PSet(nbins=cms.uint32(50), xmin=cms.double(-5.0), xmax=cms.double(5.0))


btagMonitorHLT = cms.Sequence(
)
219 changes: 121 additions & 98 deletions DQMOffline/Trigger/python/DQMOffline_Trigger_cff.py
Expand Up @@ -2,25 +2,30 @@

# online trigger objects monitoring
from DQM.HLTEvF.HLTObjectsMonitor_cfi import *
# HLT path monitoring (per PD)
from DQMOffline.Trigger.HLTGeneralOffline_cfi import *

# lumi
from DQMOffline.Trigger.DQMOffline_LumiMontiroring_cff import *

# Egamma
from DQMOffline.Trigger.HLTGeneralOffline_cfi import *
# Egamma
from DQMOffline.Trigger.EgHLTOfflineSource_cfi import *
from DQMOffline.Trigger.EgHLTOfflineSource_cff import *
from DQMOffline.Trigger.EgammaMonitoring_cff import * # tag-n-probe (egammaMonitorHLT + egmHLTDQMSourceExtra)
# Muon
from DQMOffline.Trigger.MuonOffline_Trigger_cff import *
# Top
# TOP
from DQMOffline.Trigger.topHLTOfflineDQM_cff import *
from DQMOffline.Trigger.TopMonitoring_cff import *
#from DQMOffline.Trigger.QuadJetAna_cfi import *
# Tau
from DQMOffline.Trigger.HLTTauDQMOffline_cff import *
# JetMET
from DQMOffline.Trigger.JetMETHLTOfflineAnalyzer_cff import *
from DQMOffline.Trigger.JetMETPromptMonitor_cff import *

# BTV
from DQMOffline.Trigger.BTVHLTOfflineSource_cff import *
from DQMOffline.Trigger.BTaggingMonitoring_cff import *

from DQMOffline.Trigger.FSQHLTOfflineSource_cff import *
from DQMOffline.Trigger.HILowLumiHLTOfflineSource_cfi import *
Expand All @@ -47,7 +52,7 @@
from DQMOffline.Trigger.SiPixel_OfflineMonitoring_cff import *

# photon jet
from DQMOffline.Trigger.HigPhotonJetHLTOfflineSource_cfi import *
from DQMOffline.Trigger.HigPhotonJetHLTOfflineSource_cfi import * # ?!?!?!

##hotline
#from DQMOffline.Trigger.hotlineDQM_cfi import * # ORPHAN
Expand All @@ -72,148 +77,166 @@
from DQMOffline.Trigger.HiggsMonitoring_cff import *
# SMP
from DQMOffline.Trigger.StandardModelMonitoring_cff import *
# TOP
from DQMOffline.Trigger.TopMonitoring_cff import *
# BTV
from DQMOffline.Trigger.BTaggingMonitoring_cff import *
# BPH
from DQMOffline.Trigger.BPHMonitor_cff import *
# remove quadJetAna
from DQMOffline.Trigger.topHLTOfflineDQM_cff import *
from DQMOffline.Trigger.JetMETPromptMonitor_cff import *

# offline DQM for running also on AOD (w/o the need of the RECO step on-the-fly)
## ADD here sequences/modules which rely ONLY on collections stored in the AOD format

egHLTOffDQMSource_HEP17 = egHLTOffDQMSource.clone()
egHLTOffDQMSource_HEP17.subDQMDirName=cms.string('HEP17')
egHLTOffDQMSource_HEP17.doHEP =cms.bool(True)
from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
dqmInfoHLTMon = DQMEDAnalyzer('DQMEventInfo',
subSystemFolder = cms.untracked.string('HLT')
)
###################################################################################################
#### SEQUENCES TO BE RUN depending on the input DATAFORMAT
## on MiniAOD
## ADD here sequences/modules which rely ONLY on collections stored in the MiniAOD format
offlineHLTSourceOnMiniAOD = cms.Sequence(
)

## on AOD (w/o the need of the RECO step on-the-fly)
## ADD here sequences/modules which rely ONLY on collections stored in the AOD format
offlineHLTSourceOnAOD = cms.Sequence(
hltResults *
lumiMonitorHLTsequence *
muonFullOfflineDQM *
HLTTauDQMOffline *
hltInclusiveVBFSource *
higPhotonJetHLTOfflineSource* # plots are filled, but I'm not sure who is really looking at them and what you can get from them ... good candidates to be moved in offlineHLTSourceOnAODextra
dqmEnvHLT *
topHLTriggerOfflineDQM * # plots are filled, but I'm not sure who is really looking at them and what you can get from them ... good candidates to be moved in offlineHLTSourceOnAODextra
dqmEnvHLT
* hltResults
* lumiMonitorHLTsequence
* muonFullOfflineDQM
* HLTTauDQMOffline
* hltInclusiveVBFSource
* higPhotonJetHLTOfflineSource # plots are filled, but I'm not sure who is really looking at them and what you can get from them ... good candidates to be moved in offlineHLTSourceOnAODextra
# eventshapeDQMSequence * ## OBSOLETE !!!! (looks for HLT_HIQ2Top005_Centrality1030_v, HLT_HIQ2Bottom005_Centrality1030_v, etc)
# HeavyIonUCCDQMSequence * ## OBSOLETE !!!! (looks for HLT_HIUCC100_v and HLT_HIUCC020_v)
# hotlineDQMSequence * ## ORPHAN !!!!
egammaMonitorHLT *
exoticaMonitorHLT *
susyMonitorHLT *
b2gMonitorHLT *
higgsMonitorHLT *
smpMonitorHLT *
topMonitorHLT *
btagMonitorHLT *
bphMonitorHLT *
hltObjectsMonitor * # as online DQM, requested/suggested by TSG coordinators
jetmetMonitorHLT
* egammaMonitorHLT
* exoticaMonitorHLT
* susyMonitorHLT
* b2gMonitorHLT
* higgsMonitorHLT
* smpMonitorHLT
* topMonitorHLT
* btagMonitorHLT
* bphMonitorHLT
* hltObjectsMonitor # as online DQM, requested/suggested by TSG coordinators
* jetmetMonitorHLT
)

## w/ the RECO step on-the-fly (to be added to offlineHLTSourceOnAOD which should run anyhow)
offlineHLTSourceWithRECO = cms.Sequence(
jetMETHLTOfflineAnalyzer
)

# offline DQM for running in the standard RECO,DQM (in PromptReco, ReReco, relval, etc)
## THIS IS THE SEQUENCE TO BE RUN AT TIER0
## ADD here only sequences/modules which rely on transient collections produced by the RECO step
## and not stored in the AOD format
offlineHLTSource = cms.Sequence(
offlineHLTSourceWithRECO *
offlineHLTSourceOnAOD
hltResults
* egHLTOffDQMSource ## NEEDED in VALIDATION, not really in MONITORING
* egHLTOffDQMSource_HEP17 ## NEEDED in VALIDATION, not really in MONITORING
* jetMETHLTOfflineAnalyzer
)

## sequence for HI, FSQ and LowLumi
offlineHLTSourceOnAOD4LowLumi = cms.Sequence(
offlineHLTSourceOnAOD *
fsqHLTOfflineSourceSequence *
HILowLumiHLTOfflineSourceSequence
)

offlineHLTSource4LowLumi = cms.Sequence(
offlineHLTSourceWithRECO *
offlineHLTSourceOnAOD4LowLumi
)

####################################################################################################
# offline DQM to be run on AOD (w/o the need of the RECO step on-the-fly) only in the VALIDATION of the HLT menu based on data
# it is needed in order to have the DQM code in the release, w/o the issue of crashing the tier0
# asa the new modules in the sequence offlineHLTSourceOnAODextra are tested,
# these have to be migrated in the main offlineHLTSourceOnAOD sequence
offlineHLTSourceOnAODextra = cms.Sequence(
egHLTOffDQMSource * ## NEEDED in VALIDATION, not really in MONITORING
egHLTOffDQMSource_HEP17 * ## NEEDED in VALIDATION, not really in MONITORING
### POG
btvHLTDQMSourceExtra
* egmHLTDQMSourceExtra
* jmeHLTDQMSourceExtra
* muoHLTDQMSourceExtra
* tauHLTDQMSourceExtra
* trkHLTDQMSourceExtra
* egmHLTDQMSourceExtra # empty in 10_2_0
* jmeHLTDQMSourceExtra
* muoHLTDQMSourceExtra # empty in 10_2_0
* tauHLTDQMSourceExtra # empty in 10_2_0
* trkHLTDQMSourceExtra # empty in 10_2_0
### PAG
* b2gHLTDQMSourceExtra
* bphHLTDQMSourceExtra
* bphHLTDQMSourceExtra # empty in 10_2_0
* exoHLTDQMSourceExtra
* higHLTDQMSourceExtra
* smpHLTDQMSourceExtra
* smpHLTDQMSourceExtra # empty in 10_2_0
* susHLTDQMSourceExtra
* topHLTDQMSourceExtra
* fsqHLTDQMSourceExtra
* topHLTriggerOfflineDQM # plots are filled, but I'm not sure who is really looking at them and what you can get from them ... good candidates to be moved in offlineHLTSourceOnAODextra
* fsqHLTDQMSourceExtra # empty in 10_2_0
# * hinHLTDQMSourceExtra
)

# offline DQM to be run on AOD (w/o the need of the RECO step on-the-fly) in the VALIDATION of the HLT menu based on data
# it is needed in order to have the DQM code in the release, w/o the issue of crashing the tier0
# asa the new modules in the sequence offlineHLTSourceOnAODextra are tested
# these have to be migrated in the main offlineHLTSourceOnAOD sequence
offlineValidationHLTSourceOnAOD = cms.Sequence(
offlineHLTSourceOnAOD
+ offlineHLTSourceOnAODextra
####################################################################################################
#### SEQUENCES TO BE RUN @Tier0 ####
### Express : not really needed
### HLTMonitor : special collections allow to monitor tracks, strip and pixel clusters, b-tagging discriminator, etc --> OfflineHLTMonitoring
### Physics PDs : monitoring vs offline collection (typically, turnON)

## DQM step on Express
offlineHLTSource4ExpressPD = cms.Sequence(
)

# offline DQM for the HLTMonitoring stream
## DQM step on HLTMonitor
## ADD here only sequences/modules which rely on HLT collections which are stored in the HLTMonitoring stream
## and are not available in the standard RAW format
from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
dqmInfoHLTMon = DQMEDAnalyzer('DQMEventInfo',
subSystemFolder = cms.untracked.string('HLT')
)
offlineHLTSource4HLTMonitorPD = cms.Sequence(
dqmInfoHLTMon *
lumiMonitorHLTsequence * # lumi
sistripMonitorHLTsequence * # strip
sipixelMonitorHLTsequence * # pixel
BTVHLTOfflineSource * # BTV
trackingMonitorHLT * # tracking
trackingMonitorHLTDisplacedJet* # EXO : DisplacedJet Tracking
egmTrackingMonitorHLT * # EGM tracking
vertexingMonitorHLT # vertexing
)

# sequences run @tier0 on HLTMonitor PD
OfflineHLTMonitoring = cms.Sequence(
dqmInfoHLTMon *
lumiMonitorHLTsequence * # lumi
sistripMonitorHLTsequence * # strip
sipixelMonitorHLTsequence * # pixel
BTVHLTOfflineSource *
trackingMonitorHLT * # tracking
trackingMonitorHLTDisplacedJet* #DisplacedJet Tracking
egmTrackingMonitorHLT * # egm tracking
vertexingMonitorHLT # vertexing
)
offlineHLTSource4HLTMonitorPD
)

# sequences run @tier0 on HLTMonitor PD w/ HI (PbPb, XeXe), pPb, ppRef
OfflineHLTMonitoringPA = cms.Sequence(
dqmInfoHLTMon *
trackingMonitorHLT *
PAtrackingMonitorHLT
)
)

## DQM step on physics PDs
## transient collections produced by the RECO step are allowed ;)
offlineHLTSource4physicsPD = cms.Sequence(
offlineHLTSourceOnAOD
* offlineHLTSourceWithRECO
)

## DQM step on special physics PDs (HI, FSQ and LowLumi, etc)
## transient collections produced by the RECO step are allowed ;)
offlineHLTSource4specialPhysicsPD = cms.Sequence(
offlineHLTSourceOnAOD
* offlineHLTSourceWithRECO
* fsqHLTOfflineSourceSequence
* HILowLumiHLTOfflineSourceSequence
)

## DQM step on relval
offlineHLTSource4relval = cms.Sequence(
offlineHLTSourceOnAOD
* offlineHLTSourceWithRECO
* offlineHLTSource4HLTMonitorPD ## special collections (tracking, strip, pixel, etc)
* fsqHLTOfflineSourceSequence ## FSQ
* HILowLumiHLTOfflineSourceSequence ## HI
* offlineHLTSourceOnAODextra ## EXTRA
)
####################################################################################################
# offline DQM to be run on AOD (w/o the need of the RECO step on-the-fly) in the VALIDATION of the HLT menu based on data
# it is needed in order to have the DQM code in the release, w/o the issue of crashing the tier0
# asa the new modules in the sequence offlineHLTSourceOnAODextra are tested
# these have to be migrated in the main offlineHLTSourceOnAOD sequence
offlineValidationHLTSourceOnAOD = cms.Sequence(
offlineHLTSourceOnAOD
+ offlineHLTSourceOnAODextra
)
####################################################################################################


## old sequence, it should be dropped asa we are confident it is no longer used
offlineHLTSource = cms.Sequence(
offlineHLTSource4physicsPD
)

### sequence run @tier0 (called by main DQM sequences in DQMOffline/Configuration/python/DQMOffline_cff.py) on all PDs, but HLTMonitor one
triggerOfflineDQMSource = cms.Sequence(
offlineHLTSource
)

triggerOfflineDQMSource4LowLumi = cms.Sequence(
offlineHLTSource4LowLumi
)

# this sequence can be used by AlCa for the validation of conditions,
# because it is like offlineHLTSource (run @tier0) + offlineHLTSourceOnAODextra (meant to validate new features)
offlineValidationHLTSource = cms.Sequence(
offlineHLTSource
+ offlineHLTSourceOnAODextra
)