14 saveChannels=None, saveCellsInfo=None, saveCells=None, saveMBTS=None):
15 ''' Function to configure Tile D3PD for simulaiton.'''
16
17 acc = ComponentAccumulator()
18
19 from TileGeoModel.TileGMConfig import TileGMCfg
20 acc.merge(TileGMCfg(flags))
21
22 from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
23 acc.merge( TileCablingSvcCfg(flags) )
24
25 from xAODTruthCnv.xAODTruthCnvConfig import GEN_EVNT2xAODCfg
26 acc.merge(GEN_EVNT2xAODCfg(flags, name='GEN_EVNT2xAOD', AODContainerName='TruthEvent'))
27
28 if not outputFile:
29 outputFile = f'tiletb_{flags.Input.RunNumbers[0]}.d3pd.root'
30
31 from D3PDMakerCoreComps.MakerAlgConfig import MakerAlgConfig
32 alg = MakerAlgConfig(flags, acc, 'truth', outputFile, ExistDataHeader=False)
33
34 from EventCommonD3PDMaker.EventInfoD3PDObject import EventInfoD3PDObject
35 alg += EventInfoD3PDObject(1)
36
37 from TruthD3PDMaker.TruthParticleD3PDObject import TruthParticleD3PDObject
38 alg += TruthParticleD3PDObject(1)
39
40 if saveHitsInfo:
41 from CaloSysD3PDMaker.TileHitInfoD3PDObject import TileHitInfoD3PDObject
42 alg += TileHitInfoD3PDObject(0, sgkey='TileHitVec', prefix='Tile_')
43
44 if saveHits:
45 from CaloSysD3PDMaker.TileHitD3PDObject import TileHitD3PDObject
46 alg += TileHitD3PDObject(0, prefix='TileHit_')
47
48 if saveDigits:
49 from CaloSysD3PDMaker.TileDigitD3PDObject import TileDigitD3PDObject
50 alg += TileDigitD3PDObject(1, prefix='tiledigit_', sgkey='TileDigitsCnt')
51
52 if saveChannels:
53 from CaloSysD3PDMaker.TileRawChannelD3PDObject import TileRawChannelD3PDObject
54 alg += TileRawChannelD3PDObject(2, prefix='tileraw_', sgkey='TileRawChannelOpt2')
55
56 if saveCellsInfo:
57 from CaloSysD3PDMaker.CaloInfoD3PDObject import CaloInfoD3PDObject
58 alg += CaloInfoD3PDObject(0, sgkey='AllCalo', prefix='calo_')
59
60 if saveCells:
61 from CaloSysD3PDMaker.TileDetailsD3PDObject import TileDetailsD3PDObject
62 alg += TileDetailsD3PDObject(1, sgkey='AllCalo', prefix='tile_', Kinematics_WriteEtaPhi=True)
63
64 if saveMBTS:
65 from CaloD3PDMaker.MBTSD3PDObject import MBTSD3PDObject
66 alg += MBTSD3PDObject(1, prefix='mbts_', sgkey='MBTSContainer')
67
68 acc.addEventAlgo(alg.alg)
69
70 acc.setAppProperty('HistogramPersistency', 'ROOT')
71
72 return acc
73
74