Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
07c33c0
Run 3 Magnetic Field Path and configurable added
nmallick19 Sep 5, 2026
2e0d1a5
Please consider the following formatting changes
alibuild Sep 5, 2026
d088b09
Merge pull request #7 from alibuild/alibot-cleanup-17782
nmallick19 Sep 5, 2026
61e6ed5
[PWGLF] Add percentile-based flattenicity classes and corrections (#1…
sprasadphy Sep 2, 2026
0329354
[Common] Change log level from info to debug for VDrift update (#17696)
romainschotter Sep 2, 2026
2479cd5
[PWGCF] Added NUA correction charge balance function (#17732)
yashpatley Sep 2, 2026
34bb6d9
[PWGLF] To fix the empty histograms (#17735)
navneetkumar231295 Sep 2, 2026
a4b3272
[ALICE3] Add smearing to shortlived particles in LUT process function…
jesgum Sep 2, 2026
16aef6b
[PWGLF] Fix histogram naming in h-d task (#17719)
njacazio Sep 2, 2026
ccb51f9
[PWGCF] Update lambda R2 correlation and added close pair check (#17716)
yashpatley Sep 2, 2026
fb0259a
[Common,Trigger,PWGEM] update fwdTrackUtilities.h for vertical shift …
dsekihat Sep 2, 2026
cd77a96
[PWGCF] Flowcontainer: memory fixes (#17727)
EmilGorm Sep 2, 2026
25d3ca7
[Trigger,PWGEM] update globalDimuonFilter for vertical shift of MFT (…
dsekihat Sep 3, 2026
18e0c40
[PWGHF] Change useUpcZdcTimeCut default to false (#17724)
zhangbiao-phy Sep 3, 2026
1b110ff
[Tools] Use `const&` and `std::move` to avoid copies (#17714)
vkucera Sep 3, 2026
ebf8058
[PWGLF] Add ctau information for Lambda polarization analysis (#17729)
ChiaraDeMartin95 Sep 3, 2026
2266880
[ALICE3] Remove derived data lists in ALICE3 dqEfficiency (#17733)
axti98 Sep 3, 2026
0def452
[ALICE3] Fix initialization of 3prong fitter in a3 multicharm finder …
jesgum Sep 3, 2026
3656000
[PWGJE] Add PCH to more Jet tasks (#16334)
ktf Sep 3, 2026
60b06f8
[PWGLF] Add new propagation method in forwardlambdakzeroanalysis (#17…
romainschotter Sep 3, 2026
b902387
[PWGEM] Unify QC + MaterialBudgetTasks (#17731)
Steffimro Sep 3, 2026
9f12235
[PWGEM] add new 2D Cfs and add mix leg similarity sparse (#17747)
Steffimro Sep 3, 2026
4811364
[PWGLF] Update TOF calculation for wrong PID hypothesis in strangenes…
romainschotter Sep 3, 2026
ff94e01
[PWGUD] fix zdc gapside selection (#17754)
miedema-11 Sep 3, 2026
e805d3b
[PWGUD] upcCandidateProducerQa: Fix suffix and includes (#17755)
vkucera Sep 3, 2026
79e7c3a
[ALICE3] Add short-lived particle table to otf tof pid (#17756)
jesgum Sep 3, 2026
5f9da25
[PWGLF] Add alt. rotational BG and fix correction factors calculation…
vbarbaso Sep 4, 2026
457b4f5
[PWGLF] Add occupancy column in hypertriton tables (#17746)
zhengqi-w Sep 4, 2026
0416811
[ALICE3] adjustment in the ACTS to O2 translator (#17751)
lhusova Sep 4, 2026
37c52b6
[PWGCF] book 2p correlation profile with eta gap (#17752)
pykuan Sep 4, 2026
116aa5a
[PWGLF] Compile CascadeMlResponse header (#17757)
vkucera Sep 4, 2026
371cd4b
[PWGCF] Check if a track is matched to the corresponding mcCollision …
SwatiSaha-1997 Sep 4, 2026
2c89fe0
[PWGHF] Add HypothesisMask and CandidateGlobalIndex columns in the Cd…
zhangbiao-phy Sep 4, 2026
7e83f92
[PWGLF] Updates on resonanceModuleInitializer (#17762)
mjkim525 Sep 4, 2026
134a30b
[PWGLF] Added switch to calculate the generated mc centrality (#17763)
bhattdurgesh921-sys Sep 4, 2026
e4849cd
[PWGLF] DoubleOmega task: Add further configurables (#17764)
fmazzasc Sep 4, 2026
94156c8
[PWGHF] correlatorD0Hadrons.cxx: Expand histograms for reflection cor…
swapneshkhade Sep 4, 2026
713a2e6
[PWGHF] add flag to store only soft-pi tracking info. (#17766)
mfaggin Sep 4, 2026
9f57248
[PWGLF] Add new event selections and parametric Armenteros cuts in fo…
romainschotter Sep 4, 2026
947a767
[Common] Only automatically set generator name if not provided in Mul…
romainschotter Sep 4, 2026
53628d3
[PWGEM/Dilepton] update qa histograms for muon dca (#17744)
dsekihat Sep 4, 2026
5fd65a1
[PWGDQ] Use `const&` and `std::move` to avoid copies (#17707)
vkucera Sep 4, 2026
ca837de
[DPG] Use `const&` and `std::move` to avoid copies (#17704)
vkucera Sep 4, 2026
9991a8f
[ALICE3] Study the combinatorial background (#17775)
rbailhac Sep 4, 2026
c7abf28
[PWGLF] Add kNoSameBunchPileup cut in hStrangeCorrelation.cxx (#17771)
kcui1 Sep 4, 2026
0d34dd6
[PWGLF] added function for event bookkeeping in sigma analysis (#17774)
Oussama3030 Sep 4, 2026
bee7edf
[PWGLF] Channel-level FT0 flattenicity with occupancy rejection and M…
sprasadphy Sep 4, 2026
4754ba6
[PWGEM] Add seperate event selection for photons and event-norm table…
jokonig Sep 4, 2026
ac71d61
[PWGEM,Photon] Add option to correct eta for vertex shift in event mi…
mhemmer-cern Sep 4, 2026
a089e8e
[PWGCF] Adding new analysis task for multiparticle correlation resear…
meiALICE Sep 4, 2026
aedd18c
[PWGCF] NaN fill averted for v22 and v02 in v02 analysis (#17753)
MaximVirta Sep 5, 2026
0cc1648
PWGCF/JCorran/Core+Task: Nonflow subtraction: additional correlators …
nmallick19 Sep 29, 2026
fc3a1fa
Please consider the following formatting changes
alibuild Sep 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 54 additions & 36 deletions ALICE3/Core/Decayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,12 @@
#include <TLorentzVector.h>
#include <TRandom3.h>

#include <array>
#include <cmath>
#include <cstddef>
#include <vector>

namespace o2
{
namespace upgrade
namespace o2::upgrade
{

class Decayer
Expand All @@ -47,44 +46,27 @@ class Decayer
Decayer() = default;

template <typename TDatabase>
std::vector<o2::upgrade::OTFParticle> decayParticle(const TDatabase& pdgDB, const OTFParticle& particle)
std::vector<o2::upgrade::OTFParticle> decayParticle(const OTFParticle& particle, const TDatabase& pdgDB)
{
const auto& particleInfo = pdgDB->GetParticle(particle.pdgCode());
auto particleInfo = pdgDB->GetParticle(particle.pdgCode());
if (!particleInfo) {
return {};
}

const int charge = particleInfo->Charge() / 3;
const double mass = particleInfo->Mass();

const double u = mRand3.Uniform(0.001, 0.999);
const double ctau = o2::constants::physics::LightSpeedCm2S * particleInfo->Lifetime(); // cm
const double betaGamma = particle.p() / mass;
const double rxyz = -betaGamma * ctau * std::log(1 - u);
double px, py, e;
std::array<double, 3> decayVtx = generateDecayVertex<double>(particle, pdgDB);
mVx = decayVtx[0];
mVy = decayVtx[1];
mVz = decayVtx[2];
double px{}, py{}, e{};

if (!charge) {
mVx = particle.vx() + rxyz * (particle.px() / particle.p());
mVy = particle.vy() + rxyz * (particle.py() / particle.p());
mVz = particle.vz() + rxyz * (particle.pz() / particle.p());
px = particle.px();
py = particle.py();
} else {
o2::track::TrackParCov track;
o2::math_utils::CircleXYf_t circle;
o2::upgrade::convertOTFParticleToO2Track(particle, track, pdgDB);

float sna{}, csa{};
track.getCircleParams(mBz, circle, sna, csa);
const double rxy = rxyz / std::sqrt(1. + track.getTgl() * track.getTgl());
const double theta = rxy / circle.rC;

mVx = ((particle.vx() - circle.xC) * std::cos(theta) - (particle.vy() - circle.yC) * std::sin(theta)) + circle.xC;
mVy = ((particle.vy() - circle.yC) * std::cos(theta) + (particle.vx() - circle.xC) * std::sin(theta)) + circle.yC;
mVz = particle.vz() + rxyz * (particle.pz() / track.getP());

px = particle.px() * std::cos(theta) - particle.py() * std::sin(theta);
py = particle.py() * std::cos(theta) + particle.px() * std::sin(theta);
px = particle.px() * std::cos(mTheta) - particle.py() * std::sin(mTheta);
py = particle.py() * std::cos(mTheta) + particle.px() * std::sin(mTheta);
}

double brTotal = 0.;
Expand Down Expand Up @@ -133,6 +115,42 @@ class Decayer
return decayProducts;
}

template <typename T = float, typename TDatabase, typename TParticle>
std::array<T, 3> generateDecayVertex(const TParticle& particle, const TDatabase& pdgDB)
{
std::array<T, 3> decayVertex{};
auto particleInfo = pdgDB->GetParticle(particle.pdgCode());
if (!particleInfo) {
return {};
}

const int charge = particleInfo->Charge() / 3;
const double mass = particleInfo->Mass();
const double u = mRand3.Uniform(0.001, 0.999);
const double ctau = o2::constants::physics::LightSpeedCm2S * particleInfo->Lifetime(); // cm
const double betaGamma = particle.p() / mass;
const double rxyz = -betaGamma * ctau * std::log(1 - u);

if (!charge) {
decayVertex[0] = particle.vx() + rxyz * (particle.px() / particle.p());
decayVertex[1] = particle.vy() + rxyz * (particle.py() / particle.p());
decayVertex[2] = particle.vz() + rxyz * (particle.pz() / particle.p());
} else {
o2::math_utils::CircleXYf_t circle;
o2::track::TrackParCov track = o2::upgrade::convertMCParticleToO2Track(particle, pdgDB);

float sna{}, csa{};
track.getCircleParams(mBz, circle, sna, csa);
const double rxy = rxyz / std::sqrt(1. + track.getTgl() * track.getTgl());
mTheta = rxy / circle.rC;

decayVertex[0] = ((particle.vx() - circle.xC) * std::cos(mTheta) - (particle.vy() - circle.yC) * std::sin(mTheta)) + circle.xC;
decayVertex[1] = ((particle.vy() - circle.yC) * std::cos(mTheta) + (particle.vx() - circle.xC) * std::sin(mTheta)) + circle.yC;
decayVertex[2] = particle.vz() + rxyz * (particle.pz() / track.getP());
}
return decayVertex;
}

// Setters
void setBField(const double b) { mBz = b; }
void setSeed(const int seed)
Expand All @@ -142,18 +160,18 @@ class Decayer
}

// Getters
float getSecondaryVertexX() const { return static_cast<float>(mVx); }
float getSecondaryVertexY() const { return static_cast<float>(mVy); }
float getSecondaryVertexZ() const { return static_cast<float>(mVz); }
float getDecayRadius() const { return static_cast<float>(std::hypot(mVx, mVy)); }
[[nodiscard]] float getSecondaryVertexX() const { return static_cast<float>(mVx); }
[[nodiscard]] float getSecondaryVertexY() const { return static_cast<float>(mVy); }
[[nodiscard]] float getSecondaryVertexZ() const { return static_cast<float>(mVz); }
[[nodiscard]] float getDecayRadius() const { return static_cast<float>(std::hypot(mVx, mVy)); }

private:
double mBz{20.}; // kG
double mVx{-1.}, mVy{-1.}, mVz{-1.};
TRandom3 mRand3{};
double mTheta{};
TRandom3 mRand3;
};

} // namespace upgrade
} // namespace o2
} // namespace o2::upgrade

#endif // ALICE3_CORE_DECAYER_H_
39 changes: 39 additions & 0 deletions ALICE3/DataModel/OTFTOF.h
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,26 @@ DECLARE_SOA_DYNAMIC_COLUMN(NSigmaOuterTOF, nSigmaOuterTOF, //! General function
}
});

DECLARE_SOA_COLUMN(NSigmaSplusInnerTOF, nSigmaSplusInnerTOF, float); //! NSigma Sigma plus InnerTOF
DECLARE_SOA_COLUMN(NSigmaSminusInnerTOF, nSigmaSminusInnerTOF, float); //! NSigma Sigma minus InnerTOF
DECLARE_SOA_COLUMN(NSigmaXiInnerTOF, nSigmaXiInnerTOF, float); //! NSigma Xi InnerTOF
DECLARE_SOA_COLUMN(NSigmaOmegaInnerTOF, nSigmaOmegaInnerTOF, float); //! NSigma Omega InnerTOF

DECLARE_SOA_COLUMN(NSigmaSplusOuterTOF, nSigmaSplusOuterTOF, float); //! NSigma Sigma plus OuterTOF
DECLARE_SOA_COLUMN(NSigmaSminusOuterTOF, nSigmaSminusOuterTOF, float); //! NSigma Sigma minus OuterTOF
DECLARE_SOA_COLUMN(NSigmaXiOuterTOF, nSigmaXiOuterTOF, float); //! NSigma Xi OuterTOF
DECLARE_SOA_COLUMN(NSigmaOmegaOuterTOF, nSigmaOmegaOuterTOF, float); //! NSigma Omega OuterTOF

DECLARE_SOA_COLUMN(InnerTOFExpectedTimeSp, innerTOFExpectedTimeSp, float); //! Reconstructed expected time at the InnerTOF for the Sigma plus mass hypotheses
DECLARE_SOA_COLUMN(InnerTOFExpectedTimeSm, innerTOFExpectedTimeSm, float); //! Reconstructed expected time at the InnerTOF for the Sigma minus mass hypotheses
DECLARE_SOA_COLUMN(InnerTOFExpectedTimeXi, innerTOFExpectedTimeXi, float); //! Reconstructed expected time at the InnerTOF for the Xi mass hypotheses
DECLARE_SOA_COLUMN(InnerTOFExpectedTimeOm, innerTOFExpectedTimeOm, float); //! Reconstructed expected time at the InnerTOF for the Omega mass hypotheses

DECLARE_SOA_COLUMN(OuterTOFExpectedTimeSp, outerTOFExpectedTimeSp, float); //! Reconstructed expected time at the OuterTOF for the Sigma plus mass hypotheses
DECLARE_SOA_COLUMN(OuterTOFExpectedTimeSm, outerTOFExpectedTimeSm, float); //! Reconstructed expected time at the OuterTOF for the Sigma minus mass hypotheses
DECLARE_SOA_COLUMN(OuterTOFExpectedTimeXi, outerTOFExpectedTimeXi, float); //! Reconstructed expected time at the OuterTOF for the Xi mass hypotheses
DECLARE_SOA_COLUMN(OuterTOFExpectedTimeOm, outerTOFExpectedTimeOm, float); //! Reconstructed expected time at the OuterTOF for the Omega mass hypotheses

} // namespace upgrade_tof

DECLARE_SOA_TABLE(UpgradeTofMCs, "AOD", "UPGRADETOFMC",
Expand Down Expand Up @@ -222,9 +242,28 @@ DECLARE_SOA_TABLE(UpgradeTofExpectedTimes, "AOD", "UPGRADETOFEXPT",
upgrade_tof::OuterTOFExpectedTimeHe3,
upgrade_tof::OuterTOFExpectedTimeAl);

DECLARE_SOA_TABLE(UpgradeTofShortLiveds, "AOD", "UPGRTOFSHRTLVD",
upgrade_tof::NSigmaSplusInnerTOF,
upgrade_tof::NSigmaSminusInnerTOF,
upgrade_tof::NSigmaXiInnerTOF,
upgrade_tof::NSigmaOmegaInnerTOF,
upgrade_tof::NSigmaSplusOuterTOF,
upgrade_tof::NSigmaSminusOuterTOF,
upgrade_tof::NSigmaXiOuterTOF,
upgrade_tof::NSigmaOmegaOuterTOF,
upgrade_tof::InnerTOFExpectedTimeSp,
upgrade_tof::InnerTOFExpectedTimeSm,
upgrade_tof::InnerTOFExpectedTimeXi,
upgrade_tof::InnerTOFExpectedTimeOm,
upgrade_tof::OuterTOFExpectedTimeSp,
upgrade_tof::OuterTOFExpectedTimeSm,
upgrade_tof::OuterTOFExpectedTimeXi,
upgrade_tof::OuterTOFExpectedTimeOm);

using UpgradeTofMC = UpgradeTofMCs::iterator;
using UpgradeTof = UpgradeTofs::iterator;
using UpgradeTofExpectedTime = UpgradeTofExpectedTimes::iterator;
using UpgradeTofShortLived = UpgradeTofShortLiveds::iterator;

} // namespace o2::aod

Expand Down
49 changes: 24 additions & 25 deletions ALICE3/DataModel/ReducedTablesAlice3.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ namespace o2::aod
namespace reducedeventalice3
{
DECLARE_SOA_COLUMN(MultDensity, multDensity, float);
DECLARE_SOA_COLUMN(MCPosX, mcPosX, float); //! MC event position X
DECLARE_SOA_COLUMN(MCPosY, mcPosY, float); //! MC event position Y
DECLARE_SOA_COLUMN(MCPosZ, mcPosZ, float); //! MC event position Z
DECLARE_SOA_COLUMN(McPosX, mcPosX, float); //! MC event position X
DECLARE_SOA_COLUMN(McPosY, mcPosY, float); //! MC event position Y
DECLARE_SOA_COLUMN(McPosZ, mcPosZ, float); //! MC event position Z
} // namespace reducedeventalice3

DECLARE_SOA_TABLE_STAGED(ReA3Events, "REA3EVENT", //! Main event information table
Expand All @@ -63,7 +63,7 @@ DECLARE_SOA_TABLE(ReducedA3EventsInfo, "AOD", "REA3EVENTINFO", //! Main event

DECLARE_SOA_TABLE(ReA3MCEvents, "AOD", "REA3MCEVENT", //! Event level MC truth information
o2::soa::Index<>,
mccollision::GeneratorsID, reducedeventalice3::MCPosX, reducedeventalice3::MCPosY, reducedeventalice3::MCPosZ,
mccollision::GeneratorsID, reducedeventalice3::McPosX, reducedeventalice3::McPosY, reducedeventalice3::McPosZ,
mccollision::T, mccollision::Weight, mccollision::ImpactParameter,
mcmult_alice3::MultMC, mcmult_alice3::MultMC25, mcmult_alice3::MultMC125, mcmult_alice3::MultMC09);

Expand All @@ -73,7 +73,7 @@ using ReA3Event = ReA3Events::iterator;
namespace reducedtrackalice3
{
// basic track information
DECLARE_SOA_INDEX_COLUMN(ReA3Event, rea3event); //!
DECLARE_SOA_INDEX_COLUMN(ReA3Event, reA3Event); //!
DECLARE_SOA_INDEX_COLUMN(Track, track); //!
// ---- flags reserved for storing various information during filtering
DECLARE_SOA_BITMAP_COLUMN(FilteringFlags, filteringFlags, 64); //!
Expand Down Expand Up @@ -124,7 +124,7 @@ DECLARE_SOA_TABLE(ReducedA3TracksBarrelCov, "AOD", "REA3BARRELCOV", //!
track::CSnpSnp, track::CTglY, track::CTglZ, track::CTglSnp, track::CTglTgl,
track::C1PtY, track::C1PtZ, track::C1PtSnp, track::C1PtTgl, track::C1Pt21Pt2);

namespace reducedA3trackMC
namespace reduceda3trackmc
{
DECLARE_SOA_INDEX_COLUMN(ReA3MCEvent, reA3MCEvent); //!
DECLARE_SOA_COLUMN(McReducedFlags, mcReducedFlags, uint16_t); //! Flags to hold compressed MC selection information
Expand All @@ -151,27 +151,26 @@ DECLARE_SOA_DYNAMIC_COLUMN(Y, y, //! Particle rapidity
float pz = pt * std::sinh(eta);
if ((e - pz) > static_cast<float>(1e-7)) {
return 0.5f * std::log((e + pz) / (e - pz));
} else {
return -999.0f;
}
return -999.0f;
});
} // namespace reducedA3trackMC
} // namespace reduceda3trackmc

// NOTE: This table is nearly identical to the one from Framework (except that it points to the event ID, not the BC id)
// This table contains all MC truth tracks (both barrel and muon)
DECLARE_SOA_TABLE(ReA3MCTracks, "AOD", "REA3MCTRACK", //! MC track information (on disk)
o2::soa::Index<>, reducedA3trackMC::ReA3MCEventId,
o2::soa::Index<>, reduceda3trackmc::ReA3MCEventId,
mcparticle::PdgCode, mcparticle::StatusCode, mcparticle::Flags,
reducedA3trackMC::MothersIds, reducedA3trackMC::DaughtersIdSlice,
reduceda3trackmc::MothersIds, reduceda3trackmc::DaughtersIdSlice,
mcparticle::Weight,
reducedA3trackMC::Pt, reducedA3trackMC::Eta, reducedA3trackMC::Phi, reducedA3trackMC::E,
reduceda3trackmc::Pt, reduceda3trackmc::Eta, reduceda3trackmc::Phi, reduceda3trackmc::E,
mcparticle::Vx, mcparticle::Vy, mcparticle::Vz, mcparticle::Vt,
reducedA3trackMC::McReducedFlags,
reducedA3trackMC::Px<reducedA3trackMC::Pt, reducedA3trackMC::Phi>,
reducedA3trackMC::Py<reducedA3trackMC::Pt, reducedA3trackMC::Phi>,
reducedA3trackMC::Pz<reducedA3trackMC::Pt, reducedA3trackMC::Eta>,
reducedA3trackMC::P<reducedA3trackMC::Pt, reducedA3trackMC::Eta>,
reducedA3trackMC::Y<reducedA3trackMC::Pt, reducedA3trackMC::Eta, reducedA3trackMC::E>,
reduceda3trackmc::McReducedFlags,
reduceda3trackmc::Px<reduceda3trackmc::Pt, reduceda3trackmc::Phi>,
reduceda3trackmc::Py<reduceda3trackmc::Pt, reduceda3trackmc::Phi>,
reduceda3trackmc::Pz<reduceda3trackmc::Pt, reduceda3trackmc::Eta>,
reduceda3trackmc::P<reduceda3trackmc::Pt, reduceda3trackmc::Eta>,
reduceda3trackmc::Y<reduceda3trackmc::Pt, reduceda3trackmc::Eta, reduceda3trackmc::E>,
mcparticle::ProducedByGenerator<mcparticle::Flags>,
mcparticle::FromBackgroundEvent<mcparticle::Flags>,
mcparticle::GetGenStatusCode<mcparticle::Flags, mcparticle::StatusCode>,
Expand All @@ -190,7 +189,7 @@ DECLARE_SOA_COLUMN(McMask, mcMask, uint16_t);
// NOTE: MC labels. This table has one entry for each reconstructed track (joinable with the track tables)
// The McParticleId points to the position of the MC truth track from the ReducedTracksMC table
DECLARE_SOA_TABLE(ReducedA3TracksBarrelLabels, "AOD", "REA3BARLA", //!
reduceda3barreltracklabel::ReA3MCTrackId, reduceda3barreltracklabel::McMask, reducedA3trackMC::McReducedFlags);
reduceda3barreltracklabel::ReA3MCTrackId, reduceda3barreltracklabel::McMask, reduceda3trackmc::McReducedFlags);

using ReducedA3TrackBarrelLabel = ReducedA3TracksBarrelLabels::iterator;

Expand Down Expand Up @@ -222,15 +221,15 @@ DECLARE_SOA_TABLE(ReducedA3MCEventLabels, "AOD", "REA3MCCOLLBL", //! Table joine

using ReducedA3MCEventLabel = ReducedA3MCEventLabels::iterator;

namespace reducedA3track_association
namespace reduceda3trackassociation
{
DECLARE_SOA_INDEX_COLUMN(ReA3Event, reA3event); //! ReducedEvent index
DECLARE_SOA_INDEX_COLUMN(ReA3Track, reA3track); //! ReducedTrack index
} // namespace reducedA3track_association
DECLARE_SOA_INDEX_COLUMN(ReA3Event, reA3Event); //! ReducedEvent index
DECLARE_SOA_INDEX_COLUMN(ReA3Track, reA3Track); //! ReducedTrack index
} // namespace reduceda3trackassociation

DECLARE_SOA_TABLE(ReducedA3TracksAssoc, "AOD", "REA3ASSOC", //! Table for reducedtrack-to-reducedcollision association
reducedA3track_association::ReA3EventId,
reducedA3track_association::ReA3TrackId);
reduceda3trackassociation::ReA3EventId,
reduceda3trackassociation::ReA3TrackId);

DECLARE_SOA_TABLE(ReducedA3PIDTOF, "AOD", "REA3PIDTOF",
upgrade_tof::TOFEventTime,
Expand Down
2 changes: 1 addition & 1 deletion ALICE3/TableProducer/OTF/onTheFlyDecayer.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ struct OnTheFlyDecayer {
}

particle.setBitOff(o2::upgrade::DecayerBits::IsAlive);
std::vector<o2::upgrade::OTFParticle> decayStack = decayer.decayParticle(pdgDB, particle);
std::vector<o2::upgrade::OTFParticle> decayStack = decayer.decayParticle(particle, pdgDB);
if (decayStack.empty()) {
continue;
}
Expand Down
Loading
Loading