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