Skip to content

Commit 4c4d522

Browse files
author
Henrik Fribert
committed
Fix: Missing alpha propagation
1 parent 0ecbf20 commit 4c4d522

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

ALICE3/Core/DelphesO2TrackSmearer.cxx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,15 @@ bool TrackSmearer::loadTable(int pdg, const char* filename, bool forceReload)
106106
return false;
107107
}
108108
if (mLUTHeader[ipdg]->pdg != pdg) {
109-
LOG(info) << " --- LUT header PDG mismatch: expected/detected = " << pdg << "/" << mLUTHeader[ipdg]->pdg << std::endl;
110-
delete mLUTHeader[ipdg];
111-
mLUTHeader[ipdg] = nullptr;
112-
return false;
109+
// Special case: Allow Alpha particles to use He3 LUT
110+
if (pdg == o2::constants::physics::kAlpha && mLUTHeader[ipdg]->pdg == o2::constants::physics::kHelium3) {
111+
LOG(info) << " --- Alpha particles (PDG " << pdg << ") will use He3 LUT data (PDG " << mLUTHeader[ipdg]->pdg << ")" << std::endl;
112+
} else {
113+
LOG(info) << " --- LUT header PDG mismatch: expected/detected = " << pdg << "/" << mLUTHeader[ipdg]->pdg << std::endl;
114+
delete mLUTHeader[ipdg];
115+
mLUTHeader[ipdg] = nullptr;
116+
return false;
117+
}
113118
}
114119
const int nnch = mLUTHeader[ipdg]->nchmap.nbins;
115120
const int nrad = mLUTHeader[ipdg]->radmap.nbins;

ALICE3/Core/DelphesO2TrackSmearer.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@ class TrackSmearer
214214
return 6; // Triton
215215
case 1000020030:
216216
return 7; // Helium3
217+
case 1000020040:
218+
return 8; // Alphas
217219
default:
218220
return 2; // Default: pion
219221
}
@@ -238,6 +240,8 @@ class TrackSmearer
238240
return "triton";
239241
case 1000020030:
240242
return "helium3";
243+
case 1000020040:
244+
return "alpha";
241245
default:
242246
return "pion"; // Default: pion
243247
}
@@ -246,7 +250,7 @@ class TrackSmearer
246250
void setCcdbManager(o2::ccdb::BasicCCDBManager* mgr) { mCcdbManager = mgr; } //;
247251

248252
protected:
249-
static constexpr unsigned int nLUTs = 8; // Number of LUT available
253+
static constexpr unsigned int nLUTs = 9; // Number of LUT available
250254
lutHeader_t* mLUTHeader[nLUTs] = {nullptr};
251255
lutEntry_t***** mLUTEntry[nLUTs] = {nullptr};
252256
bool mUseEfficiency = true;

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ struct OnTheFlyTracker {
266266
loadLUT(1000010020, lutDe.value);
267267
loadLUT(1000010030, lutTr.value);
268268
loadLUT(1000020030, lutHe3.value);
269+
loadLUT(1000020040, lutAl.value);
269270

270271
// interpolate efficiencies if requested to do so
271272
mSmearer.interpolateEfficiency(static_cast<bool>(interpolateLutEfficiencyVsNch));

0 commit comments

Comments
 (0)