Add RoIBResult BS decoder alg and restructure the corresponding tool
-
Added
RoIBResultByteStreamDecoderAlg
which should replace the Converter call to decode RoIBResult from BS. -
Restructured
RoIBResultByteStreamTool
:- added new, non-template decoding
convert
method to be used by the new alg - the old template
convert
method only transforms the arguments and calls the new method - conversion from RoIBResult to ByteStream (BS encoding) is left untouched
- removed RoIBResultByteStreamTool.icc as the new non-template method is implemented in .cxx
- the new method does identical job as the old one, but is rearranged for better readability and maintainability
- added new, non-template decoding
-
Made the list of ROB IDs for decoding configurable in RoIBResultByteStreamTool properties. This makes the corresponding properties of
ByteStreamAddressProviderSvc
obsolete.ByteStreamAddressL1R
is also obsolete as the ROBFragments can be retrieved using ROBDataProviderSvc. However, both are still used in the legacy workflow. Another MR will come in the future to remove the obsolete code and use only the properties ofRoIBResultByteStreamTool
to define the list of ROBs. -
Added two lines in
testHLT_MT.py
to make use of the new algorithm (instead of SGInputLoader indirectly calling the Converter) for RoIBResult decoding.
Tested by running test_l1decoder.sh
with and without these changes and comparing the outputs - no difference observed.