File indexing completed on 2025-04-29 02:41:07
0001 import FWCore.ParameterSet.Config as cms
0002
0003
0004
0005 BSOnlineRecordName = 'BeamSpotOnlineHLTObjectsRcd'
0006 BSOnlineTag = 'BeamSpotOnlineHLT'
0007 BSOnlineJobName = 'BeamSpotOnlineHLT'
0008 BSOnlineOmsServiceUrl = 'http://cmsoms-eventing.cms:9949/urn:xdaq-application:lid=100/getRunAndLumiSection'
0009 useLockRecords = True
0010
0011 import sys
0012 if 'runkey=hi_run' in sys.argv:
0013 from Configuration.Eras.Era_Run3_pp_on_PbPb_approxSiStripClusters_cff import Run3_pp_on_PbPb_approxSiStripClusters
0014 process = cms.Process("BeamMonitorHLT", Run3_pp_on_PbPb_approxSiStripClusters)
0015 else:
0016 from Configuration.Eras.Era_Run3_2025_cff import Run3_2025
0017 process = cms.Process("BeamMonitorHLT", Run3_2025)
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 live = True
0036 unitTest = False
0037
0038 if 'unitTest=True' in sys.argv:
0039 live=False
0040 unitTest=True
0041 useLockRecords = False
0042
0043
0044
0045 if unitTest:
0046 process.load("DQM.Integration.config.unitteststreamerinputsource_cfi")
0047 from DQM.Integration.config.unitteststreamerinputsource_cfi import options
0048
0049 if process.runType.getRunType() == process.runType.hi_run:
0050 process.source.streamLabel = 'streamHIDQMOnlineBeamspot'
0051 else:
0052 process.source.streamLabel = 'streamDQMOnlineBeamspot'
0053
0054 elif live:
0055
0056 process.load("DQM.Integration.config.inputsource_cfi")
0057 from DQM.Integration.config.inputsource_cfi import options
0058
0059 if process.runType.getRunType() == process.runType.hi_run:
0060 process.source.streamLabel = 'streamHIDQMOnlineBeamspot'
0061 else:
0062 process.source.streamLabel = 'streamDQMOnlineBeamspot'
0063
0064 else:
0065 process.load("DQM.Integration.config.fileinputsource_cfi")
0066 from DQM.Integration.config.fileinputsource_cfi import options
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076 process.hltTriggerTypeFilter = cms.EDFilter("HLTTriggerTypeFilter",
0077 SelectedTriggerType = cms.int32(1)
0078 )
0079
0080
0081
0082
0083 process.load("DQM.Integration.config.environment_cfi")
0084 process.dqmEnv.subSystemFolder = 'BeamMonitorHLT'
0085 process.dqmSaver.tag = 'BeamMonitorHLT'
0086 process.dqmSaver.runNumber = options.runNumber
0087
0088
0089
0090
0091 if process.isDqmPlayback.value :
0092 BSOnlineTag = BSOnlineTag + 'Playback'
0093 BSOnlineJobName = BSOnlineJobName + 'Playback'
0094 BSOnlineOmsServiceUrl = ''
0095 useLockRecords = False
0096
0097
0098
0099
0100 process.load("DQM.BeamMonitor.BeamMonitor_cff")
0101
0102
0103
0104
0105
0106 process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
0107 process.GlobalTag.DBParameters.authenticationPath = cms.untracked.string('.')
0108
0109
0110
0111
0112
0113 process.dqmBeamMonitor.useLockRecords = cms.untracked.bool(useLockRecords)
0114 if process.dqmRunConfig.type.value() == "production":
0115 process.dqmBeamMonitor.BeamFitter.WriteAscii = True
0116 process.dqmBeamMonitor.BeamFitter.AsciiFileName = '/nfshome0/yumiceva/BeamMonitorDQM/BeamFitResults.txt'
0117 process.dqmBeamMonitor.BeamFitter.WriteDIPAscii = True
0118 process.dqmBeamMonitor.BeamFitter.DIPFileName = '/nfshome0/dqmpro/BeamMonitorDQM/BeamFitResults.txt'
0119 else:
0120 process.dqmBeamMonitor.BeamFitter.WriteAscii = False
0121 process.dqmBeamMonitor.BeamFitter.AsciiFileName = '/nfshome0/yumiceva/BeamMonitorDQM/BeamFitResults.txt'
0122 process.dqmBeamMonitor.BeamFitter.WriteDIPAscii = True
0123 process.dqmBeamMonitor.BeamFitter.DIPFileName = '/nfshome0/dqmdev/BeamMonitorDQM/BeamFitResults.txt'
0124
0125 process.dqmcommon = cms.Sequence(process.dqmEnv
0126 * process.dqmSaver)
0127
0128 process.monitor = cms.Sequence(process.dqmBeamMonitor)
0129
0130
0131
0132 from DQM.Integration.config.online_customizations_cfi import *
0133 process = customise(process)
0134
0135
0136 from EventFilter.OnlineMetaDataRawToDigi.tcdsRawToDigi_cfi import *
0137 process.tcdsDigis = tcdsRawToDigi.clone()
0138
0139
0140 process.load("Configuration.StandardSequences.RawToDigi_Data_cff")
0141
0142
0143
0144 rawDataInputTag = "hltFEDSelectorTCDS"
0145 onlineMetaDataInputTag = "hltFEDSelectorOnlineMetaData"
0146
0147 process.onlineMetaDataDigis.onlineMetaDataInputLabel = onlineMetaDataInputTag
0148 process.scalersRawToDigi.scalersInputTag = rawDataInputTag
0149 process.tcdsDigis.InputLabel = rawDataInputTag
0150
0151
0152
0153 import RecoVertex.BeamSpotProducer.onlineBeamSpotESProducer_cfi as _mod
0154 process.BeamSpotESProducer = _mod.onlineBeamSpotESProducer.clone()
0155
0156 import RecoVertex.BeamSpotProducer.BeamSpotOnline_cfi
0157 process.offlineBeamSpot = RecoVertex.BeamSpotProducer.BeamSpotOnline_cfi.onlineBeamSpotProducer.clone()
0158
0159
0160
0161
0162 process.stripTrackerHVOn = cms.EDFilter( "DetectorStateFilter",
0163 DCSRecordLabel = cms.untracked.InputTag( "onlineMetaDataDigis" ),
0164 DcsStatusLabel = cms.untracked.InputTag( "scalersRawToDigi" ),
0165 DebugOn = cms.untracked.bool( False ),
0166 DetectorType = cms.untracked.string( "sistrip" )
0167 )
0168
0169 process.pixelTrackerHVOn = cms.EDFilter( "DetectorStateFilter",
0170 DCSRecordLabel = cms.untracked.InputTag( "onlineMetaDataDigis" ),
0171 DcsStatusLabel = cms.untracked.InputTag( "scalersRawToDigi" ),
0172 DebugOn = cms.untracked.bool( False ),
0173 DetectorType = cms.untracked.string( "pixel" )
0174 )
0175
0176
0177
0178
0179
0180 if (process.runType.getRunType() == process.runType.pp_run or
0181 process.runType.getRunType() == process.runType.pp_run_stage1 or
0182 process.runType.getRunType() == process.runType.hpu_run or
0183 process.runType.getRunType() == process.runType.hi_run or
0184 process.runType.getRunType() == process.runType.commissioning_run):
0185
0186 print("[beamhlt_dqm_sourceclient-live_cfg]:: Running pp")
0187
0188 process.load("RecoVertex.BeamSpotProducer.BeamSpot_cfi")
0189
0190 process.dqmBeamMonitor.monitorName = 'BeamMonitorHLT'
0191
0192 process.dqmBeamMonitor.OnlineMode = True
0193 process.dqmBeamMonitor.recordName = BSOnlineRecordName
0194
0195 process.dqmBeamMonitor.resetEveryNLumi = 5
0196 process.dqmBeamMonitor.resetPVEveryNLumi = 5
0197
0198 process.dqmBeamMonitor.PVFitter.minNrVerticesForFit = 20
0199 process.dqmBeamMonitor.PVFitter.minVertexNdf = 10
0200
0201
0202 if(process.runType.getRunType() == process.runType.hi_run):
0203 process.dqmBeamMonitor.BeamFitter.TrackCollection = 'hltPFMuonMergingPPOnAA'
0204 process.dqmBeamMonitor.primaryVertex = 'hltVerticesPFFilterPPOnAA'
0205 process.dqmBeamMonitor.PVFitter.VertexCollection = 'hltVerticesPFFilterPPOnAA'
0206 else:
0207 process.dqmBeamMonitor.BeamFitter.TrackCollection = 'hltPFMuonMerging'
0208 process.dqmBeamMonitor.primaryVertex = 'hltVerticesPFFilter'
0209 process.dqmBeamMonitor.PVFitter.VertexCollection = 'hltVerticesPFFilter'
0210
0211
0212 process.dqmBeamMonitor.PVFitter.errorScale = 0.95
0213
0214
0215
0216 process.dqmBeamMonitor.jetTrigger = cms.untracked.vstring("HLT_HT300_Beamspot",
0217 "HLT_BeamSpot",
0218 "HLT_PAZeroBias_v",
0219 "HLT_ZeroBias_",
0220 "HLT_QuadJet",
0221 "HLT_HI",
0222 "HLT_PixelClusters")
0223
0224 process.dqmBeamMonitor.hltResults = "TriggerResults::HLT"
0225
0226
0227
0228 if unitTest == False:
0229 process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",
0230 DBParameters = cms.PSet(
0231 messageLevel = cms.untracked.int32(0),
0232 authenticationPath = cms.untracked.string('.')
0233 ),
0234
0235
0236 connect = cms.string('oracle://cms_orcon_prod/CMS_CONDITIONS'),
0237 preLoadConnectionString = cms.untracked.string('frontier://FrontierProd/CMS_CONDITIONS'),
0238 runNumber = cms.untracked.uint64(options.runNumber),
0239 omsServiceUrl = cms.untracked.string(BSOnlineOmsServiceUrl),
0240 latency = cms.untracked.uint32(2),
0241 autoCommit = cms.untracked.bool(True),
0242 saveLogsOnDB = cms.untracked.bool(True),
0243 jobName = cms.untracked.string(BSOnlineJobName),
0244 toPut = cms.VPSet(cms.PSet(
0245 record = cms.string(BSOnlineRecordName),
0246 tag = cms.string(BSOnlineTag),
0247 timetype = cms.untracked.string('Lumi'),
0248 onlyAppendUpdatePolicy = cms.untracked.bool(True)
0249 )),
0250 frontierKey = cms.untracked.string(options.runUniqueKey)
0251 )
0252
0253 else:
0254 process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",
0255 DBParameters = cms.PSet(
0256 messageLevel = cms.untracked.int32(0),
0257 authenticationPath = cms.untracked.string('.')
0258 ),
0259
0260
0261 connect = cms.string('sqlite_file:BeamSpotOnlineHLT.db'),
0262 preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineHLT.db'),
0263 runNumber = cms.untracked.uint64(options.runNumber),
0264 lastLumiFile = cms.untracked.string('src/DQM/Integration/python/clients/last_lumi.txt'),
0265 latency = cms.untracked.uint32(2),
0266 autoCommit = cms.untracked.bool(True),
0267 toPut = cms.VPSet(cms.PSet(
0268 record = cms.string(BSOnlineRecordName),
0269 tag = cms.string(BSOnlineTag),
0270 timetype = cms.untracked.string('Lumi'),
0271 onlyAppendUpdatePolicy = cms.untracked.bool(True)
0272 )),
0273 frontierKey = cms.untracked.string(options.runUniqueKey)
0274 )
0275
0276 print("Configured frontierKey", options.runUniqueKey)
0277
0278 process.p = cms.Path( process.hltTriggerTypeFilter
0279 * process.tcdsDigis
0280 * process.scalersRawToDigi
0281 * process.onlineMetaDataDigis
0282 * process.pixelTrackerHVOn
0283 * process.stripTrackerHVOn
0284 * process.dqmcommon
0285 * process.offlineBeamSpot
0286 * process.monitor )
0287
0288 print("Global Tag used:", process.GlobalTag.globaltag.value())
0289 print("Final Source settings:", process.source)
0290