ATLAS Offline Software
Loading...
Searching...
No Matches
MuonRdoDecodeConfig Namespace Reference

Classes

class  MuonPrdCacheNames
 Small class to hold the names for cache containers, should help to avoid copy / paste errors. More...

Functions

 MuonPrdCacheCfg (flags)
 This configuration function creates the IdentifiableCaches for PRD.
 MuonRdoToPrepDataAlgCfg (flags, name="MuonRdoToPrepDataAlg", **kwargs)
 RpcRdoToPrepDataToolCfg (flags, suffix="", RDOContainer=None, **kwargs)
 This configuration function sets up everything for decoding RPC RDO to PRD conversion.
 RpcRDODecodeCfg (flags, name="MuonRpcRdoToPrdConv", RDOContainer=None, **kwargs)
 TgcRDODecodeCfg (flags, name="MuonTgcRdoToPrdConv", RDOContainer=None, **kwargs)
 TgcPrepDataReplicationToolAllBCto3BC (flags, name="TgcPrepDataAllBCto3BCTool", **kwargs)
 TgcPrepDataAllBCto3BCCfg (flags, name="TgcPrepDataAllTo3Replicator", **kwargs)
 StgcRdoToPrepDataToolCfg (flags, name="STGC_PrepDataProviderTool", **kwargs)
 StgcRDODecodeCfg (flags, name="MuonStgcRdoToPrdConv", **kwargs)
 MMRdoToPrepDataToolCfg (flags, name="MmRdoToPrepDataTool", **kwargs)
 MMRDODecodeCfg (flags, name="MuonMmRdoToPrdConv", **kwargs)
 MdtRDODecodeCfg (flags, name="MuonMdtRdoToPrdConv", RDOContainer=None, **kwargs)
 CscRDODecodeCfg (flags, name="CscRdoToCscPrepData", RDOContainer=None, **kwargs)
 CscClusterBuildCfg (flags, name="CscThresholdClusterBuilder")
 MuonPRD_MultiTruthMakerCfg (flags, name="MuonPRD_MultiTruthMaker", **kwargs)
 MuonRDOtoPRDConvertorsCfg (flags)
 muonRdoDecodeTestData (forTrigger=False)
 muonRdoDecodeTestMC ()

Variables

 cfg = muonRdoDecodeTestData()

Function Documentation

◆ CscClusterBuildCfg()

MuonRdoDecodeConfig.CscClusterBuildCfg ( flags,
name = "CscThresholdClusterBuilder" )

Definition at line 338 of file MuonRdoDecodeConfig.py.

338def CscClusterBuildCfg(flags, name="CscThresholdClusterBuilder"):
339 acc = ComponentAccumulator()
340 from MuonConfig.MuonGeometryConfig import MuonIdHelperSvcCfg
341 from MuonConfig.MuonSegmentFindingConfig import CalibCscStripFitterCfg, QratCscClusterFitterCfg, CscAlignmentTool
342 from MuonConfig.MuonCalibrationConfig import CscCalibToolCfg
343
344 # Get cluster creator tool
345
346 MuonIdHelperSvc = acc.getPrimaryAndMerge( MuonIdHelperSvcCfg(flags) )
347 CalibCscStripFitter = acc.getPrimaryAndMerge( CalibCscStripFitterCfg(flags) )
348 QratCscClusterFitter = acc.getPrimaryAndMerge( QratCscClusterFitterCfg(flags) )
349 SimpleCscClusterFitter = CompFactory.SimpleCscClusterFitter(CscAlignmentTool = CscAlignmentTool(flags) )
350 CscSplitClusterFitter = CompFactory.CscSplitClusterFitter( precision_fitter = QratCscClusterFitter,
351 default_fitter = SimpleCscClusterFitter )
352 CscCalibTool = acc.getPrimaryAndMerge( CscCalibToolCfg(flags) )
353 CscThresholdClusterBuilderTool=CompFactory.CscThresholdClusterBuilderTool
354 CscClusterBuilderTool = CscThresholdClusterBuilderTool(name = "CscThresholdClusterBuilderTool" ,
355 MuonIdHelperSvc = MuonIdHelperSvc,
356 strip_fitter = CalibCscStripFitter,
357 precision_fitter = QratCscClusterFitter,
358 default_fitter = SimpleCscClusterFitter,
359 split_fitter = CscSplitClusterFitter,
360 cscCalibTool = CscCalibTool)
361
362 #CSC cluster building
363 CscThresholdClusterBuilder=CompFactory.CscThresholdClusterBuilder
364 CscClusterBuilder = CscThresholdClusterBuilder(name = name,
365 cluster_builder = CscClusterBuilderTool,
366 MuonIdHelperSvc = MuonIdHelperSvc
367 )
368 acc.addEventAlgo(CscClusterBuilder)
369
370 return acc
371
372

