12 """Return component accumulator with configured private Tile Cell builder tool
15 flags -- Athena configuration flags
16 SkipGain - skip given gain. Defaults to -1 [use all gains]. Possible values: 0 [LG], 1 [HG].
17 mergeChannels -- merge DSP results with offline reco results. Defaults to True.
20 acc = ComponentAccumulator()
21 kwargs.setdefault(
'CheckDCS', flags.Tile.useDCS)
23 kwargs.setdefault(
'TileRawChannelContainer',
"TileRawChannelCnt_DigiHSTruth")
25 kwargs.setdefault(
'TileRawChannelContainer', flags.Tile.RawChannelContainer)
26 kwargs.setdefault(
'SkipGain', -1)
28 testBeam = flags.Beam.Type
is BeamType.TestBeam
30 kwargs.setdefault(
'MBTSContainer',
'MBTSContainer2_DigiHSTruth' if not testBeam
and flags.GeoModel.Run
in [LHCPeriod.Run1, LHCPeriod.Run2, LHCPeriod.Run3]
else "")
31 kwargs.setdefault(
'E4prContainer',
'E4prContainer2_DigiHSTruth' if not testBeam
and flags.GeoModel.Run
is LHCPeriod.Run2
else "")
33 kwargs.setdefault(
'MBTSContainer',
'MBTSContainer' if not testBeam
and flags.GeoModel.Run
in [LHCPeriod.Run1, LHCPeriod.Run2, LHCPeriod.Run3]
else "")
34 kwargs.setdefault(
'E4prContainer',
'E4prContainer' if not testBeam
and flags.GeoModel.Run
is LHCPeriod.Run2
else "")
36 kwargs[
'mergeChannels'] = mergeChannels
37 if flags.Common.ProductionStep
in [ProductionStep.PileUpPretracking, ProductionStep.MinbiasPreprocessing]:
38 kwargs.setdefault(
'EventInfo', flags.Overlay.BkgPrefix +
"EventInfo")
40 if kwargs[
'SkipGain']
not in [-1, 0, 1]:
41 raise(Exception(
"Invalid Tile gain requsted to be skipped: %s" % kwargs[
'SkipGain']))
43 from TileRecUtils.TileDQstatusConfig
import TileDQstatusAlgCfg
44 acc.merge( TileDQstatusAlgCfg(flags) )
47 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
48 acc.merge(LArGMCfg(flags))
50 from TileGeoModel.TileGMConfig
import TileGMCfg
51 acc.merge(TileGMCfg(flags))
53 from TileConditions.TileInfoLoaderConfig
import TileInfoLoaderCfg
54 acc.merge( TileInfoLoaderCfg(flags) )
56 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
57 acc.merge(TileCablingSvcCfg(flags))
59 from TileConditions.TileBadChannelsConfig
import TileBadChannelsCondAlgCfg
60 acc.merge( TileBadChannelsCondAlgCfg(flags) )
62 from TileConditions.TileEMScaleConfig
import TileEMScaleCondAlgCfg
63 acc.merge( TileEMScaleCondAlgCfg(flags) )
65 if 'TileCondToolTiming' not in kwargs:
66 from TileConditions.TileTimingConfig
import TileCondToolTimingCfg
67 kwargs[
'TileCondToolTiming'] = acc.popToolsAndMerge( TileCondToolTimingCfg(flags) )
69 if kwargs[
'CheckDCS']:
70 from TileConditions.TileDCSConfig
import TileDCSCondAlgCfg
71 acc.merge( TileDCSCondAlgCfg(flags) )
73 if not (flags.Input.isMC
or flags.Overlay.DataOverlay)
and mergeChannels
and 'TileDSPRawChannelContainer' not in kwargs:
74 from TileRecUtils.TileRawChannelCorrectionConfig
import TileRawChannelCorrectionAlgCfg
75 corrAlgAcc = TileRawChannelCorrectionAlgCfg(flags)
76 tileRawChannelCorrectionAlg = corrAlgAcc.getPrimary()
77 tileRawChannelContainerDSP = tileRawChannelCorrectionAlg.OutputRawChannelContainer
78 kwargs[
'TileDSPRawChannelContainer'] = tileRawChannelContainerDSP
79 acc.merge( corrAlgAcc )
81 TileCellBuilder=CompFactory.TileCellBuilder
90 from AthenaConfiguration.TestDefaults
import defaultGeometryTags, defaultTestFiles