9def TileRawChannelBuilderCfg(flags, name, TileRawChannelBuilder, **kwargs):
10 """Return component accumulator with configured private base Tile raw channel builder tool
11
12 Arguments:
13 flags -- Athena configuration flags
14 name -- name of Tile raw channel builder
15 TileRawChannelbuilder -- concrete Tile raw channel builder tool.
16 """
17
18 acc = ComponentAccumulator()
19
20 runType = flags.Tile.RunType
21
22 createContainer = ( kwargs.get('TileRawChannelContainer', "") != "" )
23
24 if createContainer:
25 from TileRecUtils.TileDQstatusConfig import TileDQstatusAlgCfg
26 acc.merge( TileDQstatusAlgCfg(flags) )
27 else:
28 kwargs['TileDQstatus'] = ""
29
30 from TileConditions.TileInfoLoaderConfig import TileInfoLoaderCfg
31 acc.merge( TileInfoLoaderCfg(flags) )
32
33 from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
34 acc.merge( TileCablingSvcCfg(flags) )
35
36 kwargs['RunType'] = runType.getIntValue()
37 kwargs['calibrateEnergy'] = False
38
39 kwargs.setdefault('AmpMinForAmpCorrection', flags.Tile.AmpMinForAmpCorrection)
40 kwargs.setdefault('TimeMinForAmpCorrection', flags.Tile.TimeMinForAmpCorrection)
41 kwargs.setdefault('TimeMaxForAmpCorrection', flags.Tile.TimeMaxForAmpCorrection)
42
43 tileRawChannelContainerDSP = ""
44 if createContainer:
45 if 'NoiseFilterTools' not in kwargs:
46 from TileRecUtils.TileRawChannelCorrectionConfig import TileRawChannelCorrectionToolsCfg
47 correctionTools = acc.popToolsAndMerge( TileRawChannelCorrectionToolsCfg(flags) )
48 kwargs['NoiseFilterTools'] = correctionTools
49
50 if not (flags.Input.isMC or flags.Overlay.DataOverlay) and len(kwargs['NoiseFilterTools']) > 0:
51 tileRawChannelContainerDSP = 'TileRawChannelCntCorrected'
52 from TileRecUtils.TileRawChannelCorrectionConfig import TileRawChannelCorrectionAlgCfg
53 acc.merge( TileRawChannelCorrectionAlgCfg(flags) )
54
55 kwargs.setdefault('DSPContainer', tileRawChannelContainerDSP)
56
58
59 return acc
60
61