From 6a1fd08aa0822febd7122c02a2f637cddd0e53e5 Mon Sep 17 00:00:00 2001 From: Matthias Kleiner Date: Wed, 11 Nov 2026 23:35:17 +0100 Subject: [PATCH] TPC: read rule for the old ClusterNative::qTot Files written before #15523 store the charge as qTot and were read back with qTotPacked = 0. The rule is bound to the checksum of the old layout. Co-Authored-By: Claude Fable 5.2 --- DataFormats/Detectors/TPC/src/DataFormatsTPCLinkDef.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DataFormats/Detectors/TPC/src/DataFormatsTPCLinkDef.h b/DataFormats/Detectors/TPC/src/DataFormatsTPCLinkDef.h index fd5abca99cb0f..c48995bdfdf46 100644 --- a/DataFormats/Detectors/TPC/src/DataFormatsTPCLinkDef.h +++ b/DataFormats/Detectors/TPC/src/DataFormatsTPCLinkDef.h @@ -18,6 +18,10 @@ #pragma link C++ class o2::tpc::ClusterHardware + ; #pragma link C++ class o2::tpc::ClusterHardwareContainer + ; #pragma link C++ class o2::tpc::ClusterNative + ; +// ClusterNative::qTot was renamed to qTotPacked (saturated clusters encoded above maxRegularQtot): read the files written with the +// old name (plain charge), identified by the checksum of the old layout; charges above maxRegularQtot are clipped to it +#pragma read \ + sourceClass = "o2::tpc::ClusterNative" targetClass = "o2::tpc::ClusterNative" checksum = "[4114055202]" source = "UShort_t qTot" target = "qTotPacked" include = "DataFormatsTPC/ClusterNative.h" code = "{ qTotPacked = onfile.qTot > o2::tpc::ClusterNative::maxRegularQtot ? o2::tpc::ClusterNative::maxRegularQtot : onfile.qTot; }" #pragma link C++ class o2::tpc::ClusterHardwareContainer8kb + ; #pragma link C++ class o2::tpc::ClusterHardwareContainerFixedSize < 8192> + ; #pragma link C++ class o2::tpc::ClusterNativeContainer + ;