3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
8 MdtCsmCache =
"MdtCsmRdoCache"
9 CscCache =
"CscRdoCache"
10 RpcCache =
"RpcRdoCache"
11 TgcCache =
"TgcRdoCache"
22 MuonCacheCreator=CompFactory.MuonCacheCreator
24 CscCacheKey = (MuonCacheNames.CscCache
if flags.Detector.GeometryCSC
else ""),
25 RpcCacheKey = MuonCacheNames.RpcCache,
26 TgcCacheKey = MuonCacheNames.TgcCache)
28 acc.addEventAlgo( cacheCreator, primary=
True )
38 from MuonConfig.MuonCablingConfig
import RPCCablingConfigCfg
42 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
46 RPCRodDecoder = CompFactory.Muon.RpcROD_Decoder(name =
"RpcROD_Decoder",NOBXS=flags.Trigger.L1MuonSim.RPCNBX)
50 keyName = f
"{flags.Overlay.BkgPrefix}RPCPAD" if flags.Overlay.ByteStream
else "RPCPAD"
51 MuonRpcRawDataProviderTool = CompFactory.Muon.RPC_RawDataProviderToolMT(name =
"RPC_RawDataProviderToolMT",
52 Decoder = RPCRodDecoder,
53 RdoLocation = keyName )
54 if flags.Muon.MuonTrigger:
55 MuonRpcRawDataProviderTool.RpcContainerCacheKey = MuonCacheNames.RpcCache
56 MuonRpcRawDataProviderTool.WriteOutRpcSectorLogic =
False
60 Muon__RpcRawDataProvider=CompFactory.Muon.RpcRawDataProvider
61 RpcRawDataProvider = Muon__RpcRawDataProvider(name = name,
62 ProviderTool = MuonRpcRawDataProviderTool, **kwargs )
64 if flags.Muon.MuonTrigger:
66 from RegionSelector.RegSelToolConfig
import regSelTool_RPC_Cfg
67 RpcRawDataProvider.RegionSelectionTool = acc.popToolsAndMerge(
regSelTool_RPC_Cfg( flags ) )
70 acc.addEventAlgo(RpcRawDataProvider, primary=
True)
77 from MuonConfig.MuonCablingConfig
import NRPCCablingConfigCfg
81 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
86 keyName = flags.Overlay.BkgPrefix +
"NRPCRDO" if flags.Common.isOverlay
else "NRPCRDO"
87 MuonNrpcRawDataProviderTool = CompFactory.Muon.NRPC_RawDataProviderTool(name =
"NRPC_RawDataProviderTool",
88 NrpcRdoKey = keyName )
91 NrpcRawDataProvider = CompFactory.Muon.NrpcRawDataProvider(name = name,
92 ProviderTool = MuonNrpcRawDataProviderTool, **kwargs )
94 acc.addEventAlgo(NrpcRawDataProvider, primary=
True)
101 from MuonConfig.MuonCablingConfig
import TGCCablingConfigCfg
105 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
109 Muon__TGC_RodDecoderReadout=CompFactory.Muon.TGC_RodDecoderReadout
110 TGCRodDecoder = Muon__TGC_RodDecoderReadout(name =
"TgcROD_Decoder")
114 keyName = f
"{flags.Overlay.BkgPrefix}TGCRDO" if flags.Overlay.ByteStream
else "TGCRDO"
115 Muon__TGC_RawDataProviderToolMT=CompFactory.Muon.TGC_RawDataProviderToolMT
116 MuonTgcRawDataProviderTool = Muon__TGC_RawDataProviderToolMT(name =
"TGC_RawDataProviderToolMT",
117 Decoder = TGCRodDecoder,
118 RdoLocation = keyName )
120 if flags.Muon.MuonTrigger:
121 MuonTgcRawDataProviderTool.TgcContainerCacheKey = MuonCacheNames.TgcCache
125 Muon__TgcRawDataProvider=CompFactory.Muon.TgcRawDataProvider
126 TgcRawDataProvider = Muon__TgcRawDataProvider(name = name,
127 ProviderTool = MuonTgcRawDataProviderTool, **kwargs )
128 if flags.Muon.MuonTrigger:
130 from RegionSelector.RegSelToolConfig
import regSelTool_TGC_Cfg
131 TgcRawDataProvider.RegionSelectionTool = acc.popToolsAndMerge(
regSelTool_TGC_Cfg( flags ) )
134 acc.addEventAlgo(TgcRawDataProvider,primary=
True)
142 from MuonConfig.MuonCablingConfig
import MDTCablingConfigCfg
146 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
150 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
154 MdtROD_Decoder=CompFactory.MdtROD_Decoder
159 keyName = f
"{flags.Overlay.BkgPrefix}MDTCSM" if flags.Overlay.ByteStream
else "MDTCSM"
160 Muon__MDT_RawDataProviderToolMT=CompFactory.Muon.MDT_RawDataProviderToolMT
161 MuonMdtRawDataProviderTool = Muon__MDT_RawDataProviderToolMT(name =
"MDT_RawDataProviderToolMT",
162 Decoder = MDTRodDecoder,
163 RdoLocation = keyName)
165 if flags.Muon.MuonTrigger:
166 MuonMdtRawDataProviderTool.CsmContainerCacheKey = MuonCacheNames.MdtCsmCache
169 Muon__MdtRawDataProvider=CompFactory.Muon.MdtRawDataProvider
170 MdtRawDataProvider = Muon__MdtRawDataProvider(name = name,
171 ProviderTool = MuonMdtRawDataProviderTool, **kwargs )
172 if flags.Muon.MuonTrigger:
174 from RegionSelector.RegSelToolConfig
import regSelTool_MDT_Cfg
175 MdtRawDataProvider.RegionSelectionTool = acc.popToolsAndMerge(
regSelTool_MDT_Cfg( flags ) )
178 acc.addEventAlgo(MdtRawDataProvider,primary=
True)
186 from MuonConfig.MuonCablingConfig
import CSCCablingConfigCfg
190 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
194 Muon__CscROD_Decoder=CompFactory.Muon.CscROD_Decoder
195 CSCRodDecoder = Muon__CscROD_Decoder(name =
"CscROD_Decoder" )
199 keyName = f
"{flags.Overlay.BkgPrefix}CSCRDO" if flags.Overlay.ByteStream
else "CSCRDO"
200 Muon__CSC_RawDataProviderToolMT=CompFactory.Muon.CSC_RawDataProviderToolMT
201 MuonCscRawDataProviderTool = Muon__CSC_RawDataProviderToolMT(name =
"CSC_RawDataProviderToolMT",
202 Decoder = CSCRodDecoder,
203 RdoLocation = keyName)
204 if flags.Muon.MuonTrigger:
205 MuonCscRawDataProviderTool.CscContainerCacheKey = MuonCacheNames.CscCache
208 Muon__CscRawDataProvider=CompFactory.Muon.CscRawDataProvider
209 CscRawDataProvider = Muon__CscRawDataProvider(name = name,
210 ProviderTool = MuonCscRawDataProviderTool, **kwargs )
211 if flags.Muon.MuonTrigger:
213 from RegionSelector.RegSelToolConfig
import regSelTool_CSC_Cfg
214 CscRawDataProvider.RegionSelectionTool = acc.popToolsAndMerge(
regSelTool_CSC_Cfg( flags ) )
217 acc.addEventAlgo(CscRawDataProvider,primary=
True)
225 if False and not flags.Muon.MuonTrigger
and not flags.Input.isMC:
226 from MuonConfig.MuonCondAlgConfig
import NswDcsDbAlgCfg
229 kwargs.setdefault(
"DcsKey",
"")
232 kwargs.setdefault(
"CablingMap",
"")
235 from MuonConfig.MuonCablingConfig
import sTgcCablingCfg
237 kwargs.setdefault(
"CablingMap",
"stgcCablingMap")
241 STGCRodDecoder = CompFactory.Muon.STGC_ROD_Decoder(name = name, **kwargs)
242 result.setPrivateTools(STGCRodDecoder)
251 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
257 keyName = f
"{flags.Overlay.BkgPrefix}sTGCRDO" if flags.Overlay.ByteStream
else "sTGCRDO"
258 Muon__STGC_RawDataProviderToolMT=CompFactory.Muon.STGC_RawDataProviderToolMT
259 MuonsTgcRawDataProviderTool = Muon__STGC_RawDataProviderToolMT(name =
"sTgcRawDataProviderTool",
261 RdoLocation = keyName,
262 SkipDecoding=flags.Muon.MuonTrigger
and flags.Muon.runCommissioningChain )
268 Muon__sTgcRawDataProvider=CompFactory.Muon.sTgcRawDataProvider
269 sTgcRawDataProvider = Muon__sTgcRawDataProvider(name = name,
270 ProviderTool = MuonsTgcRawDataProviderTool, **kwargs )
271 if flags.Muon.MuonTrigger:
273 from RegionSelector.RegSelToolConfig
import regSelTool_STGC_Cfg
274 sTgcRawDataProvider.RegionSelectionTool = acc.popToolsAndMerge(
regSelTool_STGC_Cfg( flags ) )
277 acc.addEventAlgo(sTgcRawDataProvider,primary=
True)
283 the_tool = CompFactory.Muon.NSWTP_ROD_Decoder(name = name, **kwargs)
284 result.setPrivateTools(the_tool)
289 kwargs.setdefault(
"RdoLocation", ( flags.Overlay.BkgPrefix
if flags.Common.isOverlay
else "") +
"NSW_TrigProcessor_RDO" )
290 the_tool = CompFactory.Muon.NSWTP_RawDataProviderToolMT(name = name, **kwargs)
291 result.setPrivateTools(the_tool)
296 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
298 the_alg = CompFactory.Muon.sTgcPadTriggerRawDataProvider(name = name,
300 result.addEventAlgo(the_alg, primary =
True)
308 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
312 Muon__PadTrig_ROD_Decoder = CompFactory.Muon.PadTrig_ROD_Decoder
313 STGCPadTriggerRodDecoder = Muon__PadTrig_ROD_Decoder(name =
"sTgcPadTriggerROD_Decoder")
317 keyName = flags.Overlay.BkgPrefix +
"NSW_PadTrigger_RDO" if flags.Common.isOverlay
else "NSW_PadTrigger_RDO"
318 Muon__PadTrig_RawDataProviderToolMT = CompFactory.Muon.PadTrig_RawDataProviderToolMT
319 MuonsTgcPadTriggerRawDataProviderTool = Muon__PadTrig_RawDataProviderToolMT(name =
"sTgcPadTriggerRawDataProviderTool",
320 Decoder = STGCPadTriggerRodDecoder,
321 RdoLocation = keyName)
325 the_alg = CompFactory.Muon.sTgcPadTriggerRawDataProvider(name = name,
326 ProviderTool = MuonsTgcPadTriggerRawDataProviderTool, **kwargs )
328 acc.addEventAlgo(the_alg, primary =
True)
335 if not flags.Muon.MuonTrigger
and not flags.Input.isMC:
336 from MuonConfig.MuonCondAlgConfig
import NswDcsDbAlgCfg
338 from MuonConfig.MuonCablingConfig
import MmCablingCfg
341 kwargs.setdefault(
"CablingMap",
"")
343 kwargs.setdefault(
"DcsKey",
"")
345 the_tool = CompFactory.Muon.MM_ROD_Decoder(name = name, **kwargs)
346 result.setPrivateTools(the_tool)
356 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
360 keyName = f
"{flags.Overlay.BkgPrefix}MMRDO" if flags.Overlay.ByteStream
else "MMRDO"
361 MuonMmRawDataProviderTool = CompFactory.Muon.MM_RawDataProviderToolMT(name =
"MM_RawDataProviderToolMT",
363 RdoLocation = keyName,
364 SkipDecoding=flags.Muon.MuonTrigger
and flags.Muon.runCommissioningChain)
370 Muon__MmRawDataProvider = CompFactory.Muon.MM_RawDataProvider
371 MmRawDataProvider = Muon__MmRawDataProvider(name = name, ProviderTool = MuonMmRawDataProviderTool, **kwargs )
372 if flags.Muon.MuonTrigger:
374 from RegionSelector.RegSelToolConfig
import regSelTool_MM_Cfg
375 MmRawDataProvider.RegionSelectionTool = acc.popToolsAndMerge(
regSelTool_MM_Cfg( flags ) )
377 acc.addEventAlgo(MmRawDataProvider,primary=
True)
383 the_tool = CompFactory.Muon.NSWMMTP_ROD_Decoder(name = name, **kwargs)
384 result.setPrivateTools(the_tool)
390 kwargs.setdefault(
"RdoLocation", ( flags.Overlay.BkgPrefix
if flags.Common.isOverlay
else "") +
"NSW_MMTrigProcessor_RDO" )
391 the_tool = CompFactory.Muon.NSWMMTP_RawDataProviderToolMT(name = name, **kwargs)
392 result.setPrivateTools(the_tool)
398 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
402 the_alg = CompFactory.Muon.sTgcPadTriggerRawDataProvider(name = name, ProviderTool = result.popToolsAndMerge(
NswMMTPRawDataProviderToolCfg(flags)), **kwargs )
403 result.addEventAlgo(the_alg, primary =
True)
411 from ByteStreamCnvSvc.ByteStreamConfig
import ByteStreamReadCfg
415 if flags.Detector.EnableRPC:
418 if flags.Muon.enableNRPC:
423 if flags.Detector.EnableTGC:
427 if flags.Detector.EnableMDT:
431 if flags.Detector.GeometryCSC:
434 if flags.Detector.GeometryMM:
440 if flags.Detector.GeometrysTGC:
445 if flags.Detector.GeometrysTGC
and flags.Detector.GeometryMM:
451 if __name__==
"__main__":
455 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
456 from AthenaConfiguration.TestDefaults
import defaultConditionsTags, defaultGeometryTags, defaultTestFiles
459 flags.Input.Files = defaultTestFiles.RAW_RUN2
460 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN2_DATA
461 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
462 flags.Concurrency.NumThreads = 1
463 flags.Exec.MaxEvents = 5
465 args = flags.fillFromArgs()
468 if not args.config_only:
469 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
475 cfg.printConfig(withDetails=
True)
477 if not args.config_only:
479 sys.exit(
not cfg.run().isSuccess())