Skip to content

Commit d0b2ffe

Browse files
authored
Merge branch 'master' into add_FT0_gain_eq
2 parents 4e6b503 + 938450e commit d0b2ffe

File tree

626 files changed

+79607
-28578
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

626 files changed

+79607
-28578
lines changed

.github/workflows/mega-linter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949

5050
# Upload MegaLinter artifacts
5151
- name: Archive production artifacts
52-
uses: actions/upload-artifact@v5
52+
uses: actions/upload-artifact@v6
5353
if: success() || failure()
5454
with:
5555
name: MegaLinter reports

.github/workflows/o2-linter.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Find issues in O2 code
33
name: O2 linter
44

5-
"on": [pull_request_target, push]
5+
#"on": [pull_request_target, push]
66
permissions: {}
77
env:
88
BRANCH_MAIN: master
@@ -47,6 +47,8 @@ jobs:
4747
fi
4848
echo "linter_ran=1" >> "$GITHUB_OUTPUT"
4949
[[ "${{ github.event_name }}" == "pull_request_target" ]] && options="-g"
50+
# Checkout the script from the base branch to prevent execution of arbitrary code in the head branch.
51+
git checkout ${{ env.BRANCH_BASE }} -- Scripts/o2_linter.py
5052
# shellcheck disable=SC2086 # Ignore unquoted options.
5153
python3 Scripts/o2_linter.py $options "${files[@]}"
5254
echo "Tip: If you allow actions in your fork repository, O2 linter will run when you push commits."

ALICE3/Core/ALICE3CoreLinkDef.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@
1414
#pragma link off all functions;
1515

1616
#pragma link C++ class o2::pid::tof::TOFResoALICE3 + ;
17+
#pragma link C++ class std::vector < std::vector < unsigned int>> + ;
18+
#pragma link C++ class std::vector < std::vector < std::uint32_t>> + ;

ALICE3/Core/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,15 @@ o2physics_add_library(ALICE3Core
1313
SOURCES TOFResoALICE3.cxx
1414
TrackUtilities.cxx
1515
DelphesO2TrackSmearer.cxx
16+
GeometryContainer.cxx
1617
PUBLIC_LINK_LIBRARIES O2::Framework
1718
O2Physics::AnalysisCore)
1819

1920
o2physics_target_root_dictionary(ALICE3Core
2021
HEADERS TOFResoALICE3.h
2122
TrackUtilities.h
2223
DelphesO2TrackSmearer.h
24+
GeometryContainer.h
2325
LINKDEF ALICE3CoreLinkDef.h)
2426

2527
o2physics_add_library(FastTracker

ALICE3/Core/DelphesO2TrackSmearer.cxx

Lines changed: 8 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636

3737
#include "ALICE3/Core/DelphesO2TrackSmearer.h"
3838

39+
#include "ALICE3/Core/GeometryContainer.h"
40+
3941
#include <CommonConstants/PhysicsConstants.h>
4042
#include <Framework/Logger.h>
4143

@@ -61,50 +63,21 @@ bool TrackSmearer::loadTable(int pdg, const char* filename, bool forceReload)
6163
LOG(info) << " --- LUT table for PDG " << pdg << " has been already loaded with index " << ipdg << std::endl;
6264
return false;
6365
}
64-
if (strncmp(filename, "ccdb:", 5) == 0) { // Check if filename starts with "ccdb:"
65-
LOG(info) << " --- LUT file source identified as CCDB.";
66-
std::string path = std::string(filename).substr(5); // Remove "ccdb:" prefix
67-
const std::string outPath = "/tmp/LUTs/";
68-
filename = Form("%s/%s/snapshot.root", outPath.c_str(), path.c_str());
69-
LOG(info) << " --- Local LUT filename will be: " << filename;
70-
std::ifstream checkFile(filename); // Check if file already exists
71-
if (!checkFile.is_open()) { // File does not exist, retrieve from CCDB
72-
LOG(info) << " --- CCDB source detected for PDG " << pdg << ": " << path;
73-
if (!mCcdbManager) {
74-
LOG(fatal) << " --- CCDB manager not set. Please set it before loading LUT from CCDB.";
75-
}
76-
std::map<std::string, std::string> metadata;
77-
mCcdbManager->getCCDBAccessor().retrieveBlob(path, outPath, metadata, 1);
78-
// Add CCDB handling logic here if needed
79-
LOG(info) << " --- Now retrieving LUT file from CCDB to: " << filename;
80-
if (mCleanupDownloadedFile) { // Clean up the downloaded file if needed
81-
bool status = loadTable(pdg, filename, forceReload);
82-
if (std::remove(filename) != 0) {
83-
LOG(warn) << " --- Could not remove temporary LUT file: " << filename;
84-
} else {
85-
LOG(info) << " --- Removed temporary LUT file: " << filename;
86-
}
87-
return status;
88-
}
89-
} else { // File exists, proceed to load
90-
LOG(info) << " --- LUT file already exists: " << filename << ". Skipping download.";
91-
checkFile.close();
92-
}
93-
return loadTable(pdg, filename, forceReload);
94-
}
9566

