From c173449aedcefb0c212e75f1aa349ef794e43bb3 Mon Sep 17 00:00:00 2001 From: jesgum Date: Fri, 17 Apr 2026 14:08:23 +0200 Subject: [PATCH 1/2] fix backwards compability --- ALICE3/Core/FlatTrackSmearer.cxx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/ALICE3/Core/FlatTrackSmearer.cxx b/ALICE3/Core/FlatTrackSmearer.cxx index 0718825fb33..2afb822e040 100644 --- a/ALICE3/Core/FlatTrackSmearer.cxx +++ b/ALICE3/Core/FlatTrackSmearer.cxx @@ -93,22 +93,23 @@ bool TrackSmearer::loadTable(int pdg, const char* filename, bool forceReload) return false; } - std::ifstream lutFile(filename, std::ifstream::binary); - if (!lutFile.is_open()) { - throw framework::runtime_error_f("Cannot open LUT file: %s", filename); - } - LOGF(info, "Loading %s LUT file: '%s'", getParticleName(pdg), filename); const std::string localFilename = o2::fastsim::GeometryEntry::accessFile(filename, "./.ALICE3/LUTs/", mCcdbManager, 10); + std::ifstream lutFile(localFilename, std::ifstream::binary); + if (!lutFile.is_open()) { + throw framework::runtime_error_f("Cannot open LUT file: %s", localFilename); + } + try { - auto header = FlatLutData::PreviewHeader(lutFile, localFilename.c_str()); - // Validate header + mLUTData[ipdg] = FlatLutData::loadFromFile(lutFile, localFilename.c_str()); + + // // Validate header + auto header = mLUTData[ipdg].getHeader(); if (header.pdg != pdg && !checkSpecialCase(pdg, header)) { LOGF(error, "LUT header PDG mismatch: expected %d, got %d; not loading", pdg, header.pdg); return false; } - mLUTData[ipdg] = FlatLutData::loadFromFile(lutFile, localFilename.c_str()); } catch (framework::RuntimeErrorRef ref) { LOGF(error, "%s", framework::error_from_ref(ref).what); return false; From 2ffaaecfcd0f7141ffaa74473690a2e5e71f8112 Mon Sep 17 00:00:00 2001 From: jesgum Date: Fri, 17 Apr 2026 14:12:10 +0200 Subject: [PATCH 2/2] nicer comment --- ALICE3/Core/FlatTrackSmearer.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ALICE3/Core/FlatTrackSmearer.cxx b/ALICE3/Core/FlatTrackSmearer.cxx index 2afb822e040..e5fb162cc28 100644 --- a/ALICE3/Core/FlatTrackSmearer.cxx +++ b/ALICE3/Core/FlatTrackSmearer.cxx @@ -104,7 +104,7 @@ bool TrackSmearer::loadTable(int pdg, const char* filename, bool forceReload) try { mLUTData[ipdg] = FlatLutData::loadFromFile(lutFile, localFilename.c_str()); - // // Validate header + // Validate header auto header = mLUTData[ipdg].getHeader(); if (header.pdg != pdg && !checkSpecialCase(pdg, header)) { LOGF(error, "LUT header PDG mismatch: expected %d, got %d; not loading", pdg, header.pdg);