Skip to content

Remove ByteStreamAddressL1R and clean up BS configuration from RoIBResult

This is a continuation of !22200 (merged). I now finally remove the ByteStreamAddressL1R class which is obsolete after the previous MR was merged. In addition, it is no longer required (and even no longer correct) to ask ByteStreamAddressProviderSvc to create an address for RoIBResult at every event. The current workflow should be:

  • RoIBResultByteStreamDecoderAlg is scheduled (already true in standard trigger and reco jobs)
  • in every event, the alg takes the configured L1 result ROBs from ROBDataProviderSvc, creates RoIBResult object from them and records it in StoreGate via a WriteHandle
  • no Gaudi Converter is involved in this, so no need for a proxy with BS address of the persistent object

This MR fixes the following warning seen e.g. in q431:

07:08:41 StoreGateSvc_Impl                                 WARNING record_impl: you are recording an object with key RoIBResult, type ROIB::RoIBResult (CLID 6000)
07:08:41  There is already a persistent version of this object. Recording a duplicate may lead to unreproducible results and it is deprecated.

In this MR, I remove the RoIBResult from the list of BS addresses to create by ByteStreamAddressProviderSvc in all job options fragments I could find in the repository. I'm fairly sure in most of them this was just a copy-paste from RecExCommon or TriggerJobOpts. What I do not do in this MR is to make sure the RoIBResultByteStreamDecoderAlg is scheduled in all jobs you can imagine. It is done if you use the standard trigger configuration JO fragments, which you should probably anyway do if you are reading the L1 result. If there is any job I should test except the standard trigger tests and q-tests, please let me know.

Edited by Rafal Bielski

Merge request reports