7 @brief Global Monitoring job option to run online DQ with new-style configuration.
8 Include parts from StateLessPT_NewConfig.py and RecoSteering.py
11 if __name__==
'__main__':
13 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
14 from AthenaConfiguration.ComponentFactory
import CompFactory
15 from AthenaConfiguration.Enums
import Format
22 partitionName = os.environ.get(
"TDAQ_PARTITION",
"ATLAS")
24 from ispy
import IPCPartition, ISObject
29 p = IPCPartition(partitionName)
31 print(
"Partition:",p.name(),
"is not valid")
35 from AthenaConfiguration.Enums
import BeamType
37 if partitionName ==
"ATLAS" or partitionName ==
'ATLAS_MP1':
39 y = ISObject(p,
'RunParams.RunParams',
'RunParams')
41 print(
"Could not find Run Parameters in IS - Set default beam type to 'cosmics'")
42 beamType=BeamType.Cosmics
45 beamtype = y.beam_type
46 beamenergy = y.beam_energy
47 runnumber = y.run_number
48 project = y.T0_project_tag
49 print(
"RUN CONFIGURATION: beam type %i, beam energy %i, run number %i, project tag %s"%(beamtype,beamenergy,runnumber,project))
51 if project[7:10]==
"cos":
52 beamType=BeamType.Cosmics
54 beamType=BeamType.Collisions
58 beamType=BeamType.Collisions
64 conditionsTag =
'CONDBR2-HLTP-2022-02'
65 detDescrVersion =
'ATLAS-R3S-2021-03-00-00'
70 from AthenaConfiguration.AutoConfigOnlineRecoFlags
import autoConfigOnlineRecoFlags
73 flags.Concurrency.NumThreads = 1
75 flags.Exec.MaxEvents = -1
77 flags.Beam.Type = beamType
78 flags.Beam.BunchSpacing = 25
79 print(
"RUN CONFIGURATION: Beamtype =",flags.Beam.Type)
81 if partitionName !=
'ATLAS' and partitionName !=
'ATLAS_MP1':
82 flags.Input.ProjectName =
'data21_900GeV'
83 flags.Exec.MaxEvents = 20
84 flags.Input.RunNumbers = [431894]
85 flags.Input.LumiBlockNumbers = [1]
87 flags.Common.isOnline =
True
89 flags.Input.Format = Format.BS
90 flags.Input.isMC =
False
92 flags.IOVDb.DatabaseInstance =
"CONDBR2"
93 flags.IOVDb.GlobalTag = conditionsTag
95 flags.GeoModel.Layout=
"atlas"
96 flags.GeoModel.AtlasVersion = detDescrVersion
98 flags.Trigger.triggerConfig=
'DB'
100 flags.InDet.useSctDCS =
False
102 flags.DQ.enableLumiAccess =
False
103 flags.DQ.doMonitoring =
True
104 flags.DQ.doPostProcessing =
True
105 flags.DQ.useTrigger =
True
106 flags.DQ.triggerDataAvailable =
True
107 flags.DQ.FileKey =
''
108 flags.DQ.Environment =
'online'
110 flags.LAr.doHVCorr =
False
112 if (partitionName !=
'ATLAS' and partitionName !=
'ATLAS_MP1'):
113 flags.DQ.useTrigger =
False
114 flags.DQ.triggerDataAvailable =
False
119 flags.Detector.EnableCalo =
True
120 flags.Reco.EnableTracking =
True
121 flags.Detector.EnableMuon =
True
122 flags.Reco.EnableCombinedMuon =
True
123 flags.Reco.EnableJet =
True
124 flags.Reco.EnablePFlow =
True
125 flags.Reco.EnableEgamma =
True
126 flags.Reco.EnableTrigger =
True
128 if (partitionName !=
'ATLAS' and partitionName !=
'ATLAS_MP1'):
129 flags.Reco.EnableTrigger =
False
131 flags.Reco.EnableMet =
True
132 flags.Reco.EnableIsolation =
True
133 flags.Detector.EnableLucid =
True
134 flags.Reco.EnableHI =
False
135 flags.Reco.EnableBTagging =
True
141 flags.DQ.Steering.doCaloGlobalMon =
True
143 flags.DQ.Steering.doInDetMon =
True
144 flags.DQ.Steering.InDet.doGlobalMon =
True
145 flags.DQ.Steering.InDet.doAlignMon =
True
147 flags.DQ.Steering.doLArMon =
True
149 flags.DQ.Steering.doTileMon =
True
151 flags.DQ.Steering.doJetMon =
True
153 flags.DQ.Steering.doPixelMon =
True
155 flags.DQ.Steering.doSCTMon =
False
157 flags.DQ.Steering.doTRTMon =
True
159 flags.DQ.Steering.doMuonMon =
True
161 flags.DQ.Steering.doMissingEtMon =
True
162 flags.DQ.Steering.doEgammaMon =
True
163 flags.DQ.Steering.doJetTagMon =
True
164 flags.DQ.Steering.doTauMon =
True
165 flags.DQ.Steering.doGlobalMon =
False
167 flags.DQ.Steering.doJetInputsMon =
True
169 flags.DQ.Steering.doHLTMon =
True
171 flags.DQ.Steering.doAFPMon =
True
173 flags.DQ.Steering.doLVL1CaloMon =
False
174 flags.DQ.Steering.doLVL1InterfacesMon =
False
176 flags.DQ.Steering.doDataFlowMon =
False
178 flags.DQ.Steering.doCTPMon =
False
180 if (partitionName !=
'ATLAS' and partitionName !=
'ATLAS_MP1'):
181 flags.DQ.Steering.doHLTMon =
False
190 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
193 bytestreamConversion = CompFactory.ByteStreamCnvSvc()
194 acc.addService(bytestreamConversion, primary=
True)
196 from ByteStreamEmonSvc.EmonByteStreamConfig
import EmonByteStreamCfg
199 bytestreamInput = acc.getService(
"ByteStreamInputSvc")
204 bytestreamInput.Partition = partitionName
206 bytestreamInput.Key =
"dcm"
207 bytestreamInput.KeyCount = 40
213 bytestreamInput.Timeout = 600000
215 bytestreamInput.UpdatePeriod = 200
217 bytestreamInput.ISServer =
'Histogramming'
219 bytestreamInput.StreamNames = [
'express']
220 bytestreamInput.StreamType =
"physics"
221 bytestreamInput.StreamLogic =
"Or"
224 if partitionName ==
'ATLAS' or partitionName ==
'ATLAS_MP1':
225 from PyUtils.OnlineISConfig
import GetAtlasReady
226 if beamType == BeamType.Cosmics:
227 bytestreamInput.StreamNames = [
'express',
'IDCosmic',
'HLT_IDCosmic',
'CosmicMuons',
'CosmicCalo']
230 print (
"ATLAS READY, reading express stream")
231 bytestreamInput.StreamNames = [
'express']
233 print (
"ATLAS NOT READY, reading standby stream")
234 bytestreamInput.StreamNames = [
'express',
'IDCosmic',
'HLT_IDCosmic',
'CosmicMuons',
'MinBias',
'Standby',
'Main',
'CosmicCalo']
236 bytestreamInput.StreamLogic =
'Ignore'
237 bytestreamInput.PublishName =
'GMT9_23_0_28_CA_test_1'
245 from xAODEventInfoCnv.xAODEventInfoCnvConfig
import EventInfoBeamSpotDecoratorAlgCfg
253 if flags.Detector.EnableCalo:
254 from CaloRec.CaloRecoConfig
import CaloRecoCfg
258 if flags.Reco.EnableTracking:
259 from InDetConfig.TrackRecoConfig
import InDetTrackRecoCfg
263 if flags.Detector.EnableMuon:
264 from MuonConfig.MuonReconstructionConfig
import MuonReconstructionCfg
268 if flags.Reco.EnableCombinedMuon:
269 from MuonCombinedConfig.MuonCombinedReconstructionConfig
import (
270 MuonCombinedReconstructionCfg)
274 if flags.Reco.EnableJet:
275 from JetRecConfig.JetRecoSteering
import JetRecoSteeringCfg
279 if flags.Reco.EnablePFlow:
280 from eflowRec.PFRun3Config
import PFCfg
281 acc.merge(
PFCfg(flags))
284 if flags.Reco.EnableEgamma:
285 from egammaConfig.egammaSteeringConfig
import EGammaSteeringCfg
289 if flags.Reco.EnableTau:
290 from tauRec.TauConfig
import TauReconstructionCfg
294 if flags.Reco.EnableTrigger:
295 from TriggerJobOpts.TriggerRecoConfig
import TriggerRecoCfg
299 if flags.Reco.EnableMet:
300 from METReconstruction.METRecCfg
import METCfg
304 if flags.Reco.EnableIsolation:
305 from IsolationAlgs.IsolationSteeringConfig
import IsolationSteeringCfg
309 if flags.Detector.EnableLucid:
310 from ForwardRec.LucidRecConfig
import LucidRecCfg
314 if flags.Reco.EnableHI:
315 from HIRecConfig.HIRecConfig
import HIRecCfg
319 if flags.Reco.EnableBTagging:
320 from BTagging.BTagConfig
import BTagRecoSplitCfg
326 if flags.DQ.doMonitoring:
327 from AthenaMonitoring.AthenaMonitoringCfg
import (
328 AthenaMonitoringCfg, AthenaMonitoringPostprocessingCfg)
330 if flags.DQ.doPostProcessing:
334 from IOVDbSvc.IOVDbSvcConfig
import addOverride
335 acc.merge(
addOverride(flags,
"/TRT/Onl/Calib/PID_NN",
"TRTCalibPID_NN_v2", db=
""))
340 acc.getEventAlgo(
"AlgTRTMonitoringRun3RAW").doExpert =
True
341 acc.getEventAlgo(
"AlgTRTMonitoringRun3RAW").doEfficiency =
True
347 acc.getService(
"PoolSvc").ReadCatalog += [
"xmlcatalog_file:/det/dqm/GlobalMonitoring/PoolFileCatalog_M7/PoolFileCatalog.xml"]
353 sys.exit(0
if sc.isSuccess()
else 1)