67+
const std::string localFilename = o2::fastsim::GeometryEntry::accessFile(filename, "./.ALICE3/LUTs/", mCcdbManager, 10);
9668
mLUTHeader[ipdg] = new lutHeader_t;
9769

98-
std::ifstream lutFile(filename, std::ifstream::binary);
70+
std::ifstream lutFile(localFilename, std::ifstream::binary);
9971
if (!lutFile.is_open()) {
100-
LOG(info) << " --- cannot open covariance matrix file for PDG " << pdg << ": " << filename << std::endl;
72+
LOG(info) << " --- cannot open covariance matrix file for PDG " << pdg << ": " << localFilename << std::endl;
10173
delete mLUTHeader[ipdg];
10274
mLUTHeader[ipdg] = nullptr;
10375
return false;
10476
}
10577
lutFile.read(reinterpret_cast<char*>(mLUTHeader[ipdg]), sizeof(lutHeader_t));
10678
if (lutFile.gcount() != sizeof(lutHeader_t)) {
10779
LOG(info) << " --- troubles reading covariance matrix header for PDG " << pdg << ": " << filename << std::endl;
80+
LOG(info) << " --- expected/detected " << sizeof(lutHeader_t) << "/" << lutFile.gcount() << std::endl;
10881
delete mLUTHeader[ipdg];
10982
mLUTHeader[ipdg] = nullptr;
11083
return false;
@@ -147,7 +120,8 @@ bool TrackSmearer::loadTable(int pdg, const char* filename, bool forceReload)
147120
mLUTEntry[ipdg][inch][irad][ieta][ipt] = new lutEntry_t;
148121
lutFile.read(reinterpret_cast<char*>(mLUTEntry[ipdg][inch][irad][ieta][ipt]), sizeof(lutEntry_t));
149122
if (lutFile.gcount() != sizeof(lutEntry_t)) {
150-
LOG(info) << " --- troubles reading covariance matrix entry for PDG " << pdg << ": " << filename << std::endl;
123+
LOG(info) << " --- troubles reading covariance matrix entry for PDG " << pdg << ": " << localFilename << std::endl;
124+
LOG(info) << " --- expected/detected " << sizeof(lutHeader_t) << "/" << lutFile.gcount() << std::endl;
151125
return false;
152126
}
153127
}

ALICE3/Core/DelphesO2TrackSmearer.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include <fstream>
3434
#include <iostream>
3535
#include <map>
36+
#include <string>
3637

3738
///////////////////////////////
3839
/// DelphesO2/src/lutCovm.hh //
@@ -250,7 +251,6 @@ class TrackSmearer
250251
}
251252
void setdNdEta(float val) { mdNdEta = val; } //;
252253
void setCcdbManager(o2::ccdb::BasicCCDBManager* mgr) { mCcdbManager = mgr; } //;
253-
void setCleanupDownloadedFile(bool val) { mCleanupDownloadedFile = val; } //;
254254

255255
protected:
256256
static constexpr unsigned int nLUTs = 9; // Number of LUT available
@@ -264,7 +264,6 @@ class TrackSmearer
264264

265265
private:
266266
o2::ccdb::BasicCCDBManager* mCcdbManager = nullptr;
267-
bool mCleanupDownloadedFile = true;
268267
};
269268

270269
} // namespace delphes

0 commit comments

Comments
 (0)