Skip to content

Commit da54e19

Browse files
authored
Merge branch 'master' into rashi
2 parents 6b1d442 + a980e15 commit da54e19

File tree

411 files changed

+31541
-17160
lines changed

Some content is hidden

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

411 files changed

+31541
-17160
lines changed

.clang-tidy

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
CheckOptions:
2-
- { key: CheckPathRegex, value: ".*/O2/.*" }
32
# Naming conventions
43
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
54
- { key: readability-identifier-naming.ClassMemberPrefix, value: m }
65
- { key: readability-identifier-naming.ConceptCase, value: CamelCase }
76
- { key: readability-identifier-naming.ConstexprVariableCase, value: CamelCase }
8-
- { key: readability-identifier-naming.ConstexprVariableIgnoredRegexp, value: "^k[A-Z].*$" } # Allow "k" prefix.
7+
- { key: readability-identifier-naming.ConstexprVariableIgnoredRegexp, value: "^k[A-Z][a-zA-Z0-9]*$" } # Allow "k" prefix.
98
- { key: readability-identifier-naming.EnumCase, value: CamelCase }
109
- { key: readability-identifier-naming.EnumConstantCase, value: CamelCase }
11-
- { key: readability-identifier-naming.EnumConstantIgnoredRegexp, value: "^k[A-Z].*$" } # Allow "k" prefix.
10+
- { key: readability-identifier-naming.EnumConstantIgnoredRegexp, value: "^k?[A-Z][a-zA-Z0-9_]*$" } # Allow "k" prefix and underscores.
1211
- { key: readability-identifier-naming.FunctionCase, value: camelBack }
1312
- { key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }
14-
- { key: readability-identifier-naming.MacroDefinitionIgnoredRegexp, value: "^[A-Z]+(_[A-Z]+)*_$" } # Allow the trailing underscore in header guards.
13+
- { key: readability-identifier-naming.MacroDefinitionIgnoredRegexp, value: "^[A-Z][A-Z0-9_]*_$" } # Allow the trailing underscore in header guards.
1514
- { key: readability-identifier-naming.MemberCase, value: camelBack }
1615
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
1716
- { key: readability-identifier-naming.ParameterCase, value: camelBack }

.mega-linter.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,6 @@ PYTHON_PYRIGHT_CONFIG_FILE: pyproject.toml
3939
PYTHON_RUFF_CONFIG_FILE: pyproject.toml
4040
CPP_CPPLINT_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"]
4141
CPP_CLANG_FORMAT_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"]
42+
CPP_CPPCHECK_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"]
4243
CPP_CPPCHECK_ARGUMENTS: --language=c++ --std=c++20 --check-level=exhaustive --suppressions-list=cppcheck_config
4344
REPOSITORY_GITLEAKS_PR_COMMITS_SCAN: true

ALICE3/Core/DelphesO2TrackSmearer.cxx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,18 @@ bool TrackSmearer::loadTable(int pdg, const char* filename, bool forceReload)
105105
mLUTHeader[ipdg] = nullptr;
106106
return false;
107107
}
108-
if (mLUTHeader[ipdg]->pdg != pdg) {
108+
bool specialPdgCase = false;
109+
switch (pdg) { // Handle special cases
110+
case o2::constants::physics::kAlpha: // Special case: Allow Alpha particles to use He3 LUT
111+
specialPdgCase = (mLUTHeader[ipdg]->pdg == o2::constants::physics::kHelium3);
112+
if (specialPdgCase)
113+
LOG(info)
114+
<< " --- Alpha particles (PDG " << pdg << ") will use He3 LUT data (PDG " << mLUTHeader[ipdg]->pdg << ")" << std::endl;
115+
break;
116+
default:
117+
break;
118+
}
119+
if (mLUTHeader[ipdg]->pdg != pdg && !specialPdgCase) {
109120
LOG(info) << " --- LUT header PDG mismatch: expected/detected = " << pdg << "/" << mLUTHeader[ipdg]->pdg << std::endl;
110121
delete mLUTHeader[ipdg];
111122
mLUTHeader[ipdg] = nullptr;

ALICE3/Core/DelphesO2TrackSmearer.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
#include <TRandom.h>
3131

32+
#include <cstdio>
3233
#include <fstream>
3334
#include <iostream>
3435
#include <map>
@@ -214,6 +215,8 @@ class TrackSmearer
214215
return 6; // Triton
215216
case 1000020030:
216217
return 7; // Helium3
218+
case 1000020040:
219+
return 8; // Alphas
217220
default:
218221
return 2; // Default: pion
219222
}
@@ -238,6 +241,8 @@ class TrackSmearer
238241
return "triton";
239242
case 1000020030:
240243
return "helium3";
244+
case 1000020040:
245+
return "alpha";
241246
default:
242247
return "pion"; // Default: pion
243248
}
@@ -246,7 +251,7 @@ class TrackSmearer
246251
void setCcdbManager(o2::ccdb::BasicCCDBManager* mgr) { mCcdbManager = mgr; } //;
247252

