Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:41

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 #--------------------------
0042 # HLT Filter
0043 # 0=random, 1=physics, 2=calibration, 3=technical
0044 #--------------------------
0045 process.hltTriggerTypeFilter = cms.EDFilter("HLTTriggerTypeFilter",
0046     SelectedTriggerType = cms.int32(1)
0047 )
0048 
0049 #-----------------------------
0050 # DQM Live Environment
0051 #-----------------------------
0052 process.load("DQM.Integration.config.environment_cfi")
0053 process.dqmEnv.subSystemFolder = 'FakeBeamMonitorHLT'
0054 process.dqmSaver.tag           = 'FakeBeamMonitorHLT'
0055 process.dqmSaver.runNumber     = options.runNumber
0056 process.dqmSaverPB.tag         = 'FakeBeamMonitorHLT'
0057 process.dqmSaverPB.runNumber   = options.runNumber
0058 
0059 # Configure tag and jobName if running Playback system
0060 if process.isDqmPlayback.value :
0061   BSOnlineTag = BSOnlineTag + 'Playback'
0062   BSOnlineJobName = BSOnlineJobName + 'Playback'
0063   BSOnlineOmsServiceUrl = ''
0064   useLockRecords = False
0065 
0066 #---------------
0067 """
0068 # Conditions
0069 if (live):
0070   process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
0071 else:
0072   process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0073   from Configuration.AlCa.GlobalTag import GlobalTag as gtCustomise
0074   process.GlobalTag = gtCustomise(process.GlobalTag, 'auto:run3_data', '')
0075   # you may need to set manually the GT in the line below
0076   #process.GlobalTag.globaltag = '100X_upgrade2018_realistic_v10'
0077 """
0078 #-----------------------------
0079 # BeamMonitor
0080 #-----------------------------
0081 process.load("DQM.BeamMonitor.FakeBeamMonitor_cff")
0082 process.dqmBeamMonitor = process.dqmFakeBeamMonitor.clone(
0083   monitorName = 'FakeBeamMonitor',
0084   OnlineMode = True,
0085   recordName = BSOnlineRecordName,
0086   useLockRecords = useLockRecords,
0087   resetEveryNLumi   = 5,
0088   resetPVEveryNLumi = 5
0089 )  
0090 
0091 #---------------
0092 # Calibration
0093 #---------------
0094 # Condition for P5 cluster
0095 #process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
0096 process.dqmcommon = cms.Sequence(process.dqmEnv
0097                                * process.dqmSaver * process.dqmSaverPB)
0098 
0099 process.monitor = cms.Sequence(process.dqmBeamMonitor)
0100 
0101 #-----------------------------------------------------------
0102 # process customizations included here
0103 from DQM.Integration.config.online_customizations_cfi import *
0104 process = customise(process)
0105 
0106 # Set rawDataRepacker (HI and live) or rawDataCollector (for all the rest)
0107 if (process.runType.getRunType() == process.runType.hi_run and live):
0108   rawDataInputTag = "rawDataRepacker"
0109 else:
0110   rawDataInputTag = "rawDataCollector"
0111 
0112 #---------
0113 # Upload BeamSpotOnlineObject (HLTRcd) to CondDB
0114 if unitTest == False:
0115   process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",
0116 
0117       DBParameters = cms.PSet(
0118                               messageLevel = cms.untracked.int32(0),
0119                               authenticationPath = cms.untracked.string('.')
0120                               ),
0121 
0122       # Upload to CondDB
0123       connect = cms.string('oracle://cms_orcon_prod/CMS_CONDITIONS'),
0124       preLoadConnectionString = cms.untracked.string('frontier://FrontierProd/CMS_CONDITIONS'),
0125       runNumber = cms.untracked.uint64(options.runNumber),
0126       omsServiceUrl = cms.untracked.string(BSOnlineOmsServiceUrl),
0127       latency = cms.untracked.uint32(2),
0128       autoCommit = cms.untracked.bool(True),
0129       saveLogsOnDB = cms.untracked.bool(True),
0130       jobName = cms.untracked.string(BSOnlineJobName), # name of the DB log record
0131       toPut = cms.VPSet(cms.PSet(
0132           record = cms.string(BSOnlineRecordName),
0133           tag = cms.string(BSOnlineTag),
0134           timetype = cms.untracked.string('Lumi'),
0135           onlyAppendUpdatePolicy = cms.untracked.bool(True)
0136       )),
0137       frontierKey = cms.untracked.string(options.runUniqueKey)
0138   )
0139 
0140 else:
0141   process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",
0142     DBParameters = cms.PSet(
0143                             messageLevel = cms.untracked.int32(0),
0144                             authenticationPath = cms.untracked.string('.')
0145                             ),
0146 
0147     # Upload to CondDB
0148     connect = cms.string('sqlite_file:BeamSpotOnlineFakeHLT.db'),
0149     preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineFakeHLT.db'),
0150 
0151     runNumber = cms.untracked.uint64(options.runNumber),
0152     lastLumiFile = cms.untracked.string('last_lumi.txt'),
0153     latency = cms.untracked.uint32(2),
0154     autoCommit = cms.untracked.bool(True),
0155     toPut = cms.VPSet(cms.PSet(
0156         record = cms.string(BSOnlineRecordName),
0157         tag = cms.string(BSOnlineTag),
0158         timetype = cms.untracked.string('Lumi'),
0159         onlyAppendUpdatePolicy = cms.untracked.bool(True)
0160     )),
0161     frontierKey = cms.untracked.string(options.runUniqueKey)
0162 )
0163 print("Configured frontierKey", options.runUniqueKey)
0164 
0165 #---------
0166 # Final path
0167 print("Final Source settings:", process.source)
0168 
0169 process.p = cms.Path( process.dqmcommon * process.monitor )