3 from AthenaConfiguration.ComponentFactory
import CompFactory
4 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5 from TileConfiguration.TileConfigFlags
import TileRunType
10 kwargs[
'InitializeForWriting'] = InitializeForWriting
11 tool = TileContByteStreamTool(**kwargs)
13 if InitializeForWriting:
14 from TileByteStream.TileHid2RESrcIDConfig
import TileHid2RESrcIDCondAlg
18 stream.ExtraInputs |= {(
'TileHid2RESrcID',
'ConditionStore+TileHid2RESrcIDHLT')}
23 from TileByteStream.TileByteStreamConf
import TileRawChannelContByteStreamTool
27 from TileByteStream.TileByteStreamConf
import TileL2ContByteStreamTool
37 TileContByteStreamTool = CompFactory.getComp(name)
38 tool = TileContByteStreamTool(name, **kwargs)
39 tool.InitializeForWriting = InitializeForWriting
40 acc.addPublicTool(tool)
43 if InitializeForWriting:
44 from TileByteStream.TileHid2RESrcIDConfig
import TileHid2RESrcIDCondAlgCfg
47 extraOutputs = [(
'TileHid2RESrcID',
'ConditionStore+TileHid2RESrcIDHLT')]
49 return acc, extraOutputs
53 name="TileDigitsContByteStreamTool",
54 InitializeForWriting=False,
59 name="TileRawChannelContByteStreamTool",
60 InitializeForWriting=False,
65 name="TileMuRcvContByteStreamTool",
66 InitializeForWriting=False,
71 name="TileL2ContByteStreamTool",
72 InitializeForWriting=False,
77 name="TileLaserObjByteStreamTool",
78 InitializeForWriting=False,
83 decoder = CompFactory.TileROD_Decoder(TileBadChanTool=
"", TileCondToolEmscale=
"")
84 TileRawDataReadingAlg = CompFactory.TileRawDataReadingAlg
88 readMuRcv=None, readMuRcvDigits=False, readMuRcvRawCh=False,
89 readBeamElem=None, readLaserObj=None, readDigitsFlx=False,
90 readL2=False, stateless=False, **kwargs):
92 Configure reading the Tile BS files
95 read[...] -- flag to read the corresponding Tile data from BS.
96 Possible values: None (default), True, False.
97 In the case of None it will be autoconfigured.
98 stateless -- read online Tile data using emon BS service.
101 isPhysicsRun = flags.Tile.RunType
is TileRunType.PHY
102 isLaserRun = flags.Tile.RunType
in [TileRunType.LAS, TileRunType.BILAS]
103 isCalibRun =
not isPhysicsRun
106 readMuRcv = isPhysicsRun
if readMuRcv
is None else readMuRcv
107 readBeamElem = isCalibRun
if readBeamElem
is None else readBeamElem
108 readLaserObj = isLaserRun
if readLaserObj
is None else readLaserObj
110 typeNames = kwargs.pop(
'type_names', [])
112 prefix = flags.Overlay.BkgPrefix
if flags.Overlay.ByteStream
else ''
115 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
119 from ByteStreamEmonSvc.EmonByteStreamConfig
import EmonByteStreamCfg
122 from ByteStreamCnvSvc.ByteStreamConfig
import ByteStreamReadCfg
125 from TileByteStream.TileHid2RESrcIDConfig
import TileHid2RESrcIDCondAlgCfg
129 addTileReadAlg(cfg,
'TileDigitsReadAlg', TileDigitsContainer=f
'{prefix}TileDigitsCnt')
131 addTileReadAlg(cfg,
'TileRawChannelReadAlg', TileRawChannelContainer=f
'{prefix}TileRawChannelCnt')
133 addTileReadAlg(cfg,
'TileMuRcvReadAlg', TileMuonReceiverContainer=
'TileMuRcvCnt')
135 addTileReadAlg(cfg,
'MuRcvDigitsReadAlg', MuRcvDigitsContainer=f
'{prefix}MuRcvDigitsCnt')
137 addTileReadAlg(cfg,
'TileMuRcvRawChReadAlg', MuRcvRawChannelContainer=
'MuRcvRawChCnt')
139 addTileReadAlg(cfg,
'TileLaserObjReadAlg', TileLaserObject=
'TileLaserObj')
141 addTileReadAlg(cfg,
'TileBeamElemReadAlg', TileBeamElemContainer=
'TileBeamElemCnt')
143 addTileReadAlg(cfg,
'TileDigitsFlxReadAlg', TileDigitsFlxContainer=
'TileDigitsFlxCnt')
150 if __name__ ==
"__main__":
152 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
153 from AthenaConfiguration.TestDefaults
import defaultGeometryTags, defaultTestFiles
154 from AthenaCommon.Logging
import log
161 flags.Input.Files = defaultTestFiles.RAW_RUN2
162 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
163 flags.Exec.MaxEvents = 3
168 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
173 cfg.printConfig(withDetails =
True, summariseProps =
True)
174 cfg.store(
open(
'TileRawChannelReadAlg.pkl',
'wb') )
180 sys.exit(
not sc.isSuccess())