◆ CscRDODecodeCfg()

MuonRdoDecodeConfig.CscRDODecodeCfg ( flags,
name = "CscRdoToCscPrepData",
RDOContainer = None,
** kwargs )

Definition at line 313 of file MuonRdoDecodeConfig.py.

313def CscRDODecodeCfg(flags, name="CscRdoToCscPrepData", RDOContainer = None, **kwargs):
314 acc = ComponentAccumulator()
315
316 # We need the CSC cabling to be setup
317 from MuonConfig.MuonCablingConfig import CSCCablingConfigCfg # Not yet been prepared
318 acc.merge(CSCCablingConfigCfg(flags))
319
320 from MuonConfig.MuonCondAlgConfig import CscCondDbAlgCfg
321 acc.merge(CscCondDbAlgCfg(flags))
322
323 # Get the RDO -> PRD tool
324
325 kwargs.setdefault("useROBs", False)
326 kwargs.setdefault("DecodingTool", CompFactory.Muon.CscRdoToCscPrepDataToolMT(name="CscPrepDataProviderTool"))
327 if RDOContainer:
328 kwargs["DecodingTool"].RDOContainer = RDOContainer
329 # add RegSelTool
330 from RegionSelector.RegSelToolConfig import regSelTool_CSC_Cfg
331 kwargs.setdefault("RegSelector", acc.popToolsAndMerge(regSelTool_CSC_Cfg(flags)))
332
333 # Add the RDO -> PRD alorithm
334 acc.merge(MuonRdoToPrepDataAlgCfg(flags, name, **kwargs))
335 return acc
336
337

◆ MdtRDODecodeCfg()

MuonRdoDecodeConfig.MdtRDODecodeCfg ( flags,
name = "MuonMdtRdoToPrdConv",
RDOContainer = None,
** kwargs )

Definition at line 272 of file MuonRdoDecodeConfig.py.

272def MdtRDODecodeCfg(flags, name="MuonMdtRdoToPrdConv", RDOContainer = None, **kwargs):
273 acc = ComponentAccumulator()
274 from MuonConfig.MuonCalibrationConfig import MdtCalibrationToolCfg
275
276 tool_kwargs = {}
277
278 # Twin tube conditions not available in COMP200.
279 tool_kwargs.setdefault('UseTwin', True)
280 if flags.IOVDb.DatabaseInstance == 'COMP200':
281 tool_kwargs['UseTwin'] = False
282
283 # We need the MDT cabling to be setup
284 from MuonConfig.MuonCablingConfig import MDTCablingConfigCfg, MdtTwinTubeMapCondAlgCfg
285 acc.merge(MDTCablingConfigCfg(flags))
286 if tool_kwargs['UseTwin']:
287 acc.merge(MdtTwinTubeMapCondAlgCfg(flags))
288
289 writexAOD = flags.Muon.writexAODPRD or flags.Muon.usePhaseIIGeoSetup
290 tool_kwargs["xAODKey"] = "xMdtDriftCircles" if writexAOD else ""
291 tool_kwargs["xAODTwinKey"] = "xMdtTwinDriftCircles" if writexAOD else ""
292
293 tool_kwargs["UseR4DetMgr"] = flags.Muon.usePhaseIIGeoSetup
294 tool_kwargs["CalibrationTool"] = acc.popToolsAndMerge(MdtCalibrationToolCfg(flags, TimeWindowSetting = 2,
295 DoPropagationCorrection = False))
296 if RDOContainer: tool_kwargs["RDOContainer"] = RDOContainer
297 # Get the RDO -> PRD tool
298 kwargs.setdefault("DecodingTool", CompFactory.Muon.MdtRdoToPrepDataToolMT(name="MdtPrepDataProviderTool", **tool_kwargs))
299
300 # add RegSelTool
301 from RegionSelector.RegSelToolConfig import regSelTool_MDT_Cfg
302 kwargs.setdefault("RegSelector", acc.popToolsAndMerge(regSelTool_MDT_Cfg(flags)))
303
304 # Add the RDO -> PRD alorithm
305 acc.merge(MuonRdoToPrepDataAlgCfg(flags, name, **kwargs))
306 if writexAOD:
307 suffix = name[name.find("_") :] if name.find("_") != -1 else ""
308 from xAODMuonViewAlgs.ViewAlgsConfig import MdtMeasViewAlgCfg
309 acc.merge(MdtMeasViewAlgCfg(flags, name=f"MdtMeasViewAlg{suffix}"))
310 return acc
311
312

