Skip to content

TrigByteStreamCnvSvc: Change inheritance and implement explicit EventContext passing

Rafal Bielski requested to merge rbielski/athena:trig-bscnvsvc-base into master

Two changes to TrigByteStreamCnvSvc:

  1. Derive from the base class ByteStreamCnvSvcBase instead of the offline specific implementation ByteStreamCnvSvc
  2. Implement explicit EventContext passing to all methods which need it. Make the context-less interface methods retrieve the EventContext and call the context-aware local methods.

The inheritance should've been from the base class since the beginning, but there was a blocker issue where EventInfo BS converter required that the BS conversion service in the job is an instance of ByteStreamCnvSvc only to retrieve some flags from it. These flags aren't actually used at all by ByteStreamCnvSvc, it serves only as a configuration proxy. I hope there's plan to remove this solution, but for now I simply moved these flags to ByteStreamCnvSvcBase and updated the casting in EventInfoByteStreamAuxCnv. The flags are: IsSimulation, IsTestbeam, IsCalibration. There was also an extra flag GetDetectorMask which wasn't used anywhere so it is simply removed.

cc @tsulaia, @ssnyder , @berghaus, @gemmeren, @mnowak

For RC: Please do not squash. There are two commits: one moving the flags, the other implementing the Trigger-specific changes.

Merge request reports