1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
import FWCore.ParameterSet.Config as cms
# Define once the BeamSpotOnline record name,
# will be used both in BeamMonitor setup and in payload creation/upload
import sys
from Configuration.Eras.Era_Run3_2025_cff import Run3_2025
process = cms.Process("OnlineBeamMonitor", Run3_2025)
# Message logger
#process.load("FWCore.MessageLogger.MessageLogger_cfi")
#process.MessageLogger = cms.Service("MessageLogger",
# debugModules = cms.untracked.vstring('*'),
# cerr = cms.untracked.PSet(
# FwkReport = cms.untracked.PSet(
# optionalPSet = cms.untracked.bool(True),
# reportEvery = cms.untracked.int32(1000),
# limit = cms.untracked.int32(999999)
# )
# ),
# destinations = cms.untracked.vstring('cerr'),
#)
unitTest = 'unitTest=True' in sys.argv
#-----------------------------
if unitTest:
process.load("DQM.Integration.config.unitteststreamerinputsource_cfi")
from DQM.Integration.config.unitteststreamerinputsource_cfi import options
else:
process.load("DQM.Integration.config.inputsource_cfi")
from DQM.Integration.config.inputsource_cfi import options
#ESProducer
process.load("CondCore.CondDB.CondDB_cfi")
process.BeamSpotESProducer = cms.ESProducer("OnlineBeamSpotESProducer")
#-----------------------------
# DQM Live Environment
#-----------------------------
process.load("DQM.Integration.config.environment_cfi")
process.dqmEnv.subSystemFolder = 'OnlineBeamMonitor'
process.dqmSaver.tag = 'OnlineBeamMonitor'
process.dqmSaver.runNumber = options.runNumber
# process.dqmSaverPB.tag = 'OnlineBeamMonitor'
# process.dqmSaverPB.runNumber = options.runNumber
#-----------------------------
# BeamMonitor
#-----------------------------
process.dqmOnlineBeamMonitor = cms.EDProducer("OnlineBeamMonitor",
MonitorName = cms.untracked.string("OnlineBeamMonitor"),
AppendRunToFileName = cms.untracked.bool(False),
WriteDIPAscii = cms.untracked.bool(True),
OnlineBeamSpotLabel = cms.untracked.InputTag("hltOnlineBeamSpot"),
DIPFileName = cms.untracked.string("/nfshome0/dqmpro/BeamMonitorDQM/BeamFitResultsForDIP.txt")
)
#---------------
# Calibration
#---------------
# Condition for P5 cluster
process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
# Condition for lxplus: change and possibly customise the GT
#from Configuration.AlCa.GlobalTag import GlobalTag as gtCustomise
#process.GlobalTag = gtCustomise(process.GlobalTag, 'auto:run3_data', '')
# Please *do not* delete this toGet statement as it is needed to fetch BeamSpotOnline
# information every lumisection (instead of every run as for the other records in the GT)
process.GlobalTag.toGet = cms.VPSet(
cms.PSet(
record = cms.string("BeamSpotOnlineLegacyObjectsRcd"),
refreshTime = cms.uint64(2)
),
cms.PSet(
record = cms.string("BeamSpotOnlineHLTObjectsRcd"),
refreshTime = cms.uint64(2)
)
)
process.dqmcommon = cms.Sequence(process.dqmEnv
* process.dqmSaver )#* process.dqmSaverPB)
process.monitor = cms.Sequence(process.dqmOnlineBeamMonitor)
#-----------------------------------------------------------
# process customizations included here
from DQM.Integration.config.online_customizations_cfi import *
process = customise(process)
process.p = cms.Path( process.dqmcommon * process.monitor )
print("Global Tag used:", process.GlobalTag.globaltag.value())
print("Final Source settings:", process.source)
|