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
96
97
98
99
100
101
102
103
104
105
106
107
108
|
import FWCore.ParameterSet.Config as cms
import sys
from Configuration.Eras.Era_Run3_cff import Run3
process = cms.Process("process", Run3)
unitTest = 'unitTest=True' in sys.argv
### Load cfis ###
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
process.load("DQM.Integration.config.environment_cfi")
process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
process.load("FWCore.Modules.preScaler_cfi")
process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
process.load("DQM.EcalMonitorTasks.EcalMonitorTask_cfi")
process.load("DQM.EcalMonitorTasks.ecalGpuTask_cfi")
### Individual module setups ###
process.MessageLogger = cms.Service("MessageLogger",
cerr = cms.untracked.PSet(
default = cms.untracked.PSet(
limit = cms.untracked.int32(-1)
),
noTimeStamps = cms.untracked.bool(True),
threshold = cms.untracked.string('WARNING'),
noLineBreaks = cms.untracked.bool(True)
),
cout = cms.untracked.PSet(
default = cms.untracked.PSet(
limit = cms.untracked.int32(0)
),
EcalDQM = cms.untracked.PSet(
limit = cms.untracked.int32(-1)
),
threshold = cms.untracked.string('INFO')
),
categories = cms.untracked.vstring('EcalDQM'),
destinations = cms.untracked.vstring('cerr',
'cout')
)
process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(-1)
)
process.preScaler.prescaleFactor = 1
if not options.inputFiles:
# stream label
if process.runType.getRunType() == process.runType.hi_run:
process.source.streamLabel = "streamHIDQMGPUvsCPU"
else:
process.source.streamLabel = "streamDQMGPUvsCPU"
process.dqmEnv.subSystemFolder = 'Ecal'
process.dqmSaver.tag = 'EcalGPU'
process.dqmSaver.runNumber = options.runNumber
# process.dqmSaverPB.tag = 'EcalGPU'
# process.dqmSaverPB.runNumber = options.runNumber
process.ecalGpuTask.params.runGpuTask = True
process.ecalGpuTask.params.enableRecHit = False
process.ecalMonitorTask.workers = ['GpuTask']
process.ecalMonitorTask.workerParameters = cms.untracked.PSet(GpuTask = process.ecalGpuTask)
process.ecalMonitorTask.verbosity = 0
process.ecalMonitorTask.commonParameters.willConvertToEDM = False
process.ecalMonitorTask.commonParameters.onlineMode = True
# ecalMonitorTask always looks for EcalRawData collection when running, even when not in use
# Default value is cms.untracked.InputTag("ecalDigis")
# Tag is changed below to avoid multiple warnings per event
process.ecalMonitorTask.collectionTags.EcalRawData = cms.untracked.InputTag("hltEcalDigisSerialSync")
# Streams used for online GPU validation
process.ecalMonitorTask.collectionTags.EBCpuDigi = cms.untracked.InputTag("hltEcalDigisSerialSync", "ebDigis")
process.ecalMonitorTask.collectionTags.EECpuDigi = cms.untracked.InputTag("hltEcalDigisSerialSync", "eeDigis")
process.ecalMonitorTask.collectionTags.EBGpuDigi = cms.untracked.InputTag("hltEcalDigis", "ebDigis")
process.ecalMonitorTask.collectionTags.EEGpuDigi = cms.untracked.InputTag("hltEcalDigis", "eeDigis")
process.ecalMonitorTask.collectionTags.EBCpuUncalibRecHit = cms.untracked.InputTag("hltEcalUncalibRecHitSerialSync", "EcalUncalibRecHitsEB")
process.ecalMonitorTask.collectionTags.EECpuUncalibRecHit = cms.untracked.InputTag("hltEcalUncalibRecHitSerialSync", "EcalUncalibRecHitsEE")
process.ecalMonitorTask.collectionTags.EBGpuUncalibRecHit = cms.untracked.InputTag("hltEcalUncalibRecHit", "EcalUncalibRecHitsEB")
process.ecalMonitorTask.collectionTags.EEGpuUncalibRecHit = cms.untracked.InputTag("hltEcalUncalibRecHit", "EcalUncalibRecHitsEE")
### Paths ###
process.ecalMonitorPath = cms.Path(process.preScaler+process.ecalMonitorTask)
process.dqmEndPath = cms.EndPath(process.dqmEnv)
process.dqmOutputPath = cms.EndPath(process.dqmSaver )#+ process.dqmSaverPB)
### Schedule ###
process.schedule = cms.Schedule(process.ecalMonitorPath,process.dqmEndPath,process.dqmOutputPath)
### process customizations included here
from DQM.Integration.config.online_customizations_cfi import *
process = customise(process)
print("Global Tag used:", process.GlobalTag.globaltag.value())
print("Final Source settings:", process.source)
|