◆ MMRDODecodeCfg()

MuonRdoDecodeConfig.MMRDODecodeCfg ( flags,
name = "MuonMmRdoToPrdConv",
** kwargs )

Definition at line 259 of file MuonRdoDecodeConfig.py.

259def MMRDODecodeCfg(flags, name="MuonMmRdoToPrdConv", **kwargs):
260 acc = ComponentAccumulator()
261
262 kwargs.setdefault("DecodingTool", acc.popToolsAndMerge(MMRdoToPrepDataToolCfg(flags)))
263 # add RegSelTool
264 from RegionSelector.RegSelToolConfig import regSelTool_MM_Cfg
265 kwargs.setdefault("RegSelector", acc.popToolsAndMerge(regSelTool_MM_Cfg(flags)))
266 kwargs.setdefault("useROBs", False)
267 # Add the RDO -> PRD alorithm
268 acc.merge(MuonRdoToPrepDataAlgCfg(flags, name, **kwargs))
269 return acc
270
271

◆ MMRdoToPrepDataToolCfg()

MuonRdoDecodeConfig.MMRdoToPrepDataToolCfg ( flags,
name = "MmRdoToPrepDataTool",
** kwargs )

Definition at line 244 of file MuonRdoDecodeConfig.py.

244def MMRdoToPrepDataToolCfg(flags, name="MmRdoToPrepDataTool", **kwargs):
245 result = ComponentAccumulator()
246 kwargs.setdefault("PrdCacheKey" , MuonPrdCacheNames.MmCache if flags.Trigger.doHLT else "")
247
248 from MuonConfig.MuonRecToolsConfig import SimpleMMClusterBuilderToolCfg
249 kwargs.setdefault("ClusterBuilderTool",result.popToolsAndMerge(SimpleMMClusterBuilderToolCfg(flags)))
250 from MuonConfig.MuonCalibrationConfig import NSWCalibToolCfg
251 kwargs.setdefault("NSWCalibTool", result.popToolsAndMerge(NSWCalibToolCfg(flags)))
252 kwargs["xAODKey"] = "xAODMMClusters" if flags.Muon.writexAODPRD or flags.Muon.usePhaseIIGeoSetup else ""
253 kwargs["UseR4DetMgr"] = flags.Muon.usePhaseIIGeoSetup
254 the_tool = CompFactory.Muon.MmRdoToPrepDataToolMT(name, **kwargs)
255 result.setPrivateTools(the_tool)
256 return result
257
258

◆ MuonPRD_MultiTruthMakerCfg()

MuonRdoDecodeConfig.MuonPRD_MultiTruthMakerCfg ( flags,
name = "MuonPRD_MultiTruthMaker",
** kwargs )

Definition at line 373 of file MuonRdoDecodeConfig.py.

373def MuonPRD_MultiTruthMakerCfg(flags, name="MuonPRD_MultiTruthMaker", **kwargs):
374 from MuonConfig.MuonGeometryConfig import MuonIdHelperSvcCfg
375 result = ComponentAccumulator()
376 result.merge(MuonIdHelperSvcCfg(flags))
377
378 if not flags.Detector.GeometryMDT: kwargs.setdefault("MdtPrdKey", "")
379 if not flags.Detector.GeometryRPC: kwargs.setdefault("RpcPrdKey", "")
380 if not flags.Detector.GeometryTGC: kwargs.setdefault("TgcPrdKey", "")
381 if not flags.Detector.GeometryCSC: kwargs.setdefault("CscPrdKey", "")
382
383 if not flags.Detector.GeometrysTGC: kwargs.setdefault("sTgcPrdKey", "")
384 if not flags.Detector.GeometryMM: kwargs.setdefault("MmPrdKey", "")
385
386 kwargs.setdefault("TgcPrdKey", 'TGC_MeasurementsAllBCs' if not flags.Muon.useTGCPriorNextBC else 'TGC_Measurements')
387 result.addEventAlgo(CompFactory.MuonPRD_MultiTruthMaker(name, **kwargs), primary = True)
388 return result
389
390

