3 """Define method to construct configured Tile DQ status tool and algorithm"""
5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory
import CompFactory
7 from AthenaConfiguration.Enums
import Format
8 from TileConfiguration.TileConfigFlags
import TileRunType
11 """Return component accumulator with configured private Tile DQ status tool
14 flags -- Athena configuration flags
15 SimulateTrips - flag to simulate drawer trips. Defaults to False.
20 kwargs.setdefault(
'SimulateTrips',
False)
22 from TileConditions.TileBadChannelsConfig
import TileBadChannelsCondAlgCfg
25 TileDQstatusTool=CompFactory.TileDQstatusTool
32 """Return component accumulator with configured Tile DQ status algorithm
35 flags -- Athena configuration flags
36 TileDQstatus - name of Tile DQ status produced
37 TileDigitsContainer - name of Tile digits container, provided it will be used,
38 otherwise it will be determined automatically depending on flags.
39 TileRawChannelContainer - name of Tile raw channel container, provided it will be used,
40 otherwise it will be determined automatically depending on flags.
41 TileBeamElemContainer - name of Tile beam elements container, provided it will be used,
42 otherwise it will be determined automatically depending on flags.
47 kwargs.setdefault(
'TileDQstatus',
'TileDQstatus')
49 name = kwargs[
'TileDQstatus'] +
'Alg'
50 kwargs.setdefault(
'name', name)
52 if not (flags.Input.isMC
or flags.Overlay.DataOverlay
or flags.Input.Format
is Format.POOL):
53 if flags.Tile.RunType
in [TileRunType.PHY, TileRunType.GAPLAS, TileRunType.GAPCIS]:
54 beamElemContainer =
""
56 beamElemContainer =
'TileBeamElemCnt'
58 if flags.Tile.readDigits:
59 digitsContainer =
'TileDigitsCnt'
63 rawChannelContainer =
'TileRawChannelCnt'
65 elif flags.Common.isOverlay
and flags.Overlay.DataOverlay:
66 beamElemContainer =
''
67 digitsContainer = flags.Overlay.BkgPrefix +
'TileDigitsCnt'
68 rawChannelContainer = flags.Overlay.BkgPrefix +
'TileRawChannelCnt'
71 beamElemContainer =
""
73 rawChannelContainer =
""
75 kwargs.setdefault(
'TileBeamElemContainer', beamElemContainer)
76 kwargs.setdefault(
'TileDigitsContainer', digitsContainer)
77 kwargs.setdefault(
'TileRawChannelContainer', rawChannelContainer)
79 if 'TileDQstatusTool' not in kwargs:
81 kwargs[
'TileDQstatusTool'] = tileDQstatusTool
83 TileDQstatusAlg=CompFactory.TileDQstatusAlg
90 if __name__ ==
"__main__":
92 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
93 from AthenaConfiguration.TestDefaults
import defaultConditionsTags, defaultGeometryTags, defaultTestFiles
94 from AthenaCommon.Logging
import log
101 flags.Input.Files = defaultTestFiles.RAW_RUN2
102 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
103 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN2_DATA
104 flags.Tile.RunType = TileRunType.PHY
107 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
110 from TileByteStream.TileByteStreamConfig
import TileRawDataReadingCfg
116 acc.printConfig(withDetails =
True, summariseProps =
True)
117 acc.store(
open(
'TileDQstatus.pkl',
'wb') )
119 sc = acc.run(maxEvents = 3)
123 sys.exit(
not sc.isSuccess())