24def TileD3PDCfg(flags, outputFile=None, saveCells=True, saveMBTS=True,
25 saveE4pr=False, saveClusters=False, saveMuId=False,
26 saveMuonFit=False, savePosition=True, saveEventInfo=False,
28 ''' Function to configure Tile D3PD.'''
30 acc = ComponentAccumulator()
32 from TileGeoModel.TileGMConfig
import TileGMCfg
33 acc.merge(TileGMCfg(flags))
35 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
36 acc.merge(LArGMCfg(flags))
38 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
39 acc.merge( TileCablingSvcCfg(flags) )
41 from TileConditions.TileBadChannelsConfig
import TileBadChannelsCondAlgCfg
42 acc.merge( TileBadChannelsCondAlgCfg(flags) )
45 runNumber = flags.Input.RunNumbers[0]
46 outputFile = f
'tile_{runNumber}.aan.root'
48 from D3PDMakerCoreComps.MakerAlgConfig
import MakerAlgConfig
49 alg = MakerAlgConfig(flags, acc,
'caloD3PD', outputFile, ExistDataHeader=
False)
52 excludeEventInfoBlocks = [
'eventMu']
if flags.Input.Format
is Format.BS
else []
53 from EventCommonD3PDMaker.EventInfoD3PDObject
import EventInfoD3PDObject
54 alg += EventInfoD3PDObject(**
_args(0,
'EventInfo', kwargs), exclude=excludeEventInfoBlocks)
56 from CaloSysD3PDMaker.TileDetailsD3PDObject
import TileDetailsD3PDObject
57 from CaloSysD3PDMaker.CaloInfoD3PDObject
import CaloInfoD3PDObject
58 from CaloD3PDMaker.MBTSD3PDObject
import MBTSD3PDObject
60 isBiGainRun = flags.Tile.RunType.isBiGain()
64 alg += TileDetailsD3PDObject(**
_args(1,
'TileDetails', kwargs, sgkey=
'AllCaloHG',
65 prefix=
'tile_', Kinematics_WriteEtaPhi=
True,
66 TileDetails_SavePositionInfo=savePosition))
68 alg += CaloInfoD3PDObject(**
_args(0,
'CaloInfo', kwargs, sgkey=
'AllCaloHG', prefix=
'calo_'))
71 alg += MBTSD3PDObject(**
_args(1,
'MBTS', kwargs, prefix=
'mbts_', sgkey=
'MBTSContainerHG'))
72 alg += MBTSD3PDObject(**
_args(1,
'MBTS', kwargs, prefix=
'mbtsLG_', sgkey=
'MBTSContainerLG'))
75 alg += MBTSD3PDObject(**
_args(1,
'MBTS', kwargs, prefix=
'e4pr_',
76 sgkey=
'E4prContainerHG', MBTS_SaveEtaPhiInfo=
False))
78 alg += MBTSD3PDObject(**
_args(1,
'MBTS', kwargs, prefix=
'e4prLG_',
79 sgkey=
'E4prContainerLG', MBTS_SaveEtaPhiInfo=
False))
82 alg += TileDetailsD3PDObject(**
_args(1,
'TileDetails', kwargs, sgkey=
'AllCalo',
83 prefix=
'tile_', Kinematics_WriteEtaPhi=
True,
84 TileDetails_SavePositionInfo=savePosition))
86 alg += CaloInfoD3PDObject(**
_args(0,
'CaloInfo', kwargs, sgkey=
'AllCalo', prefix=
'calo_'))
89 alg += MBTSD3PDObject(**
_args(1,
'MBTS', kwargs, prefix=
'mbts_', sgkey=
'MBTSContainer'))
92 alg += MBTSD3PDObject(**
_args(1,
'MBTS', kwargs, prefix=
'e4pr_',
93 sgkey=
'E4prContainer', MBTS_SaveEtaPhiInfo=
False))
96 from CaloD3PDMaker.xAODClusterD3PDObject
import xAODClusterD3PDObject
97 alg += xAODClusterD3PDObject(**
_args(3,
'topo_cl', kwargs, sgkey=
'TileTopoCluster', prefix=
'topo_'))
100 from CaloSysD3PDMaker.TileMuD3PDObject
import TileMuD3PDObject
101 alg += TileMuD3PDObject(**
_args(0,
'TileMus', kwargs, sgkey=
'TileMuObj', prefix=
'tilemuid_'))
104 from CaloSysD3PDMaker.TileCosmicMuonD3PDObject
import TileCosmicMuonD3PDObject
105 alg += TileCosmicMuonD3PDObject(**
_args(2,
'TileCosMusHT', kwargs, sgkey=
'TileCosmicMuonHT', prefix=
'TileCosmicsHT_'))
107 acc.addEventAlgo(alg.alg)
TileD3PDCfg(flags, outputFile=None, saveCells=True, saveMBTS=True, saveE4pr=False, saveClusters=False, saveMuId=False, saveMuonFit=False, savePosition=True, saveEventInfo=False, **kwargs)