◆ MuonPrdCacheCfg()

MuonRdoDecodeConfig.MuonPrdCacheCfg ( flags)

This configuration function creates the IdentifiableCaches for PRD.

The function returns a ComponentAccumulator which should be loaded first If a configuration wants to use the cache, they need to use the same names as defined here

Definition at line 25 of file MuonRdoDecodeConfig.py.

25def MuonPrdCacheCfg(flags):
26 # Use MuonGeometryFlags to identify which configuration is being used
27
28 acc = ComponentAccumulator()
29
30 MuonPRDCacheCreator=CompFactory.MuonPRDCacheCreator
31 cacheCreator = MuonPRDCacheCreator(CscStripCacheKey = (MuonPrdCacheNames.CscStripCache if flags.Detector.GeometryCSC else ""),
32 MdtCacheKey = MuonPrdCacheNames.MdtCache,
33 CscCacheKey = (MuonPrdCacheNames.CscCache if flags.Detector.GeometryCSC else ""),
34 RpcCacheKey = MuonPrdCacheNames.RpcCache,
35 TgcCacheStr = MuonPrdCacheNames.TgcCache,
36 sTgcCacheKey = (MuonPrdCacheNames.sTgcCache if flags.Detector.GeometrysTGC else ""),
37 MmCacheKey = (MuonPrdCacheNames.MmCache if flags.Detector.GeometryMM else ""),
38 TgcCoinCacheStr = MuonPrdCacheNames.TgcCoinCache,
39 RpcCoinCacheKey = MuonPrdCacheNames.RpcCoinCache,
40 )
41
42 acc.addEventAlgo( cacheCreator, primary=True )
43 return acc
44

◆ muonRdoDecodeTestData()

MuonRdoDecodeConfig.muonRdoDecodeTestData ( forTrigger = False)

Definition at line 429 of file MuonRdoDecodeConfig.py.

429def muonRdoDecodeTestData( forTrigger = False ):
430 from AthenaConfiguration.AllConfigFlags import initConfigFlags
431 from AthenaConfiguration.TestDefaults import defaultConditionsTags, defaultGeometryTags, defaultTestFiles
432 flags = initConfigFlags()
433 flags.Input.Files = defaultTestFiles.RAW_RUN2
434 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
435 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN2_DATA
436
437 flags.lock()
438 flags.dump()
439
440 from AthenaCommon.Logging import log
441
442 log.setLevel(INFO)
443 log.info('About to setup Raw data decoding')
444
445 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
446 cfg = MainServicesCfg(flags)
447
448 # Add the MuonCache to ComponentAccumulator for trigger/RoI testing mode
449 if forTrigger:
450 # cache creators loaded independently
451 from MuonConfig.MuonBytestreamDecodeConfig import MuonCacheCfg
452 cfg.merge( MuonCacheCfg(flags) )
453
454 if flags.Input.Format is Format.BS:
455 from MuonConfig.MuonBytestreamDecodeConfig import MuonByteStreamDecodersCfg
456 cfg.merge( MuonByteStreamDecodersCfg( flags) )
457
458 cfg.merge( MuonRDOtoPRDConvertorsCfg( flags) )
459
460 log.info('Print Config')
461 cfg.printConfig(withDetails=True)
462
463 if forTrigger:
464 pklName = 'MuonRdoDecode_Cache.pkl'
465 else:
466 pklName = 'MuonRdoDecode.pkl'
467
468 # Store config as pickle
469 log.info('Save Config')
470 with open(pklName,'wb') as f:
471 cfg.store(f)
472 f.close()
473 return cfg
474
475# This function runs the decoding on a MC file

◆ muonRdoDecodeTestMC()

MuonRdoDecodeConfig.muonRdoDecodeTestMC ( )

