9def TileRawChannelBuilderMFCfg(flags, **kwargs):
10 """Return component accumulator with configured private Tile MF raw channel builder tool
11
12 Arguments:
13 flags -- Athena configuration flags
14 """
15
16 name = kwargs.pop('name', 'TileRawChannelBuilderMF')
17 kwargs.setdefault('TileRawChannelContainer', 'TileRawChannelMF')
18
19 acc = ComponentAccumulator()
20
21 if 'TileCondToolOfcOnFly' not in kwargs:
22 from TileConditions.TileOFCConfig import TileCondToolOfcCfg
23 ofcTool = acc.popToolsAndMerge( TileCondToolOfcCfg(flags) )
24 kwargs['TileCondToolOfcOnFly'] = ofcTool
25
26 if flags.Tile.OfcFromCOOL and 'TileCondToolOfc' not in kwargs:
27 from TileConditions.TileOFCConfig import TileCondToolOfcCoolCfg
28 ofcCoolTool = acc.popToolsAndMerge( TileCondToolOfcCoolCfg(flags, OfcType = 'OF2') )
29 kwargs['TileCondToolOfc'] = ofcCoolTool
30
31 if 'TileCondToolNoiseSample' not in kwargs:
32 from TileConditions.TileSampleNoiseConfig import TileCondToolNoiseSampleCfg
33 sampleNoiseTool = acc.popToolsAndMerge( TileCondToolNoiseSampleCfg(flags) )
34 kwargs['TileCondToolNoiseSample'] = sampleNoiseTool
35
36 if flags.Tile.BestPhaseFromCOOL:
37 kwargs['correctTime'] = False
38 else:
39 kwargs.setdefault('correctTime', flags.Tile.correctTime)
40
41 kwargs.setdefault('BestPhase', flags.Tile.BestPhaseFromCOOL)
42 kwargs.setdefault('MaxIterations', 5)
43 kwargs.setdefault('AmplitudeCorrection', False)
44 kwargs.setdefault('TimeFromCOF', False)
45
46 if flags.Tile.correctTime and 'TileCondToolTiming' not in kwargs:
47 from TileConditions.TileTimingConfig import TileCondToolTimingCfg
48 timingTool = acc.popToolsAndMerge( TileCondToolTimingCfg(flags) )
49 kwargs['TileCondToolTiming'] = timingTool
50
51 TileRawChannelBuilderMF=CompFactory.TileRawChannelBuilderMF
52 from TileRecUtils.TileRawChannelBuilderConfig import TileRawChannelBuilderCfg
53 rawChanBuilder = acc.popToolsAndMerge( TileRawChannelBuilderCfg(flags, name, TileRawChannelBuilderMF, **kwargs) )
54 acc.setPrivateTools(rawChanBuilder)
55
56 return acc
57
58