Skip to content

Split decoding and processing in Run 2 and Run 3 ZDC reconstruction algorithms (& several fixes)

This MR primarily implements a structural split in the Run 2 (ZdcRecV3) and Run 3 (ZdcRecRun3) algorithms, to put the decoding step into ZdcRecV3Decode and ZdcRecRun3Decode, to provide an output that looks the same as our new MC chain (i.e. an RDO).

To enable this, we also had to move to full use of WriteDecorHandles in ZdcAnalysisTool (changes that will be propagated into other objects deriving from IZdcAnalysisTool).

The ZdcRecConfig.py script was updated accordingly and the workflow is tested for Run 2 calibration, Run 3 calibration, and full Run 2 reco (run_hip.py, from @stapiaar).

A few other changes were needed to get things working, e.g. ZdcRecChannelToolLucrod had to not try and parse the JSON file for RPD information when it was handling a ZDC module.

Finally, this MR fixes a few things broken in !64939 (merged), protecting RPD data analyzers from being called for Run 2 data.

Merge request reports