Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-26 02:34:07

0001 import FWCore.ParameterSet.Config as cms
0002 import time 
0003 
0004 # Define here the BeamSpotOnline record name,
0005 # it will be used both in FakeBeamMonitor setup and in payload creation/upload
0006 BSOnlineRecordName = 'BeamSpotOnlineLegacyObjectsRcd'
0007 BSOnlineTag = 'BeamSpotOnlineFakeLegacy'
0008 BSOnlineJobName = 'BeamSpotOnlineFakeLegacy'
0009 BSOnlineOmsServiceUrl = 'http://cmsoms-eventing.cms:9949/urn:xdaq-application:lid=100/getRunAndLumiSection'
0010 useLockRecords = True
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("FakeBeamMonitorLegacy", Run3_pp_on_PbPb_approxSiStripClusters)
0015 else:
0016     from Configuration.Eras.Era_Run3_cff import Run3
0017     process = cms.Process("FakeBeamMonitorLegacy", Run3)
0018 
0019 process.MessageLogger = cms.Service("MessageLogger",
0020     debugModules = cms.untracked.vstring('*'),
0021     cerr = cms.untracked.PSet(
0022         threshold = cms.untracked.string('WARNING')
0023     ),
0024     destinations = cms.untracked.vstring('cerr')
0025 )
0026 
0027 # switch
0028 live = True # FIXME
0029 unitTest = False
0030 
0031 if 'unitTest=True' in sys.argv:
0032     live=False
0033     unitTest=True
0034     useLockRecords = False
0035 else:
0036     time.sleep(48.)
0037 
0038 
0039 #---------------
0040 # Input sources
0041 if unitTest:
0042     process.load("DQM.Integration.config.unittestinputsource_cfi")
0043     from DQM.Integration.config.unittestinputsource_cfi import options
0044 elif live:
0045     process.load("DQM.Integration.config.inputsource_cfi")
0046     from DQM.Integration.config.inputsource_cfi import options
0047 else:
0048     process.load("DQM.Integration.config.fileinputsource_cfi")
0049     from DQM.Integration.config.fileinputsource_cfi import options
0050 
0051 #--------------------------
0052 # HLT Filter
0053 process.hltTriggerTypeFilter = cms.EDFilter("HLTTriggerTypeFilter",
0054     SelectedTriggerType = cms.int32(1) # physics
0055 )
0056 
0057 #----------------------------
0058 # DQM Live Environment
0059 process.load("DQM.Integration.config.environment_cfi")
0060 process.dqmEnv.subSystemFolder = 'FakeBeamMonitorLegacy'
0061 process.dqmSaver.tag           = 'FakeBeamMonitorLegacy'
0062 process.dqmSaver.runNumber     = options.runNumber
0063 # process.dqmSaverPB.tag         = 'FakeBeamMonitorLegacy'
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 process.load("DQM.BeamMonitor.FakeBeamMonitor_cff")
0088 
0089 
0090 
0091 #----------------
0092 # Setup tracking
0093 #process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
0094 #process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff')
0095 #process.load("Configuration.StandardSequences.RawToDigi_Data_cff")
0096 #process.load("RecoLocalTracker.Configuration.RecoLocalTracker_cff")
0097 #process.load("TrackingTools.TransientTrack.TransientTrackBuilder_cfi")
0098 
0099 #-----------------
0100 
0101 process.dqmcommon = cms.Sequence(process.dqmEnv
0102                                * process.dqmSaver )#* process.dqmSaverPB)
0103 
0104 #
0105 process.monitor = cms.Sequence(process.dqmFakeBeamMonitor
0106                              )
0107 
0108 #------------------------
0109 # Process customizations
0110 from DQM.Integration.config.online_customizations_cfi import *
0111 process = customise(process)
0112 
0113 #------------------------
0114 # Set rawDataRepacker (HI and live) or rawDataCollector (for all the rest)
0115 if (process.runType.getRunType() == process.runType.hi_run and live):
0116     rawDataInputTag = "rawDataRepacker"
0117 else:
0118     rawDataInputTag = "rawDataCollector"
0119 
0120 """ process.castorDigis.InputLabel           = rawDataInputTag
0121 process.csctfDigis.producer              = rawDataInputTag 
0122 process.dttfDigis.DTTF_FED_Source        = rawDataInputTag
0123 process.ecalDigisCPU.InputLabel          = rawDataInputTag
0124 process.ecalPreshowerDigis.sourceTag     = rawDataInputTag
0125 process.gctDigis.inputLabel              = rawDataInputTag
0126 process.gtDigis.DaqGtInputTag            = rawDataInputTag
0127 process.hcalDigis.InputLabel             = rawDataInputTag
0128 process.muonCSCDigis.InputObjects        = rawDataInputTag
0129 process.muonDTDigis.inputLabel           = rawDataInputTag
0130 process.muonRPCDigis.InputLabel          = rawDataInputTag
0131 process.scalersRawToDigi.scalersInputTag = rawDataInputTag
0132 process.siPixelDigis.InputLabel          = rawDataInputTag
0133 process.siStripDigis.ProductLabel        = rawDataInputTag
0134  """
0135 process.dqmFakeBeamMonitor.OnlineMode = True
0136 process.dqmFakeBeamMonitor.recordName = BSOnlineRecordName
0137 
0138 process.dqmFakeBeamMonitor.resetEveryNLumi   = 5 # was 10 for HI
0139 process.dqmFakeBeamMonitor.resetPVEveryNLumi = 5 # was 10 for HI
0140 process.dqmFakeBeamMonitor.useLockRecords = cms.untracked.bool(useLockRecords)
0141 
0142 
0143 #---------
0144 # Upload BeamSpotOnlineObject (LegacyRcd) to CondDB
0145 if unitTest == False:
0146     process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",
0147 
0148         DBParameters = cms.PSet(
0149                                 messageLevel = cms.untracked.int32(0),
0150                                 authenticationPath = cms.untracked.string('.')
0151                             ),
0152 
0153         # Upload to CondDB
0154         connect = cms.string('oracle://cms_orcon_prod/CMS_CONDITIONS'),
0155         preLoadConnectionString = cms.untracked.string('frontier://FrontierProd/CMS_CONDITIONS'),
0156 
0157         runNumber = cms.untracked.uint64(options.runNumber),
0158         omsServiceUrl = cms.untracked.string(BSOnlineOmsServiceUrl),
0159         latency = cms.untracked.uint32(2),
0160         autoCommit = cms.untracked.bool(True),
0161         saveLogsOnDB = cms.untracked.bool(True),
0162         jobName = cms.untracked.string(BSOnlineJobName), # name of the DB log record
0163         toPut = cms.VPSet(cms.PSet(
0164             record = cms.string(BSOnlineRecordName),
0165             tag = cms.string(BSOnlineTag),
0166             timetype = cms.untracked.string('Lumi'),
0167             onlyAppendUpdatePolicy = cms.untracked.bool(True)
0168         )),
0169         frontierKey = cms.untracked.string(options.runUniqueKey)
0170     )
0171 
0172 else:
0173     process.OnlineDBOutputService = cms.Service("OnlineDBOutputService",
0174 
0175         DBParameters = cms.PSet(
0176                                 messageLevel = cms.untracked.int32(0),
0177                                 authenticationPath = cms.untracked.string('.')
0178                             ),
0179 
0180         # Upload to CondDB
0181         connect = cms.string('sqlite_file:BeamSpotOnlineFakeLegacy.db'),
0182         preLoadConnectionString = cms.untracked.string('sqlite_file:BeamSpotOnlineFakeLegacy.db'),
0183         runNumber = cms.untracked.uint64(options.runNumber),
0184         lastLumiFile = cms.untracked.string('last_lumi.txt'),
0185         latency = cms.untracked.uint32(2),
0186         autoCommit = cms.untracked.bool(True),
0187         toPut = cms.VPSet(cms.PSet(
0188             record = cms.string(BSOnlineRecordName),
0189             tag = cms.string(BSOnlineTag),
0190             timetype = cms.untracked.string('Lumi'),
0191             onlyAppendUpdatePolicy = cms.untracked.bool(True)
0192         )),
0193         frontierKey = cms.untracked.string(options.runUniqueKey)
0194     )
0195 
0196 print("Configured frontierKey", options.runUniqueKey)
0197 
0198 #---------
0199 # Final path
0200 print("Final Source settings:", process.source)
0201 
0202 process.p = cms.Path(process.dqmcommon
0203                      * process.monitor
0204                     )
0205 
0206 
0207