3from AthenaConfiguration.ComponentFactory
import CompFactory
4from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5from 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
36 acc = ComponentAccumulator()
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
45 acc.merge( TileHid2RESrcIDCondAlgCfg(flags, ForHLT=
True) )
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 ''
114 cfg = ComponentAccumulator()
115 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
116 cfg.merge(TileCablingSvcCfg(flags))
119 from ByteStreamEmonSvc.EmonByteStreamConfig
import EmonByteStreamCfg
120 cfg.merge( EmonByteStreamCfg(flags, type_names=typeNames) )
122 from ByteStreamCnvSvc.ByteStreamConfig
import ByteStreamReadCfg
123 cfg.merge( ByteStreamReadCfg(flags, type_names=typeNames) )
125 from TileByteStream.TileHid2RESrcIDConfig
import TileHid2RESrcIDCondAlgCfg
126 cfg.merge( TileHid2RESrcIDCondAlgCfg(flags, ROD2ROBmap=[
'-1']) )
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')
150if __name__ ==
"__main__":
152 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
153 from AthenaConfiguration.TestDefaults
import defaultGeometryTags, defaultTestFiles
154 from AthenaCommon.Logging
import log
160 flags = initConfigFlags()
161 flags.Input.Files = defaultTestFiles.RAW_RUN2
162 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
163 flags.Exec.MaxEvents = 3
168 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
169 cfg = MainServicesCfg(flags)
173 cfg.printConfig(withDetails =
True, summariseProps =
True)
174 cfg.store( open(
'TileRawChannelReadAlg.pkl',
'wb') )
180 sys.exit(
not sc.isSuccess())
Condition algorithm to prepare TileHid2RESrcID conditions object and put it into conditions store.
Class for Tile raw data reading from BS.
_createTileContByteStreamToolCfg(flags, name, InitializeForWriting=False, **kwargs)
TileLaserObjByteStreamToolCfg(flags, name="TileLaserObjByteStreamTool", InitializeForWriting=False, **kwargs)
addTileReadAlg(cfg, name, **kwargs)
TileL2ContByteStreamToolCfg(flags, name="TileL2ContByteStreamTool", InitializeForWriting=False, **kwargs)
TileRawDataReadingCfg(flags, readDigits=True, readRawChannel=True, readMuRcv=None, readMuRcvDigits=False, readMuRcvRawCh=False, readBeamElem=None, readLaserObj=None, readDigitsFlx=False, readL2=False, stateless=False, **kwargs)
TileRawChannelContByteStreamToolConfig(name='TileRawChannelContByteStreamTool', InitializeForWriting=False, stream=None, **kwargs)
TileDigitsContByteStreamToolCfg(flags, name="TileDigitsContByteStreamTool", InitializeForWriting=False, **kwargs)
TileL2ContByteStreamToolConfig(name='TileL2ContByteStreamTool', InitializeForWriting=False, stream=None, **kwargs)
TileMuRcvContByteStreamToolCfg(flags, name="TileMuRcvContByteStreamTool", InitializeForWriting=False, **kwargs)
_createTileContByteStreamToolsConfig(name, TileContByteStreamTool, InitializeForWriting=False, stream=None, **kwargs)
TileRawChannelContByteStreamToolCfg(flags, name="TileRawChannelContByteStreamTool", InitializeForWriting=False, **kwargs)