Skip to content

Commit

Permalink
Merge pull request #24156 from mtosi/STEAM_enableHLTDQM
Browse files Browse the repository at this point in the history
STEAM : (re)enable HLTDQM in the main sequence [backport #24155]
  • Loading branch information
cmsbuild committed Aug 31, 2018
2 parents 63fe485 + ce751a9 commit 1022cd6
Show file tree
Hide file tree
Showing 32 changed files with 489 additions and 311 deletions.
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
)

0 comments on commit 1022cd6

Please sign in to comment.