248253
protected:
249-
static constexpr unsigned int nLUTs = 8; // Number of LUT available
254+
static constexpr unsigned int nLUTs = 9; // Number of LUT available
250255
lutHeader_t* mLUTHeader[nLUTs] = {nullptr};
251256
lutEntry_t***** mLUTEntry[nLUTs] = {nullptr};
252257
bool mUseEfficiency = true;

ALICE3/DataModel/OTFPIDTrk.h

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
///
1313
/// \file OTFPIDTrk.h
14-
/// \author Berkin Ulukutlu TUM
1514
/// \author Henrik Fribert TUM
1615
/// \author Nicolò Jacazio Università del Piemonte Orientale
1716
/// \since May 22, 2025
@@ -29,23 +28,29 @@ namespace o2::aod
2928
namespace upgrade::trk
3029
{
3130

32-
DECLARE_SOA_COLUMN(TimeOverThresholdBarrel, timeOverThresholdBarrel, float); //! Time over threshold for the barrel layers
33-
DECLARE_SOA_COLUMN(ClusterSizeBarrel, clusterSizeBarrel, float); //! Cluster size for the barrel layers
31+
DECLARE_SOA_COLUMN(TimeOverThresholdBarrel, timeOverThresholdBarrel, float); //! Time over threshold for the Barrel layers
3432
DECLARE_SOA_COLUMN(TimeOverThresholdForward, timeOverThresholdForward, float); //! Time over threshold for the Forward layers
35-
DECLARE_SOA_COLUMN(ClusterSizeForward, clusterSizeForward, float); //! Cluster size for the barrel layers
3633

37-
DECLARE_SOA_COLUMN(NSigmaTrkEl, nSigmaEl, float); //! NSigma electron from the tracker layers
38-
DECLARE_SOA_COLUMN(NSigmaTrkMu, nSigmaMu, float); //! NSigma muon from the tracker layers
39-
DECLARE_SOA_COLUMN(NSigmaTrkPi, nSigmaPi, float); //! NSigma pion from the tracker layers
40-
DECLARE_SOA_COLUMN(NSigmaTrkKa, nSigmaKa, float); //! NSigma kaon from the tracker layers
41-
DECLARE_SOA_COLUMN(NSigmaTrkPr, nSigmaPr, float); //! NSigma proton from the tracker layers
34+
DECLARE_SOA_COLUMN(NSigmaTrkEl, nSigmaTrkEl, float); //! NSigma electron from the tracker layers
35+
DECLARE_SOA_COLUMN(NSigmaTrkMu, nSigmaTrkMu, float); //! NSigma muon from the tracker layers
36+
DECLARE_SOA_COLUMN(NSigmaTrkPi, nSigmaTrkPi, float); //! NSigma pion from the tracker layers
37+
DECLARE_SOA_COLUMN(NSigmaTrkKa, nSigmaTrkKa, float); //! NSigma kaon from the tracker layers
38+
DECLARE_SOA_COLUMN(NSigmaTrkPr, nSigmaTrkPr, float); //! NSigma proton from the tracker layers
39+
DECLARE_SOA_COLUMN(NSigmaTrkDe, nSigmaTrkDe, float); //! NSigma deuteron from the tracker layers
40+
DECLARE_SOA_COLUMN(NSigmaTrkTr, nSigmaTrkTr, float); //! NSigma triton from the tracker layers
41+
DECLARE_SOA_COLUMN(NSigmaTrkHe, nSigmaTrkHe, float); //! NSigma helium-3 from the tracker layers
42+
DECLARE_SOA_COLUMN(NSigmaTrkAl, nSigmaTrkAl, float); //! NSigma alpha from the tracker layers
4243

4344
DECLARE_SOA_DYNAMIC_COLUMN(NSigmaTrk, nSigmaTrk, //! General function to get the nSigma for the tracker layers
4445
[](const float el,
4546
const float mu,
4647
const float pi,
4748
const float ka,
4849
const float pr,
50+
const float de,
51+
const float tr,
52+
const float he,
53+
const float al,
4954
const int id) -> float {
5055
switch (std::abs(id)) {
5156
case 0:
@@ -58,29 +63,46 @@ DECLARE_SOA_DYNAMIC_COLUMN(NSigmaTrk, nSigmaTrk, //! General function to get the
5863
return ka;
5964
case 4:
6065
return pr;
66+
case 5:
67+
return de;
68+
case 6:
69+
return tr;
70+
case 7:
71+
return he;
72+
case 8:
73+
return al;
6174
default:
62-
LOG(fatal) << "Unrecognized PDG code for InnerTOF";
75+
LOG(fatal) << "Unrecognized PDG code";
6376
return 999.f;
6477
}
6578
});
6679

6780
} // namespace upgrade::trk
6881

6982
DECLARE_SOA_TABLE(UpgradeTrkPidSignals, "AOD", "UPGRADETRKSIG",
70-
upgrade::trk::TimeOverThresholdBarrel,
71-
upgrade::trk::ClusterSizeBarrel);
83+
o2::soa::Index<>,
84+
upgrade::trk::TimeOverThresholdBarrel);
7285

