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 TruthD3PDMaker.TruthParticleD3PDObject import TruthParticleD3PDObject
35 alg += TruthParticleD3PDObject(1)
36
37 if saveHitsInfo:
38 from CaloSysD3PDMaker.TileHitInfoD3PDObject import TileHitInfoD3PDObject
39 alg += TileHitInfoD3PDObject(0, sgkey='TileHitVec', prefix='Tile_')
40
41 if saveHits:
42 from CaloSysD3PDMaker.TileHitD3PDObject import TileHitD3PDObject
43 alg += TileHitD3PDObject(0, prefix='TileHit_')
44
45 if saveDigits:
46 from CaloSysD3PDMaker.TileDigitD3PDObject import TileDigitD3PDObject
47 alg += TileDigitD3PDObject(1, prefix='tiledigit_', sgkey='TileDigitsCnt')
48
49 if saveChannels:
50 from CaloSysD3PDMaker.TileRawChannelD3PDObject import TileRawChannelD3PDObject
51 alg += TileRawChannelD3PDObject(2, prefix='tileraw_', sgkey='TileRawChannelOpt2')
52
53 if saveCellsInfo:
54 from CaloSysD3PDMaker.CaloInfoD3PDObject import CaloInfoD3PDObject
55 alg += CaloInfoD3PDObject(0, sgkey='AllCalo', prefix='calo_')
56
57 if saveCells:
58 from CaloSysD3PDMaker.TileDetailsD3PDObject import TileDetailsD3PDObject
59 alg += TileDetailsD3PDObject(1, sgkey='AllCalo', prefix='tile_', Kinematics_WriteEtaPhi=True)
60
61 if saveMBTS:
62 from CaloD3PDMaker.MBTSD3PDObject import MBTSD3PDObject
63 alg += MBTSD3PDObject(1, prefix='mbts_', sgkey='MBTSContainer')
64
65 acc.addEventAlgo(alg.alg)
66
67 acc.setAppProperty('HistogramPersistency', 'ROOT')
68
69 return acc
70
71