3 """Define method to construct configured Tile Cell builder tool"""
5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory
import CompFactory
7 from AthenaConfiguration.Enums
import LHCPeriod
8 from TileConfiguration.TileConfigFlags
import TileRunType
9 from AthenaConfiguration.Enums
import ProductionStep
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.
21 kwargs.setdefault(
'CheckDCS', flags.Tile.useDCS)
22 kwargs.setdefault(
'TileRawChannelContainer', flags.Tile.RawChannelContainer)
23 kwargs.setdefault(
'SkipGain', -1)
25 kwargs.setdefault(
'MBTSContainer',
'MBTSContainer' if flags.GeoModel.Run
in [LHCPeriod.Run1, LHCPeriod.Run2, LHCPeriod.Run3]
else "")
26 kwargs.setdefault(
'E4prContainer',
'E4prContainer' if flags.GeoModel.Run
is LHCPeriod.Run2
else "")
28 kwargs[
'mergeChannels'] = mergeChannels
29 if flags.Common.ProductionStep
is ProductionStep.PileUpPretracking:
30 kwargs.setdefault(
'EventInfo', flags.Overlay.BkgPrefix +
"EventInfo")
32 if kwargs[
'SkipGain']
not in [-1, 0, 1]:
33 raise(Exception(
"Invalid Tile gain requsted to be skipped: %s" % kwargs[
'SkipGain']))
35 from TileRecUtils.TileDQstatusConfig
import TileDQstatusAlgCfg
38 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
41 from TileGeoModel.TileGMConfig
import TileGMCfg
44 from TileConditions.TileInfoLoaderConfig
import TileInfoLoaderCfg
47 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
50 from TileConditions.TileBadChannelsConfig
import TileBadChannelsCondAlgCfg
53 from TileConditions.TileEMScaleConfig
import TileEMScaleCondAlgCfg
56 if 'TileCondToolTiming' not in kwargs:
57 from TileConditions.TileTimingConfig
import TileCondToolTimingCfg
60 if kwargs[
'CheckDCS']:
61 from TileConditions.TileDCSConfig
import TileDCSCondAlgCfg
64 if not (flags.Input.isMC
or flags.Overlay.DataOverlay)
and mergeChannels
and 'TileDSPRawChannelContainer' not in kwargs:
65 from TileRecUtils.TileRawChannelCorrectionConfig
import TileRawChannelCorrectionAlgCfg
67 tileRawChannelCorrectionAlg = corrAlgAcc.getPrimary()
68 tileRawChannelContainerDSP = tileRawChannelCorrectionAlg.OutputRawChannelContainer
69 kwargs[
'TileDSPRawChannelContainer'] = tileRawChannelContainerDSP
70 acc.merge( corrAlgAcc )
72 TileCellBuilder=CompFactory.TileCellBuilder
78 if __name__ ==
"__main__":
80 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
81 from AthenaConfiguration.TestDefaults
import defaultGeometryTags, defaultTestFiles
82 from AthenaCommon.Logging
import log
89 flags.Input.Files = defaultTestFiles.RAW_RUN2
90 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
91 flags.Tile.RunType = TileRunType.PHY
100 acc.printConfig(withDetails =
True, summariseProps =
True)
101 acc.store(
open(
'TileCellBuilder.pkl',
'wb') )