Definition at line 476 of file MuonRdoDecodeConfig.py.

476def muonRdoDecodeTestMC():
477
478 from AthenaConfiguration.AllConfigFlags import initConfigFlags
479 from AthenaConfiguration.TestDefaults import defaultTestFiles
480 flags = initConfigFlags()
481 flags.Input.Files = defaultTestFiles.RDO_RUN3
482
483 flags.lock()
484 flags.dump()
485
486 from AthenaCommon.Logging import log
487
488 log.setLevel(DEBUG)
489 log.info('About to setup Rpc RDO data decoding')
490
491 cfg=ComponentAccumulator()
492
493 # We are reading a pool file for this test
494 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
495 cfg.merge(PoolReadCfg(flags))
496
497 # Schedule RDO conversion
498 cfg.merge( MuonRDOtoPRDConvertorsCfg( flags) )
499
500 log.info('Print Config')
501 cfg.printConfig(withDetails=True)
502
503 # Store config as pickle
504 log.info('Save Config')
505 with open('MuonRdoDecode.pkl','wb') as f:
506 cfg.store(f)
507 f.close()
508 return cfg
509

◆ MuonRDOtoPRDConvertorsCfg()

MuonRdoDecodeConfig.MuonRDOtoPRDConvertorsCfg ( flags)

Definition at line 391 of file MuonRdoDecodeConfig.py.

391def MuonRDOtoPRDConvertorsCfg(flags):
392 # Schedule RDO conversion
393 acc = ComponentAccumulator()
394
395 if flags.Detector.GeometryMDT:
396 acc.merge(MdtRDODecodeCfg(flags))
397
398 if flags.Detector.GeometryRPC:
399 acc.merge(RpcRDODecodeCfg(flags))
400
401 if flags.Detector.GeometryTGC:
402 acc.merge(TgcRDODecodeCfg(flags))
403
404 if flags.Detector.GeometrysTGC:
405 acc.merge(StgcRDODecodeCfg(flags))
406
407 if flags.Detector.GeometryMM:
408 acc.merge(MMRDODecodeCfg(flags))
409
410
411 if flags.Detector.GeometryCSC:
412 acc.merge(CscRDODecodeCfg(flags))
413 acc.merge(CscClusterBuildCfg(flags))
414
415 if flags.Muon.scheduleActsReco:
416 from MuonSpacePointFormation.SpacePointFormationConfig import MuonSpacePointFormationCfg
417 acc.merge(MuonSpacePointFormationCfg(flags))
418
419 if flags.Input.isMC:
420 if not flags.Muon.usePhaseIIGeoSetup:
421 acc.merge(MuonPRD_MultiTruthMakerCfg(flags))
422 else:
423 from MuonTruthAlgsR4.MuonTruthAlgsConfig import MuonTruthAlgsCfg
424 acc.merge(MuonTruthAlgsCfg(flags))
425 return acc
426
427
428# This function runs the decoding on a data file

◆ MuonRdoToPrepDataAlgCfg()

MuonRdoDecodeConfig.MuonRdoToPrepDataAlgCfg ( flags,
name = "MuonRdoToPrepDataAlg",
** kwargs )

Definition at line 45 of file MuonRdoDecodeConfig.py.

45def MuonRdoToPrepDataAlgCfg(flags, name="MuonRdoToPrepDataAlg", **kwargs):
46 result = ComponentAccumulator()
47 # Make sure muon geometry is configured
48 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
49 result.merge(MuonGeoModelCfg(flags))
50 if flags.Muon.usePhaseIIGeoSetup:
51 from ActsAlignmentAlgs.AlignmentAlgsConfig import ActsGeometryContextAlgCfg
52 result.merge(ActsGeometryContextAlgCfg(flags))
53
54 kwargs.setdefault("DoSeededDecoding", flags.Trigger.doHLT )
55 the_alg = CompFactory.MuonRdoToPrepDataAlg(name, **kwargs)
56 result.addEventAlgo(the_alg, primary = True)
57 return result

◆ RpcRDODecodeCfg()

MuonRdoDecodeConfig.RpcRDODecodeCfg ( flags,
name = "MuonRpcRdoToPrdConv",
RDOContainer = None,
** kwargs )

Definition at line 140 of file MuonRdoDecodeConfig.py.