7386
DECLARE_SOA_TABLE(UpgradeTrkPids, "AOD", "UPGRADETRKPID",
87+
o2::soa::Index<>,
7488
upgrade::trk::NSigmaTrkEl,
7589
upgrade::trk::NSigmaTrkMu,
7690
upgrade::trk::NSigmaTrkPi,
7791
upgrade::trk::NSigmaTrkKa,
7892
upgrade::trk::NSigmaTrkPr,
93+
upgrade::trk::NSigmaTrkDe,
94+
upgrade::trk::NSigmaTrkTr,
95+
upgrade::trk::NSigmaTrkHe,
96+
upgrade::trk::NSigmaTrkAl,
7997
upgrade::trk::NSigmaTrk<upgrade::trk::NSigmaTrkEl,
8098
upgrade::trk::NSigmaTrkMu,
8199
upgrade::trk::NSigmaTrkPi,
82100
upgrade::trk::NSigmaTrkKa,
83-
upgrade::trk::NSigmaTrkPr>);
101+
upgrade::trk::NSigmaTrkPr,
102+
upgrade::trk::NSigmaTrkDe,
103+
upgrade::trk::NSigmaTrkTr,
104+
upgrade::trk::NSigmaTrkHe,
105+
upgrade::trk::NSigmaTrkAl>);
84106

85107
using UpgradeTrkPidSignal = UpgradeTrkPidSignals::iterator;
86108
using UpgradeTrkPid = UpgradeTrkPids::iterator;

