65 readL2=False, stateless=False, **kwargs):
66 """
67 Configure reading the Tile BS files
68
69 Arguments:
70 read[...] -- flag to read the corresponding Tile data from BS.
71 Possible values: None (default), True, False.
72 In the case of None it will be autoconfigured.
73 stateless -- read online Tile data using emon BS service.
74 """
75
76 isPhysicsRun = flags.Tile.RunType is TileRunType.PHY
77 isLaserRun = flags.Tile.RunType in [TileRunType.LAS, TileRunType.BILAS]
78 isCalibRun = not isPhysicsRun
79
80
81 readMuRcv = isPhysicsRun if readMuRcv is None else readMuRcv
82 readBeamElem = isCalibRun if readBeamElem is None else readBeamElem
83 readLaserObj = isLaserRun if readLaserObj is None else readLaserObj
84
85 typeNames = kwargs.pop('type_names', [])
86
87 prefix = flags.Overlay.BkgPrefix if flags.Common.ProductionStep is ProductionStep.MinbiasPreprocessing else ''
88
89 cfg = ComponentAccumulator()
90 from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
91 cfg.merge(TileCablingSvcCfg(flags))
92
93 if stateless:
94 from ByteStreamEmonSvc.EmonByteStreamConfig import EmonByteStreamCfg
95 cfg.merge( EmonByteStreamCfg(flags, type_names=typeNames) )
96 else:
97 from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg
98 cfg.merge( ByteStreamReadCfg(flags, type_names=typeNames) )
99
100 from TileByteStream.TileHid2RESrcIDConfig import TileHid2RESrcIDCondAlgCfg
101 cfg.merge( TileHid2RESrcIDCondAlgCfg(flags, ROD2ROBmap=['-1']) )
102
103 if readDigits:
104 addTileReadAlg(cfg, 'TileDigitsReadAlg', TileDigitsContainer=f'{prefix}TileDigitsCnt')
105 if readRawChannel:
106 addTileReadAlg(cfg, 'TileRawChannelReadAlg', TileRawChannelContainer=f'{prefix}TileRawChannelCnt')
107 if readMuRcv:
108 addTileReadAlg(cfg, 'TileMuRcvReadAlg', TileMuonReceiverContainer='TileMuRcvCnt')
109 if readMuRcvDigits:
110 addTileReadAlg(cfg, 'MuRcvDigitsReadAlg', MuRcvDigitsContainer=f'{prefix}MuRcvDigitsCnt')
111 if readMuRcvRawCh:
112 addTileReadAlg(cfg, 'TileMuRcvRawChReadAlg', MuRcvRawChannelContainer='MuRcvRawChCnt')
113 if readLaserObj:
114 addTileReadAlg(cfg, 'TileLaserObjReadAlg', TileLaserObject='TileLaserObj')
115 if readBeamElem:
116 addTileReadAlg(cfg, 'TileBeamElemReadAlg', TileBeamElemContainer='TileBeamElemCnt')
117 if readDigitsFlx:
118 addTileReadAlg(cfg, 'TileDigitsFlxReadAlg', TileDigitsFlxContainer='TileDigitsFlxCnt')
119 if readL2:
120 addTileReadAlg(cfg, 'TileL2ReadAlg', TileL2Container='TileL2Cnt')
121
122 return cfg
123
124