ATLAS Offline Software
TileDigitizationConfig.py
Go to the documentation of this file.
1 """Combined Tile Digitization functions
2 
3 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4 """
5 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6 from AthenaConfiguration.Enums import ProductionStep
7 from AthenaConfiguration.Enums import LHCPeriod
8 from AthenaConfiguration.Enums import BeamType
9 from TileConfiguration.TileConfigFlags import TileRunType
10 
12  """Return ComponentAccumulator with standard Tile Trigger Digitization configuration"""
13 
14  if flags.Beam.Type is BeamType.TestBeam:
15  return ComponentAccumulator()
16 
17  from TileSimAlgs.TileHitToTTL1Config import TileHitToTTL1OutputCfg
18  acc = TileHitToTTL1OutputCfg(flags)
19 
20  if flags.GeoModel.Run > LHCPeriod.Run1:
21  from TileSimAlgs.TileMuonReceiverConfig import TilePulseForTileMuonReceiverOutputCfg
22  acc.merge( TilePulseForTileMuonReceiverOutputCfg(flags) )
23 
24  from TileSimAlgs.TileMuonReceiverDecisionConfig import TileMuonReceiverDecisionOutputCfg
25  acc.merge( TileMuonReceiverDecisionOutputCfg(flags) )
26 
27  from TileL2Algs.TileL2Config import TileRawChannelToL2OutputCfg
28  acc.merge( TileRawChannelToL2OutputCfg(flags, streamName = 'RDO') )
29 
30  return acc
31 
32 
34  """Return ComponentAccumulator with Overlay Tile Trigger Digitization configuration"""
35  acc = ComponentAccumulator()
36 
37  if flags.GeoModel.Run > LHCPeriod.Run1:
38  from TileSimAlgs.TileMuonReceiverConfig import TilePulseForTileMuonReceiverOutputCfg
39  acc.merge( TilePulseForTileMuonReceiverOutputCfg(flags) )
40 
41  from TileSimAlgs.TileMuonReceiverDecisionConfig import TileMuonReceiverDecisionOutputCfg
42  acc.merge( TileMuonReceiverDecisionOutputCfg(flags) )
43 
44  from TileL2Algs.TileL2Config import TileRawChannelToL2OutputCfg
45  acc.merge( TileRawChannelToL2OutputCfg(flags, streamName = 'RDO') )
46 
47  return acc
48 
49 
51  """Return ComponentAccumulator with standard Tile Digitization configuration"""
52 
53  from TileSimAlgs.TileDigitsMakerConfig import TileDigitsMakerOutputCfg
54  acc = TileDigitsMakerOutputCfg(flags)
55 
56  if flags.Common.ProductionStep != ProductionStep.PileUpPresampling and flags.Output.doWriteRDO:
57  from TileRecUtils.TileRawChannelMakerConfig import TileRawChannelMakerOutputCfg
58  acc.merge( TileRawChannelMakerOutputCfg(flags, streamName = 'RDO') )
59  else:
60  from TileRecUtils.TileRawChannelMakerConfig import TileRawChannelMakerCfg
61  acc.merge( TileRawChannelMakerCfg(flags) )
62 
63  if flags.Digitization.EnableCaloHSTruthRecoInputs:
64  if flags.Output.doWriteRDO:
65  from TileRecUtils.TileRawChannelMakerConfig import TileRawChannelMakerDigiHSTruthOutputCfg
66  acc.merge( TileRawChannelMakerDigiHSTruthOutputCfg(flags, streamName = 'RDO') )
67  else:
68  from TileRecUtils.TileRawChannelMakerConfig import TileRawChannelMakerDigiHSTruthCfg
69  acc.merge( TileRawChannelMakerDigiHSTruthCfg(flags) )
70 
71  return acc
72 
73 
74 
75 if __name__ == "__main__":
76 
77  from AthenaConfiguration.AllConfigFlags import initConfigFlags
78  from AthenaConfiguration.TestDefaults import defaultConditionsTags, defaultTestFiles
79  from AthenaCommon.Logging import log
80  from AthenaCommon.Constants import DEBUG
81 
82  # Test setup
83  log.setLevel(DEBUG)
84 
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
91 
92  flags.fillFromArgs()
93 
94  flags.lock()
95  flags.dump()
96 
97  # Construct our accumulator to run
98  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
99  acc = MainServicesCfg(flags)
100 
101  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
102  acc.merge(PoolReadCfg(flags))
103 
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'))
109 
110  acc.merge( TileDigitizationCfg(flags) )
111  acc.merge( TileTriggerDigitizationCfg(flags) )
112 
113  acc.printConfig(withDetails = True, summariseProps = True)
114  acc.store( open('TileDigitization.pkl','wb') )
115 
116  sc = acc.run(maxEvents=3)
117  # Success should be 0
118  import sys
119  sys.exit(not sc.isSuccess())
TileMuonReceiverConfig.TilePulseForTileMuonReceiverOutputCfg
def TilePulseForTileMuonReceiverOutputCfg(flags, **kwargs)
Definition: TileMuonReceiverConfig.py:93
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
TileRawChannelMakerConfig.TileRawChannelMakerOutputCfg
def TileRawChannelMakerOutputCfg(flags, streamName='ESD', **kwargs)
Definition: TileRawChannelMakerConfig.py:138
TileDigitizationConfig.TileTriggerDigitizationCfg
def TileTriggerDigitizationCfg(flags)
Definition: TileDigitizationConfig.py:11
TileMuonReceiverDecisionConfig.TileMuonReceiverDecisionOutputCfg
def TileMuonReceiverDecisionOutputCfg(flags, **kwargs)
Definition: TileMuonReceiverDecisionConfig.py:48
TileL2Config.TileRawChannelToL2OutputCfg
def TileRawChannelToL2OutputCfg(flags, streamName='RDO', **kwargs)
Definition: TileL2Config.py:72
TileDigitizationConfig.TileOverlayTriggerDigitizationCfg
def TileOverlayTriggerDigitizationCfg(flags)
Definition: TileDigitizationConfig.py:33
TileRawChannelMakerConfig.TileRawChannelMakerDigiHSTruthCfg
def TileRawChannelMakerDigiHSTruthCfg(flags, **kwargs)
Definition: TileRawChannelMakerConfig.py:96
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:312
Constants
some useful constants -------------------------------------------------—
TileDigitsMakerConfig.TileDigitsMakerOutputCfg
def TileDigitsMakerOutputCfg(flags, **kwargs)
Definition: TileDigitsMakerConfig.py:115
TileDigitizationConfig.TileDigitizationCfg
def TileDigitizationCfg(flags)
Definition: TileDigitizationConfig.py:50
Trk::open
@ open
Definition: BinningType.h:40
TileHitToTTL1Config.TileHitToTTL1OutputCfg
def TileHitToTTL1OutputCfg(flags, **kwargs)
Definition: TileHitToTTL1Config.py:115
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
TileRawChannelMakerConfig.TileRawChannelMakerDigiHSTruthOutputCfg
def TileRawChannelMakerDigiHSTruthOutputCfg(flags, streamName='ESD', **kwargs)
Definition: TileRawChannelMakerConfig.py:152
TileRawChannelMakerConfig.TileRawChannelMakerCfg
def TileRawChannelMakerCfg(flags, **kwargs)
Definition: TileRawChannelMakerConfig.py:10
python.xAODEventInfoCnvConfig.EventInfoCnvAlgCfg
def EventInfoCnvAlgCfg(flags, name="EventInfoCnvAlg", inputKey="McEventInfo", outputKey="EventInfo", disableBeamSpot=False, **kwargs)
Definition: xAODEventInfoCnvConfig.py:11
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:71