ALICE3/DataModel/OTFRICH.h

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,20 @@ DECLARE_SOA_COLUMN(NSigmaMuonRich, nSigmaMuonRich, float); //! NSigma mu
3131
DECLARE_SOA_COLUMN(NSigmaPionRich, nSigmaPionRich, float); //! NSigma pion BarrelRich
3232
DECLARE_SOA_COLUMN(NSigmaKaonRich, nSigmaKaonRich, float); //! NSigma kaon BarrelRich
3333
DECLARE_SOA_COLUMN(NSigmaProtonRich, nSigmaProtonRich, float); //! NSigma proton BarrelRich
34+
DECLARE_SOA_COLUMN(NSigmaDeuteronRich, nSigmaDeuteronRich, float); //! NSigma deuteron BarrelRich
35+
DECLARE_SOA_COLUMN(NSigmaTritonRich, nSigmaTritonRich, float); //! NSigma triton BarrelRich
36+
DECLARE_SOA_COLUMN(NSigmaHelium3Rich, nSigmaHelium3Rich, float); //! NSigma helium3 BarrelRich
37+
DECLARE_SOA_COLUMN(NSigmaAlphaRich, nSigmaAlphaRich, float); //! NSigma alpha BarrelRich
3438
DECLARE_SOA_DYNAMIC_COLUMN(NSigmaRich, nSigmaRich, //! General function to get the nSigma for the RICH
3539
[](const float el,
3640
const float mu,
3741
const float pi,
3842
const float ka,
3943
const float pr,
44+
const float de,
45+
const float tr,
46+
const float he3,
47+
const float al,
4048
const int id) -> float {
4149
switch (std::abs(id)) {
4250
case 0:
@@ -49,6 +57,14 @@ DECLARE_SOA_DYNAMIC_COLUMN(NSigmaRich, nSigmaRich, //! General f
4957
return ka;
5058
case 4:
5159
return pr;
60+
case 5:
61+
return de;
62+
case 6:
63+
return tr;
64+
case 7:
65+
return he3;
66+
case 8:
67+
return al;
5268
default:
5369
LOG(fatal) << "Unrecognized PDG code for RICH";
5470
return 999.f;
@@ -62,6 +78,10 @@ DECLARE_SOA_COLUMN(HasSigMu, hasSigMu, bool); //! Has nSigma muon BarrelRi
6278
DECLARE_SOA_COLUMN(HasSigPi, hasSigPi, bool); //! Has nSigma pion BarrelRich (is pion over threshold)
6379
DECLARE_SOA_COLUMN(HasSigKa, hasSigKa, bool); //! Has nSigma kaon BarrelRich (is kaon over threshold)
6480
DECLARE_SOA_COLUMN(HasSigPr, hasSigPr, bool); //! Has nSigma proton BarrelRich (is proton over threshold)
81+
DECLARE_SOA_COLUMN(HasSigDe, hasSigDe, bool); //! Has nSigma deuteron BarrelRich (is deuteron over threshold)
82+
DECLARE_SOA_COLUMN(HasSigTr, hasSigTr, bool); //! Has nSigma triton BarrelRich (is triton over threshold)
83+
DECLARE_SOA_COLUMN(HasSigHe3, hasSigHe3, bool); //! Has nSigma helium3 BarrelRich (is helium3 over threshold)
84+
DECLARE_SOA_COLUMN(HasSigAl, hasSigAl, bool); //! Has nSigma alpha BarrelRich (is alpha over threshold)
6585

6686
} // namespace upgrade_rich
6787
DECLARE_SOA_TABLE(UpgradeRichs, "AOD", "UPGRADERICH",
@@ -70,11 +90,19 @@ DECLARE_SOA_TABLE(UpgradeRichs, "AOD", "UPGRADERICH",
7090
upgrade_rich::NSigmaPionRich,
7191
upgrade_rich::NSigmaKaonRich,
7292
upgrade_rich::NSigmaProtonRich,
93+
upgrade_rich::NSigmaDeuteronRich,
94+
upgrade_rich::NSigmaTritonRich,
95+
upgrade_rich::NSigmaHelium3Rich,
96+
upgrade_rich::NSigmaAlphaRich,
7397
upgrade_rich::NSigmaRich<upgrade_rich::NSigmaElectronRich,
7498
upgrade_rich::NSigmaMuonRich,
7599
upgrade_rich::NSigmaPionRich,
76100
upgrade_rich::NSigmaKaonRich,
77-
upgrade_rich::NSigmaProtonRich>);
101+
upgrade_rich::NSigmaProtonRich,
102+
upgrade_rich::NSigmaDeuteronRich,
103+
upgrade_rich::NSigmaTritonRich,
104+
upgrade_rich::NSigmaHelium3Rich,
105+
upgrade_rich::NSigmaAlphaRich>);
78106

79107
using UpgradeRich = UpgradeRichs::iterator;
80108

@@ -85,6 +113,10 @@ DECLARE_SOA_TABLE(UpgradeRichSignals, "AOD", "UPGRADERICHSIG",
85113
upgrade_rich::HasSigPi,
86114
upgrade_rich::HasSigKa,
87115
upgrade_rich::HasSigPr,
116+
upgrade_rich::HasSigDe,
117+
upgrade_rich::HasSigTr,
118+
upgrade_rich::HasSigHe3,
119+
upgrade_rich::HasSigAl,
88120
upgrade_rich::HasSigInGas);
89121

90122
using UpgradeRichSignal = UpgradeRichSignals::iterator;

0 commit comments

Comments
 (0)