ATLAS Offline Software
TileSimOutputConfig.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 #
4 
5 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6 
7 
8 def TileSimOutputCfg(flags, ntupleOutput=None, d3pdOutput=None):
9  ''' Function to configure Tile ntuples and D3PD for simulaiton.'''
10 
11  acc = ComponentAccumulator()
12 
13  if ntupleOutput is None:
14  ntupleOutput='tiletb.ntup.root'
15  if d3pdOutput is None:
16  d3pdOutput='tiletb.d3pd.root'
17 
18  if ntupleOutput:
19  from TileRec.TileHitVecToNtupleConfig import TileHitVecToNtupleCfg
20  acc.merge(TileHitVecToNtupleCfg(flags, outputFile=ntupleOutput))
21 
22  if d3pdOutput:
23  from TileSimEx.TileSimD3PDConfig import TileSimD3PDCfg
24  acc.merge(TileSimD3PDCfg(flags, outputFile=d3pdOutput))
25 
26  return acc
27 
28 
29 if __name__ == '__main__':
30 
31  # Set the Athena configuration flags
32  from AthenaConfiguration.AllConfigFlags import initConfigFlags
33  flags = initConfigFlags()
34 
35  # Setup logs
36  from AthenaCommon.Logging import log
37  from AthenaCommon.Constants import INFO
38  log.setLevel(INFO)
39 
40  from AthenaConfiguration.TestDefaults import defaultTestFiles
41  flags.Input.Files = defaultTestFiles.HITS_RUN3
42  flags.Exec.MaxEvents = 3
43  flags.fillFromArgs()
44 
45  log.info('FINAL CONFIG FLAGS SETTINGS FOLLOW')
46  flags.dump()
47 
48  flags.lock()
49 
50  # Initialize configuration object, add accumulator, merge, and run.
51  from AthenaConfiguration.MainServicesConfig import MainServicesCfg
52  cfg = MainServicesCfg(flags)
53 
54  from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
55  cfg.merge(PoolReadCfg(flags))
56 
57  cfg.merge(TileSimOutputCfg(flags))
58 
59  cfg.printConfig(withDetails=True, summariseProps=True)
60 
61  cfg.store( open('TileSimOutputConfig.pkl', 'wb') )
62 
63  sc = cfg.run()
64 
65  import sys
66  # Success should be 0
67  sys.exit(0 if sc.isSuccess() else 1)
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
TileSimD3PDConfig.TileSimD3PDCfg
def TileSimD3PDCfg(flags, outputFile=None, saveHitsInfo=True, saveHits=True, saveDigits=None, saveChannels=None, saveCellsInfo=None, saveCells=None, saveMBTS=None)
Definition: TileSimD3PDConfig.py:13
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:310
Constants
some useful constants -------------------------------------------------—
TileHitVecToNtupleConfig.TileHitVecToNtupleCfg
def TileHitVecToNtupleCfg(flags, outputFile=None, **kwargs)
Definition: TileHitVecToNtupleConfig.py:15
TileSimOutputConfig.TileSimOutputCfg
def TileSimOutputCfg(flags, ntupleOutput=None, d3pdOutput=None)
Definition: TileSimOutputConfig.py:8
Trk::open
@ open
Definition: BinningType.h:40
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.PoolReadConfig.PoolReadCfg
def PoolReadCfg(flags)
Definition: PoolReadConfig.py:71