diff --git a/ALICE3/Core/DelphesO2TrackSmearer.cxx b/ALICE3/Core/DelphesO2TrackSmearer.cxx index 8a4bd08770a..25914a8e9c2 100644 --- a/ALICE3/Core/DelphesO2TrackSmearer.cxx +++ b/ALICE3/Core/DelphesO2TrackSmearer.cxx @@ -64,8 +64,7 @@ bool TrackSmearer::loadTable(int pdg, const char* filename, bool forceReload) if (strncmp(filename, "ccdb:", 5) == 0) { // Check if filename starts with "ccdb:" LOG(info) << " --- LUT file source identified as CCDB."; std::string path = std::string(filename).substr(5); // Remove "ccdb:" prefix - const std::string outPath = "/tmp/LUTs/"; - filename = Form("%s/%s/snapshot.root", outPath.c_str(), path.c_str()); + filename = Form("%s/%s/snapshot.root", mOutPath.c_str(), path.c_str()); LOG(info) << " --- Local LUT filename will be: " << filename; std::ifstream checkFile(filename); // Check if file already exists if (!checkFile.is_open()) { // File does not exist, retrieve from CCDB @@ -74,7 +73,7 @@ bool TrackSmearer::loadTable(int pdg, const char* filename, bool forceReload) LOG(fatal) << " --- CCDB manager not set. Please set it before loading LUT from CCDB."; } std::map metadata; - mCcdbManager->getCCDBAccessor().retrieveBlob(path, outPath, metadata, 1); + mCcdbManager->getCCDBAccessor().retrieveBlob(path, mOutPath, metadata, 1); // Add CCDB handling logic here if needed LOG(info) << " --- Now retrieving LUT file from CCDB to: " << filename; if (mCleanupDownloadedFile) { // Clean up the downloaded file if needed diff --git a/ALICE3/Core/DelphesO2TrackSmearer.h b/ALICE3/Core/DelphesO2TrackSmearer.h index f6e916e32a4..e334b0c38cd 100644 --- a/ALICE3/Core/DelphesO2TrackSmearer.h +++ b/ALICE3/Core/DelphesO2TrackSmearer.h @@ -33,6 +33,7 @@ #include #include #include +#include /////////////////////////////// /// DelphesO2/src/lutCovm.hh // @@ -248,9 +249,10 @@ class TrackSmearer return "pion"; // Default: pion } } - void setdNdEta(float val) { mdNdEta = val; } //; - void setCcdbManager(o2::ccdb::BasicCCDBManager* mgr) { mCcdbManager = mgr; } //; - void setCleanupDownloadedFile(bool val) { mCleanupDownloadedFile = val; } //; + void setdNdEta(float val) { mdNdEta = val; } //; + void setCcdbManager(o2::ccdb::BasicCCDBManager* mgr) { mCcdbManager = mgr; } //; + void setCleanupDownloadedFile(bool val) { mCleanupDownloadedFile = val; } //; + void setDownloadPath(const std::string& path) { mOutPath = "/tmp/LUTs/" + path; } //; protected: static constexpr unsigned int nLUTs = 9; // Number of LUT available @@ -265,6 +267,7 @@ class TrackSmearer private: o2::ccdb::BasicCCDBManager* mCcdbManager = nullptr; bool mCleanupDownloadedFile = true; + std::string mOutPath = "/tmp/LUTs/"; }; } // namespace delphes diff --git a/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx b/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx index 5cca89353f5..bfc0f497811 100644 --- a/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx +++ b/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx @@ -301,6 +301,7 @@ struct OnTheFlyRichPid { mSmearer.emplace_back(std::make_unique()); mSmearer[icfg]->setCleanupDownloadedFile(cleanLutWhenLoaded.value); mSmearer[icfg]->setCcdbManager(ccdb.operator->()); + mSmearer[icfg]->setDownloadPath("RICHPID"); std::map globalConfiguration = mGeoContainer.getConfiguration(icfg, "global"); for (const auto& entry : globalConfiguration) { int pdg = 0; diff --git a/ALICE3/TableProducer/OTF/onTheFlyTofPid.cxx b/ALICE3/TableProducer/OTF/onTheFlyTofPid.cxx index fb6025944e8..4343865d839 100644 --- a/ALICE3/TableProducer/OTF/onTheFlyTofPid.cxx +++ b/ALICE3/TableProducer/OTF/onTheFlyTofPid.cxx @@ -160,6 +160,7 @@ struct OnTheFlyTofPid { mSmearer.emplace_back(std::make_unique()); mSmearer[icfg]->setCleanupDownloadedFile(cleanLutWhenLoaded.value); mSmearer[icfg]->setCcdbManager(ccdb.operator->()); + mSmearer[icfg]->setDownloadPath("TOFPID"); std::map globalConfiguration = mGeoContainer.getConfiguration(icfg, "global"); for (const auto& entry : globalConfiguration) { int pdg = 0; diff --git a/ALICE3/TableProducer/OTF/onTheFlyTracker.cxx b/ALICE3/TableProducer/OTF/onTheFlyTracker.cxx index b6a5206861f..e0c921f18f6 100644 --- a/ALICE3/TableProducer/OTF/onTheFlyTracker.cxx +++ b/ALICE3/TableProducer/OTF/onTheFlyTracker.cxx @@ -320,6 +320,7 @@ struct OnTheFlyTracker { mSmearer.emplace_back(std::make_unique()); mSmearer[icfg]->setCleanupDownloadedFile(cleanLutWhenLoaded.value); mSmearer[icfg]->setCcdbManager(ccdb.operator->()); + mSmearer[icfg]->setDownloadPath("Tracker"); std::map globalConfiguration = mGeoContainer.getConfiguration(icfg, "global"); if (enablePrimarySmearing) { // load LUTs for primaries