Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-04-08 00:12:47

0001 from __future__ import print_function
0002 import FWCore.ParameterSet.Config as cms
0003 
0004 # Define here the BeamSpotOnline record name,
0005 # it will be used both in FakeBeamMonitor setup and in payload creation/upload
0006 BSOnlineRecordName = 'BeamSpotOnlineHLTObjectsRcd'
0007 BSOnlineTag = 'BeamSpotOnlineFakeHLT'
0008 BSOnlineJobName = 'BeamSpotOnlineFakeHLT'
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("FakeBeamMonitorHLT", Run3_pp_on_PbPb_approxSiStripClusters)
0016 else:
0017   from Configuration.Eras.Era_Run3_cff import Run3
0018   process = cms.Process("FakeBeamMonitorHLT", Run3)
0019 
0020 # switch
0021 live = True # FIXME
0022 unitTest = False
0023 
0024 if 'unitTest=True' in sys.argv:
0025   live=False
0026   unitTest=True
0027   useLockRecords = False
0028 
0029 # Common part for PP and H.I Running
0030 #-----------------------------
0031 if unitTest:
0032   process.load("DQM.Integration.config.unittestinputsource_cfi")
0033   from DQM.Integration.config.unittestinputsource_cfi import options
0034 elif live:
0035   process.load("DQM.Integration.config.inputsource_cfi")
0036   from DQM.Integration.config.inputsource_cfi import options
0037 else:
0038   process.load("DQM.Integration.config.fileinputsource_cfi")
0039   from DQM.Integration.config.fileinputsource_cfi import options
0040 
0041 # new stream label
0042 #process.source.streamLabel = cms.untracked.string('streamDQMOnlineBeamspot')
0043 
0044 # for testing in lxplus
0045 #process.load("DQM.Integration.config.fileinputsource_cfi")
0046 #from DQM.Integration.config.fileinputsource_cfi import options
0047 
0048 #--------------------------
0049 # HLT Filter
0050 # 0=random, 1=physics, 2=calibration, 3=technical
0051 #--------------------------
0052 process.hltTriggerTypeFilter = cms.EDFilter("HLTTriggerTypeFilter",
0053     SelectedTriggerType = cms.int32(1)
0054 )
0055 
0056 #-----------------------------
0057 # DQM Live Environment
0058 #-----------------------------
0059 process.load("DQM.Integration.config.environment_cfi")
0060 process.dqmEnv.subSystemFolder = 'FakeBeamMonitorHLT'
0061 process.dqmSaver.tag           = 'FakeBeamMonitorHLT'
0062 process.dqmSaver.runNumber     = options.runNumber
0063 process.dqmSaverPB.tag         = 'FakeBeamMonitorHLT'
0064 process.dqmSaverPB.runNumber   = options.runNumber
0065 
0066 # Configure tag and jobName if running Playback system
0067 if process.isDqmPlayback.value :
0068   BSOnlineTag = BSOnlineTag + 'Playback'
0069   BSOnlineJobName = BSOnlineJobName + 'Playback'
0070   BSOnlineOmsServiceUrl = ''
0071   useLockRecords = False
0072 
0073 #---------------
0074 """
0075 # Conditions
0076 if (live):
0077   process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
0078 else:
0079   process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0080   from Configuration.AlCa.GlobalTag import GlobalTag as gtCustomise
0081   process.GlobalTag = gtCustomise(process.GlobalTag, 'auto:run3_data', '')
0082   # you may need to set manually the GT in the line below
0083   #process.GlobalTag.globaltag = '100X_upgrade2018_realistic_v10'
0084 """
0085 #-----------------------------
0086 # BeamMonitor
0087 #-----------------------------
0088 process.load("DQM.BeamMonitor.FakeBeamMonitor_cff")
0089 process.dqmBeamMonitor = process.dqmFakeBeamMonitor.clone(
0090   monitorName = 'FakeBeamMonitor',
0091   OnlineMode = True,
0092   recordName = BSOnlineRecordName,
0093   useLockRecords = useLockRecords,
0094   resetEveryNLumi   = 5,
0095   resetPVEveryNLumi = 5
0096 )  
0097 
0098 #---------------
0099 # Calibration
0100 #---------------
0101 # Condition for P5 cluster
0102 #process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
0103 process.dqmcommon = cms.Sequence(process.dqmEnv
0104                                * process.dqmSaver * process.dqmSaverPB)
0105 
0106 process.monitor = cms.Sequence(process.dqmBeamMonitor)
0107 
0108 #-----------------------------------------------------------
0109 # process customizations included here
0110 from DQM.Integration.config.online_customizations_cfi import *
0111 process = customise(process)
0112 
0113 # Set rawDataRepacker (HI and live) or rawDataCollector (for all the rest)
0114 if (process.runType.getRunType() == process.runType.hi_run and live):
0115   rawDataInputTag = "rawDataRepacker"
0116 else:
0117   rawDataInputTag = "rawDataCollector"
0118 
0119 #---------
0120 # Upload BeamSpotOnlineObject (HLTRcd) to CondDB
0121 if unitTest == False:
0122   process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",
0123 
0124       DBParameters = cms.PSet(
0125                               messageLevel = cms.untracked.int32(0),
0126                               authenticationPath = cms.untracked.string('.')
0127                               ),
0128 
0129       # Upload to CondDB
0130       connect = cms.string('oracle://cms_orcon_prod/CMS_CONDITIONS'),
0131       preLoadConnectionString = cms.untracked.string('frontier://FrontierProd/CMS_CONDITIONS'),
0132       runNumber = cms.untracked.uint64(options.runNumber),
0133       omsServiceUrl = cms.untracked.string(BSOnlineOmsServiceUrl),
0134       latency = cms.untracked.uint32(2),
0135       autoCommit = cms.untracked.bool(True),
0136       saveLogsOnDB = cms.untracked.bool(True),
0137       jobName = cms.untracked.string(BSOnlineJobName), # name of the DB log record
0138       toPut = cms.VPSet(cms.PSet(
0139           record = cms.string(BSOnlineRecordName),
0140           tag = cms.string(BSOnlineTag),
0141           timetype = cms.untracked.string('Lumi'),
0142           onlyAppendUpdatePolicy = cms.untracked.bool(True)
0143       )),
0144       frontierKey = cms.untracked.string(options.runUniqueKey)
0145   )
0146 
0147 else:
0148   process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",
0149     DBParameters = cms.PSet(
0150                             messageLevel = cms.untracked.int32(0),
0151                             authenticationPath = cms.untracked.string('.')
0152                             ),
0153 
0154     # Upload to CondDB
0155     connect = cms.string('sqlite_file:BeamSpotOnlineFakeHLT.db'),
0156     preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineFakeHLT.db'),
0157 
0158     runNumber = cms.untracked.uint64(options.runNumber),
0159     lastLumiFile = cms.untracked.string('last_lumi.txt'),
0160     latency = cms.untracked.uint32(2),
0161     autoCommit = cms.untracked.bool(True),
0162     toPut = cms.VPSet(cms.PSet(
0163         record = cms.string(BSOnlineRecordName),
0164         tag = cms.string(BSOnlineTag),
0165         timetype = cms.untracked.string('Lumi'),
0166         onlyAppendUpdatePolicy = cms.untracked.bool(True)
0167     )),
0168     frontierKey = cms.untracked.string(options.runUniqueKey)
0169 )
0170 print("Configured frontierKey", options.runUniqueKey)
0171 
0172 #---------
0173 # Final path
0174 print("Final Source settings:", process.source)
0175 
0176 process.p = cms.Path(process.dqmcommon
0177                     * process.monitor )
0178