1"""Combined Tile Digitization functions
3# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6from AthenaConfiguration.Enums
import ProductionStep
7from AthenaConfiguration.Enums
import LHCPeriod
8from AthenaConfiguration.Enums
import BeamType
9from TileConfiguration.TileConfigFlags
import TileRunType
12 """Return ComponentAccumulator with standard Tile Trigger Digitization configuration"""
14 if flags.Beam.Type
is BeamType.TestBeam:
15 return ComponentAccumulator()
17 from TileSimAlgs.TileHitToTTL1Config
import TileHitToTTL1OutputCfg
18 acc = TileHitToTTL1OutputCfg(flags)
20 if flags.GeoModel.Run > LHCPeriod.Run1:
21 from TileSimAlgs.TileMuonReceiverConfig
import TilePulseForTileMuonReceiverOutputCfg
22 acc.merge( TilePulseForTileMuonReceiverOutputCfg(flags) )
24 from TileSimAlgs.TileMuonReceiverDecisionConfig
import TileMuonReceiverDecisionOutputCfg
25 acc.merge( TileMuonReceiverDecisionOutputCfg(flags) )
27 from TileL2Algs.TileL2Config
import TileRawChannelToL2OutputCfg
28 acc.merge( TileRawChannelToL2OutputCfg(flags, streamName =
'RDO') )
34 """Return ComponentAccumulator with Overlay Tile Trigger Digitization configuration"""
35 acc = ComponentAccumulator()
37 if flags.GeoModel.Run > LHCPeriod.Run1:
38 from TileSimAlgs.TileMuonReceiverConfig
import TilePulseForTileMuonReceiverOutputCfg
39 acc.merge( TilePulseForTileMuonReceiverOutputCfg(flags) )
41 from TileSimAlgs.TileMuonReceiverDecisionConfig
import TileMuonReceiverDecisionOutputCfg
42 acc.merge( TileMuonReceiverDecisionOutputCfg(flags) )
44 from TileL2Algs.TileL2Config
import TileRawChannelToL2OutputCfg
45 acc.merge( TileRawChannelToL2OutputCfg(flags, streamName =
'RDO') )
51 """Return ComponentAccumulator with standard Tile Digitization configuration"""
53 from TileSimAlgs.TileDigitsMakerConfig
import TileDigitsMakerOutputCfg
54 acc = TileDigitsMakerOutputCfg(flags)
56 if flags.Common.ProductionStep != ProductionStep.PileUpPresampling
and flags.Output.doWriteRDO:
57 from TileRecUtils.TileRawChannelMakerConfig
import TileRawChannelMakerOutputCfg
58 acc.merge( TileRawChannelMakerOutputCfg(flags, streamName =
'RDO') )
60 from TileRecUtils.TileRawChannelMakerConfig
import TileRawChannelMakerCfg
61 acc.merge( TileRawChannelMakerCfg(flags) )
63 if flags.Digitization.EnableCaloHSTruthRecoInputs:
64 if flags.Output.doWriteRDO:
65 from TileRecUtils.TileRawChannelMakerConfig
import TileRawChannelMakerDigiHSTruthOutputCfg
66 acc.merge( TileRawChannelMakerDigiHSTruthOutputCfg(flags, streamName =
'RDO') )
68 from TileRecUtils.TileRawChannelMakerConfig
import TileRawChannelMakerDigiHSTruthCfg
69 acc.merge( TileRawChannelMakerDigiHSTruthCfg(flags) )
75if __name__ ==
"__main__":
77 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
78 from AthenaConfiguration.TestDefaults
import defaultConditionsTags, defaultTestFiles
79 from AthenaCommon.Logging
import log
85 flags = initConfigFlags()
86 flags.Input.Files = defaultTestFiles.HITS_RUN2
87 flags.Tile.RunType = TileRunType.PHY
88 flags.Output.RDOFileName =
'myRDO-TileDigitization.pool.root'
89 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN2_MC
90 flags.Digitization.PileUp =
False
98 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
99 acc = MainServicesCfg(flags)
101 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
102 acc.merge(PoolReadCfg(flags))
104 if 'EventInfo' not in flags.Input.Collections:
105 from xAODEventInfoCnv.xAODEventInfoCnvConfig
import EventInfoCnvAlgCfg
106 acc.merge(EventInfoCnvAlgCfg(flags,
107 inputKey=
'McEventInfo',
108 outputKey=
'EventInfo'))
113 acc.printConfig(withDetails =
True, summariseProps =
True)
114 acc.store( open(
'TileDigitization.pkl',
'wb') )
116 sc = acc.run(maxEvents=3)
119 sys.exit(
not sc.isSuccess())
TileTriggerDigitizationCfg(flags)
TileOverlayTriggerDigitizationCfg(flags)
TileDigitizationCfg(flags)