140def RpcRDODecodeCfg(flags, name="MuonRpcRdoToPrdConv", RDOContainer = None, **kwargs):
141 acc = ComponentAccumulator()
142
143 suffix = name[name.find("_") :] if name.find("_") != -1 else ""
144 # Conditions not needed for online
145 # Get the RDO -> PRD tool
146 kwargs.setdefault("DecodingTool", acc.popToolsAndMerge(RpcRdoToPrepDataToolCfg(flags, suffix=suffix, RDOContainer=RDOContainer)))
147 # add RegSelTool
148 from RegionSelector.RegSelToolConfig import regSelTool_RPC_Cfg
149 kwargs.setdefault("RegSelector", acc.popToolsAndMerge(regSelTool_RPC_Cfg(flags)))
150 kwargs.setdefault("useROBs", False)
151
152 # Add the RDO -> PRD alorithm
153 acc.merge(MuonRdoToPrepDataAlgCfg(flags, name, **kwargs))
154
155
156 if flags.Muon.usePhaseIIGeoSetup and flags.Input.isMC:
157 from xAODMuonTrkPrepDataCnv.MuonPrepDataCnvCfg import xRpcToRpcPrepDataCnvAlgCfg
158 acc.merge(xRpcToRpcPrepDataCnvAlgCfg(flags, name=f"xAODRpcToPrepDataCnvAlg{suffix}"))
159 from AthenaConfiguration.Enums import LHCPeriod
160 if flags.GeoModel.Run >= LHCPeriod.Run4:
161 from xAODMuonViewAlgs.ViewAlgsConfig import RpcMeasViewAlgCfg
162 acc.merge(RpcMeasViewAlgCfg(flags, name=f"RpcMeasViewAlg{suffix}"))
163 return acc
164
165

◆ RpcRdoToPrepDataToolCfg()

MuonRdoDecodeConfig.RpcRdoToPrepDataToolCfg ( flags,
suffix = "",
RDOContainer = None,
** kwargs )

This configuration function sets up everything for decoding RPC RDO to PRD conversion.

The function returns a ComponentAccumulator and the data-converting algorithm, which should be added to the right sequence by the user

Definition at line 61 of file MuonRdoDecodeConfig.py.

61def RpcRdoToPrepDataToolCfg(flags, suffix ="", RDOContainer = None, **kwargs):
62 result = ComponentAccumulator()
63
65 if flags.Input.isMC and flags.Muon.usePhaseIIGeoSetup and \
66 len([x for x in flags.Input.TypedCollections if x.find("RpcPadContainer#") != -1]):
67
68 from MuonConfig.MuonByteStreamCnvTestConfig import RpcRdoToRpcDigitCfg, NrpcDigitToNrpcRDOCfg
69
70 cnv_args = {}
71 if RDOContainer: cnv_args.setdefault("RpcRdoContainer", RDOContainer)
72
73 result.merge(RpcRdoToRpcDigitCfg(flags,
74 name="RpcRdoDigitPatchAlg" + suffix,
75 RpcDigitContainer="CnvRpcDigits",
76 **cnv_args))
77
78 result.merge(NrpcDigitToNrpcRDOCfg(flags,
79 name="RpcBackConverterAlg" + suffix,
80 RpcDigitContainer="CnvRpcDigits",
81 NrpcRdoKey="CnvRpcRDOs"))
82 kwargs.setdefault("RpcRdoContainer", "CnvRpcRDOs")
83
85 if RDOContainer:
86 kwargs.setdefault("RpcRdoContainer", RDOContainer)
87
88 if flags.Input.isMC and flags.Muon.usePhaseIIGeoSetup:
89 from MuonConfig.MuonCablingConfig import NRPCCablingConfigCfg
90 result.merge(NRPCCablingConfigCfg(flags))
91 from AthenaConfiguration.Enums import LHCPeriod
92 kwargs.setdefault("decode2DStrips", flags.GeoModel.Run >= LHCPeriod.Run4)
93 if not kwargs["decode2DStrips"]:
94 kwargs.setdefault("OutputContainer", "xRpcMeasurements")
95 the_tool = CompFactory.MuonR4.RpcRdoToRpcPrepDataTool(name="RpcPrepDataProviderTool", **kwargs)
96 result.setPrivateTools(the_tool)
97 else:
98 # We need the RPC cabling to be setup
99 from MuonConfig.MuonCablingConfig import RPCLegacyCablingConfigCfg
100 result.merge(RPCLegacyCablingConfigCfg(flags))
101
102 if not flags.Input.isMC:
103 kwargs["reduceCablingOverlap"] = True
104 kwargs["produceRpcCoinDatafromTriggerWords"] = True
105 kwargs["overlap_timeTolerance"] = 1000
106 kwargs["solvePhiAmbiguities"] = True
107 kwargs["etaphi_coincidenceTime"] = 1000
108 if not flags.Trigger.doHLT:
109 kwargs["RpcPrdContainerCacheKey"] = ""
110 kwargs["RpcCoinDataContainerCacheKey"] = ""
111
112 from MuonConfig.MuonCondAlgConfig import RpcCondDbAlgCfg
113 result.merge(RpcCondDbAlgCfg(flags))
114 else:
115 kwargs["RPCInfoFromDb"] = False
116
117 if not flags.Muon.enableNRPC:
118 kwargs["NrpcInputCollection"] = ""
119
120 kwargs["xAODKey"] = "xRpcMeasurements" if flags.Muon.writexAODPRD or \
121 flags.Muon.usePhaseIIGeoSetup else ""
122
123
128 if not flags.Input.isMC and (flags.Muon.MuonTrigger or flags.Input.RunNumbers[0] >= 454434):
129 kwargs["timeShift"] = 37.5
130 #Setup RPC RDO decoder to be consistent with RPC readout settings
131 if flags.Muon.MuonTrigger:
132 kwargs["RdoDecoderTool"] = CompFactory.Muon.RpcRDO_Decoder("RpcRDO_Decoder", BCZERO=flags.Trigger.L1MuonSim.RPCNBCZ)
133
134 kwargs.setdefault("isMC", flags.Input.isMC)
135 the_tool = CompFactory.Muon.RpcRdoToPrepDataToolMT(name="RpcPrepDataProviderTool",**kwargs)
136 result.setPrivateTools(the_tool)
137
138 return result
139

