Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-06-22 02:23:35

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # online trigger objects monitoring
0004 from DQM.HLTEvF.HLTObjectsMonitor_cfi import *
0005 
0006 # monitoring of efficiencies of HLT paths and filters
0007 from DQMOffline.Trigger.dqmHLTFiltersDQMonitor_cfi import dqmHLTFiltersDQMonitor as _dqmHLTFiltersDQMonitor
0008 dqmHLTFiltersDQMonitor = _dqmHLTFiltersDQMonitor.clone(
0009     folderName = 'HLT/Filters',
0010     efficPlotNamePrefix = 'effic_',
0011     triggerResults = 'TriggerResults::HLT',
0012     triggerEvent = 'hltTriggerSummaryAOD::HLT',
0013     triggerEventWithRefs = 'hltTriggerSummaryRAW::HLT'
0014 )
0015 
0016 # Lumi
0017 from DQMOffline.Trigger.DQMOffline_LumiMonitoring_cff import *
0018 
0019 # Egamma
0020 from DQMOffline.Trigger.EgHLTOfflineSource_cff import *
0021 from DQMOffline.Trigger.EgammaMonitoring_cff import * # tag-n-probe (egammaMonitorHLT + egmHLTDQMSourceExtra)
0022 
0023 # Muon
0024 from DQMOffline.Trigger.MuonOffline_Trigger_cff import *
0025 
0026 # Tau
0027 from DQMOffline.Trigger.HLTTauDQMOffline_cff import *
0028 
0029 # JetMET
0030 from DQMOffline.Trigger.JetMETHLTOfflineAnalyzer_cff import *
0031 from DQMOffline.Trigger.JetMETPromptMonitor_cff import *
0032 
0033 # BTV
0034 from DQMOffline.Trigger.BTVHLTOfflineSource_cfi import *
0035 from DQMOffline.Trigger.BTaggingMonitoring_cff import *
0036 
0037 #BTag and Probe monitoring
0038 from DQMOffline.Trigger.BTagAndProbeMonitor_cfi import *
0039 from DQMOffline.Trigger.BTagAndProbeMonitoring_cff import *
0040 
0041 # ParticleNet jet flavor tagging monitoring
0042 from DQMOffline.Trigger.ParticleNetJetTagMonitoring_cff import *
0043 
0044 # vertexing
0045 from DQMOffline.Trigger.PrimaryVertexMonitoring_cff import *
0046 
0047 # tracking
0048 from DQMOffline.Trigger.TrackingMonitoring_cff import *
0049 from DQMOffline.Trigger.TrackingMonitoringPA_cff import*
0050 from DQMOffline.Trigger.TrackToTrackMonitoring_cff import *
0051 
0052 # hcal
0053 from DQMOffline.Trigger.HCALMonitoring_cff import *
0054 
0055 # strip
0056 from DQMOffline.Trigger.SiStrip_OfflineMonitoring_cff import *
0057 
0058 # pixel
0059 from DQMOffline.Trigger.SiPixel_OfflineMonitoring_cff import *
0060 
0061 # phase2 tracker
0062 from DQMOffline.Trigger.SiTrackerPhase2_OfflineMonitoring_cff import *
0063 
0064 # B2G
0065 from DQMOffline.Trigger.B2GMonitoring_cff import *
0066 
0067 # BPH
0068 from DQMOffline.Trigger.BPHMonitor_cff import *
0069 
0070 # EXO
0071 from DQMOffline.Trigger.ExoticaMonitoring_cff import *
0072 
0073 # FSQ
0074 from DQMOffline.Trigger.FSQHLTOfflineSource_cff import *
0075 
0076 # HI
0077 from DQMOffline.Trigger.HILowLumiHLTOfflineSource_cfi import *
0078 
0079 # HIG
0080 from DQMOffline.Trigger.HiggsMonitoring_cff import *
0081 # photon jet
0082 from DQMOffline.Trigger.HigPhotonJetHLTOfflineSource_cfi import * # ?!?!?!
0083 #Check if perLSsaving is enabled to mask MEs vs LS
0084 from Configuration.ProcessModifiers.dqmPerLSsaving_cff import dqmPerLSsaving
0085 dqmPerLSsaving.toModify(higPhotonJetHLTOfflineSource, perLSsaving=True)
0086 # SMP
0087 from DQMOffline.Trigger.StandardModelMonitoring_cff import *
0088 
0089 # SUS
0090 from DQMOffline.Trigger.SusyMonitoring_cff import *
0091 
0092 # TOP
0093 from DQMOffline.Trigger.TopMonitoring_cff import *
0094 
0095 # Inclusive VBF
0096 from DQMOffline.Trigger.HLTInclusiveVBFSource_cfi import *
0097 
0098 ##hotline 
0099 #from DQMOffline.Trigger.hotlineDQM_cfi import * # ORPHAN
0100 
0101 ##eventshape
0102 #from DQMOffline.Trigger.eventshapeDQM_cfi import * # OBSOLETE
0103 
0104 ##UCC
0105 #from DQMOffline.Trigger.heavyionUCCDQM_cfi import * # OBSOLETE
0106 
0107 import DQMServices.Components.DQMEnvironment_cfi
0108 dqmEnvHLT = DQMServices.Components.DQMEnvironment_cfi.dqmEnv.clone(
0109     subSystemFolder = 'HLT',
0110     showHLTGlobalTag = True)
0111 
0112 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
0113 dqmInfoHLTMon = DQMEDAnalyzer('DQMEventInfo',
0114                               subSystemFolder = cms.untracked.string('HLT'),
0115                               showHLTGlobalTag =  cms.untracked.bool(True))
0116 ###################################################################################################
0117 #### SEQUENCES TO BE RUN depending on the input DATAFORMAT
0118 ## on MiniAOD
0119 ## ADD here sequences/modules which rely ONLY on collections stored in the MiniAOD format
0120 offlineHLTSourceOnMiniAOD = cms.Sequence(
0121 )
0122 
0123 ## on AOD (w/o the need of the RECO step on-the-fly)
0124 ## ADD here sequences/modules which rely ONLY on collections stored in the AOD format
0125 offlineHLTSourceOnAOD = cms.Sequence(
0126       dqmEnvHLT
0127     * dqmHLTFiltersDQMonitor
0128     * lumiMonitorHLTsequence
0129     * muonFullOfflineDQM
0130     * HLTTauDQMOffline
0131     * hltInclusiveVBFSource
0132     * 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
0133 #    eventshapeDQMSequence * ## OBSOLETE !!!! (looks for HLT_HIQ2Top005_Centrality1030_v, HLT_HIQ2Bottom005_Centrality1030_v, etc)
0134 #    HeavyIonUCCDQMSequence * ## OBSOLETE !!!! (looks for HLT_HIUCC100_v and HLT_HIUCC020_v)
0135 #    hotlineDQMSequence * ## ORPHAN !!!!
0136     * egammaMonitorHLT 
0137     * exoticaMonitorHLT
0138     * susyMonitorHLT
0139     * b2gMonitorHLT
0140     * higgsMonitorHLT
0141     * smpMonitorHLT
0142     * topMonitorHLT
0143     * btagMonitorHLT 
0144     * bphMonitorHLT
0145     * hltObjectsMonitor # as online DQM, requested/suggested by TSG coordinators
0146     * jetmetMonitorHLT
0147 )
0148 
0149 ## w/ the RECO step on-the-fly (to be added to offlineHLTSourceOnAOD which should run anyhow)
0150 offlineHLTSourceWithRECO = cms.Sequence(
0151       dqmHLTFiltersDQMonitor
0152     * egHLTOffDQMSource       ## NEEDED in VALIDATION, not really in MONITORING
0153     * egHLTOffDQMSource_HEP17 ## NEEDED in VALIDATION, not really in MONITORING
0154     * jetMETHLTOfflineAnalyzer
0155     * b2gHLTDQMSourceWithRECO ## ak8PFJetsPuppiSoftDrop collection is not available in AOD, actually it is produced by the miniAOD step
0156 )
0157 ####################################################################################################
0158 # 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
0159 # it is needed in order to have the DQM code in the release, w/o the issue of crashing the tier0
0160 # as the new modules in the sequence offlineHLTSourceOnAODextra are tested,
0161 # these have to be migrated in the main offlineHLTSourceOnAOD sequence
0162 offlineHLTSourceOnAODextra = cms.Sequence(
0163 ### POG
0164       btvHLTDQMSourceExtra
0165     * egmHLTDQMSourceExtra # empty in 10_2_0
0166     * jmeHLTDQMSourceExtra 
0167     * muoHLTDQMSourceExtra # empty in 10_2_0
0168     * tauHLTDQMSourceExtra # empty in 10_2_0
0169     * trkHLTDQMSourceExtra # empty in 10_2_0
0170 ### PAG
0171     * b2gHLTDQMSourceExtra
0172     * bphHLTDQMSourceExtra # empty in 10_2_0
0173     * exoHLTDQMSourceExtra
0174     * higHLTDQMSourceExtra
0175     * smpHLTDQMSourceExtra # empty in 10_2_0
0176     * susHLTDQMSourceExtra
0177     * topHLTDQMSourceExtra
0178     * fsqHLTDQMSourceExtra # empty in 10_2_0
0179 #    * hinHLTDQMSourceExtra
0180 )
0181 ####################################################################################################
0182 #### SEQUENCES TO BE RUN @Tier0 ####
0183 ### Express : not really needed
0184 ### HLTMonitor : special collections allow to monitor tracks, strip and pixel clusters, b-tagging discriminator, etc --> OfflineHLTMonitoring
0185 ### Physics PDs : monitoring vs offline collection (typically, turnON)
0186 
0187 ## DQM step on Express
0188 offlineHLTSource4ExpressPD = cms.Sequence(
0189 )
0190 
0191 ## DQM step on HLTMonitor
0192 ## ADD here only sequences/modules which rely on HLT collections which are stored in the HLTMonitoring stream
0193 ## and are not available in the standard RAW format
0194 offlineHLTSource4HLTMonitorPD = cms.Sequence(
0195     dqmInfoHLTMon *
0196     lumiMonitorHLTsequence *          # lumi
0197     sistripMonitorHLTsequence *       # strip
0198     sipixelMonitorHLTsequence *       # pixel
0199     BTVHLTOfflineSource *             # BTV
0200     bTagHLTTrackMonitoringSequence *  # BTV relative track efficiencies
0201     trackingMonitorHLT *              # tracking
0202     BTagAndProbeHLT *                 # BTag and Probe
0203     trackingMonitorHLTDisplacedJet*   # EXO : DisplacedJet Tracking 
0204     egmTrackingMonitorHLT *           # EGM tracking
0205     hltToOfflineTrackValidatorSequence *  # Relative Online to Offline performace
0206     vertexingMonitorHLT *             # vertexing
0207     particleNetMonitoringHLT          # HIG: monitoring of HLT PNET taggers (incl. comparisons to Offline PNET)
0208 )
0209 
0210 _offlineHLTSource4HLTMonitorPDPh2 = cms.Sequence(
0211     dqmInfoHLTMon *
0212     HLTtrackerphase2DQMSource *           # phase-2 IT and OT clusters
0213     trackingMonitorHLT *                  # tracking
0214     egmTrackingMonitorHLT *               # EGM tracking
0215     hltToOfflineTrackValidatorSequence *  # Relative Online to Offline performace
0216     vertexingMonitorHLT                   # vertexing
0217 )
0218 
0219 # remove Strip HLT monitoring in the phase-2 sequence
0220 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
0221 phase2_tracker.toReplaceWith(offlineHLTSource4HLTMonitorPD,_offlineHLTSource4HLTMonitorPDPh2)
0222 
0223 # sequences run @tier0 on HLTMonitor PD
0224 OfflineHLTMonitoring = cms.Sequence(
0225     offlineHLTSource4HLTMonitorPD
0226 )
0227 
0228 # sequences run @tier0 on HLTMonitor PD w/ HI (PbPb, XeXe), pPb, ppRef
0229 OfflineHLTMonitoringPA = cms.Sequence(
0230     dqmInfoHLTMon *
0231     trackingMonitorHLT *
0232     PAtrackingMonitorHLT  
0233 )
0234 
0235 ## DQM step on physics PDs
0236 ## transient collections produced by the RECO step are allowed ;)
0237 offlineHLTSource4physicsPD = cms.Sequence(
0238       offlineHLTSourceOnAOD
0239     * offlineHLTSourceWithRECO
0240 )
0241 
0242 ## DQM step on special physics PDs (HI, FSQ and LowLumi, etc)
0243 ## transient collections produced by the RECO step are allowed ;)
0244 offlineHLTSource4specialPhysicsPD = cms.Sequence(
0245       offlineHLTSourceOnAOD
0246     * offlineHLTSourceWithRECO
0247     * fsqHLTOfflineSourceSequence
0248     * HILowLumiHLTOfflineSourceSequence
0249 )
0250 
0251 ## DQM step on relval
0252 offlineHLTSource4relval = cms.Sequence(
0253       offlineHLTSourceOnAOD
0254     * offlineHLTSourceWithRECO
0255     * offlineHLTSource4HLTMonitorPD       ## special collections (tracking, strip, pixel, etc)
0256     * fsqHLTOfflineSourceSequence         ## FSQ
0257     * HILowLumiHLTOfflineSourceSequence   ## HI
0258     * offlineHLTSourceOnAODextra          ## EXTRA
0259 )
0260 ####################################################################################################
0261 # 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
0262 # it is needed in order to have the DQM code in the release, w/o the issue of crashing the tier0
0263 # as the new modules in the sequence offlineHLTSourceOnAODextra are tested
0264 # these have to be migrated in the main offlineHLTSourceOnAOD sequence
0265 offlineValidationHLTSourceOnAOD = cms.Sequence(
0266       offlineHLTSourceOnAOD
0267     + offlineHLTSourceOnAODextra
0268 )
0269 ####################################################################################################
0270 
0271 
0272 ## old sequence, it should be dropped asa we are confident it is no longer used
0273 offlineHLTSource = cms.Sequence(
0274     offlineHLTSource4physicsPD
0275 )
0276 
0277 ### sequence run @tier0 (called by main DQM sequences in DQMOffline/Configuration/python/DQMOffline_cff.py) on all PDs, but HLTMonitor one
0278 triggerOfflineDQMSource =  cms.Sequence(
0279     offlineHLTSource
0280 )
0281 
0282 # this sequence can be used by AlCa for the validation of conditions,
0283 # because it is like offlineHLTSource (run @tier0) + offlineHLTSourceOnAODextra (meant to validate new features)
0284 offlineValidationHLTSource = cms.Sequence(
0285       offlineHLTSource
0286     + offlineHLTSourceOnAODextra
0287 )