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