◆ StgcRDODecodeCfg()

MuonRdoDecodeConfig.StgcRDODecodeCfg ( flags,
name = "MuonStgcRdoToPrdConv",
** kwargs )

Definition at line 224 of file MuonRdoDecodeConfig.py.

224def StgcRDODecodeCfg(flags, name="MuonStgcRdoToPrdConv", **kwargs):
225 acc = ComponentAccumulator()
226 # Get the RDO -> PRD tool
227 kwargs.setdefault("DecodingTool", acc.popToolsAndMerge(StgcRdoToPrepDataToolCfg(flags)))
228 # add RegSelTool
229 from RegionSelector.RegSelToolConfig import regSelTool_STGC_Cfg
230 kwargs.setdefault("RegSelector", acc.popToolsAndMerge(regSelTool_STGC_Cfg(flags)))
231 kwargs.setdefault("useROBs", False)
232
233
234
235 acc.merge(MuonRdoToPrepDataAlgCfg(flags, name, **kwargs))
236 if flags.Muon.writexAODPRD or flags.Muon.usePhaseIIGeoSetup:
237 suffix = name[name.find("_") :] if name.find("_") != -1 else ""
238 from xAODMuonViewAlgs.ViewAlgsConfig import sTgcMeasViewAlgCfg
239 acc.merge(sTgcMeasViewAlgCfg(flags, name=f"sTgcMeasViewAlg{suffix}"))
240
241 return acc
242
243

◆ StgcRdoToPrepDataToolCfg()

MuonRdoDecodeConfig.StgcRdoToPrepDataToolCfg ( flags,
name = "STGC_PrepDataProviderTool",
** kwargs )

Definition at line 206 of file MuonRdoDecodeConfig.py.

