90 readL2=False, stateless=False, **kwargs):
91 """
92 Configure reading the Tile BS files
93
94 Arguments:
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.
99 """
100
101 isPhysicsRun = flags.Tile.RunType is TileRunType.PHY
102 isLaserRun = flags.Tile.RunType in [TileRunType.LAS, TileRunType.BILAS]
103 isCalibRun = not isPhysicsRun
104
105
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
109
110 typeNames = kwargs.pop('type_names', [])
111
112 prefix = flags.Overlay.BkgPrefix if flags.Overlay.ByteStream else ''
113
114 cfg = ComponentAccumulator()
115 from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
116 cfg.merge(TileCablingSvcCfg(flags))
117
118 if stateless:
119 from ByteStreamEmonSvc.EmonByteStreamConfig import EmonByteStreamCfg
120 cfg.merge( EmonByteStreamCfg(flags, type_names=typeNames) )
121 else:
122 from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg
123 cfg.merge( ByteStreamReadCfg(flags, type_names=typeNames) )
124
125 from TileByteStream.TileHid2RESrcIDConfig import TileHid2RESrcIDCondAlgCfg
126 cfg.merge( TileHid2RESrcIDCondAlgCfg(flags, ROD2ROBmap=['-1']) )
127
128 if readDigits:
129 addTileReadAlg(cfg, 'TileDigitsReadAlg', TileDigitsContainer=f'{prefix}TileDigitsCnt')
130 if readRawChannel:
131 addTileReadAlg(cfg, 'TileRawChannelReadAlg', TileRawChannelContainer=f'{prefix}TileRawChannelCnt')
132 if readMuRcv:
133 addTileReadAlg(cfg, 'TileMuRcvReadAlg', TileMuonReceiverContainer='TileMuRcvCnt')
134 if readMuRcvDigits:
135 addTileReadAlg(cfg, 'MuRcvDigitsReadAlg', MuRcvDigitsContainer=f'{prefix}MuRcvDigitsCnt')
136 if readMuRcvRawCh:
137 addTileReadAlg(cfg, 'TileMuRcvRawChReadAlg', MuRcvRawChannelContainer='MuRcvRawChCnt')
138 if readLaserObj:
139 addTileReadAlg(cfg, 'TileLaserObjReadAlg', TileLaserObject='TileLaserObj')
140 if readBeamElem:
141 addTileReadAlg(cfg, 'TileBeamElemReadAlg', TileBeamElemContainer='TileBeamElemCnt')
142 if readDigitsFlx:
143 addTileReadAlg(cfg, 'TileDigitsFlxReadAlg', TileDigitsFlxContainer='TileDigitsFlxCnt')
144 if readL2:
145 addTileReadAlg(cfg, 'TileL2ReadAlg', TileL2Container='TileL2Cnt')
146
147 return cfg
148
149