206def StgcRdoToPrepDataToolCfg(flags, name="STGC_PrepDataProviderTool", **kwargs):
207 result = ComponentAccumulator()
208 kwargs.setdefault("PrdCacheKey" , MuonPrdCacheNames.sTgcCache if flags.Muon.MuonTrigger else "")
209 kwargs.setdefault("UseR4DetMgr", flags.Muon.usePhaseIIGeoSetup)
210 if flags.Muon.writexAODPRD or flags.Muon.usePhaseIIGeoSetup:
211 kwargs.setdefault("xAODStripKey", "xAODsTgcStrips")
212 kwargs.setdefault("xAODWireKey", "xAODsTgcWires")
213 kwargs.setdefault("xAODPadKey", "xAODsTgcPads")
214
215 from MuonConfig.MuonRecToolsConfig import SimpleSTgcClusterBuilderToolCfg
216 kwargs.setdefault("ClusterBuilderTool",result.popToolsAndMerge(SimpleSTgcClusterBuilderToolCfg(flags)))
217 from MuonConfig.MuonCalibrationConfig import NSWCalibToolCfg
218 kwargs.setdefault("NSWCalibTool", result.popToolsAndMerge(NSWCalibToolCfg(flags)))
219 the_tool = CompFactory.Muon.sTgcRdoToPrepDataToolMT(name, **kwargs)
220 result.setPrivateTools(the_tool)
221 return result
222
223

◆ TgcPrepDataAllBCto3BCCfg()

MuonRdoDecodeConfig.TgcPrepDataAllBCto3BCCfg ( flags,
name = "TgcPrepDataAllTo3Replicator",
** kwargs )

Definition at line 199 of file MuonRdoDecodeConfig.py.

199def TgcPrepDataAllBCto3BCCfg(flags, name="TgcPrepDataAllTo3Replicator", **kwargs):
200 acc = ComponentAccumulator()
201 kwargs.setdefault("Tool", acc.popToolsAndMerge(TgcPrepDataReplicationToolAllBCto3BC(flags)))
202 acc.addEventAlgo(CompFactory.Muon.TgcPrepDataReplicationAlg(name, **kwargs))
203 return acc
204
205

◆ TgcPrepDataReplicationToolAllBCto3BC()

MuonRdoDecodeConfig.TgcPrepDataReplicationToolAllBCto3BC ( flags,
name = "TgcPrepDataAllBCto3BCTool",
** kwargs )

Definition at line 193 of file MuonRdoDecodeConfig.py.

193def TgcPrepDataReplicationToolAllBCto3BC(flags, name = "TgcPrepDataAllBCto3BCTool", **kwargs):
194 acc = ComponentAccumulator()
195 the_tool = CompFactory.Muon.TgcPrepDataReplicationToolAllBCto3BC(name, **kwargs)
196 acc.setPrivateTools(the_tool)
197 return acc
198

◆ TgcRDODecodeCfg()

MuonRdoDecodeConfig.TgcRDODecodeCfg ( flags,
name = "MuonTgcRdoToPrdConv",
RDOContainer = None,
** kwargs )

Definition at line 166 of file MuonRdoDecodeConfig.py.

166def TgcRDODecodeCfg(flags, name="MuonTgcRdoToPrdConv", RDOContainer = None, **kwargs):
167 acc = ComponentAccumulator()
168
169 # We need the TGC cabling to be setup
170 from MuonConfig.MuonCablingConfig import TGCCablingConfigCfg
171 acc.merge(TGCCablingConfigCfg(flags))
172
173 # Get the RDO -> PRD tool
174 tool_args = {}
175 if not flags.Trigger.doHLT:
176 tool_args.setdefault("PrdCacheString", "")
177 tool_args.setdefault("CoinCacheString", "")
178 tool_args.setdefault("xAODKey", "xTgcStrips" if flags.Muon.writexAODPRD or flags.Muon.usePhaseIIGeoSetup else "")
179
180 if RDOContainer: tool_args.setdefault("RDOContainer", RDOContainer)
181 kwargs.setdefault("DecodingTool", CompFactory.Muon.TgcRdoToPrepDataToolMT(name="TgcPrepDataProviderTool", **tool_args))
182
183 # add RegSelTool
184 from RegionSelector.RegSelToolConfig import regSelTool_TGC_Cfg
185 kwargs.setdefault("RegSelector", acc.popToolsAndMerge(regSelTool_TGC_Cfg(flags)))
186 kwargs.setdefault("useROBs", False)
187
188
189
190 acc.merge(MuonRdoToPrepDataAlgCfg(flags, name, **kwargs))
191 return acc
192

Variable Documentation

◆ cfg

MuonRdoDecodeConfig.cfg = muonRdoDecodeTestData()

Definition at line 513 of file MuonRdoDecodeConfig.py.