From 45155652e0459f00ff2d97620b8153e1ce5825d1 Mon Sep 17 00:00:00 2001 From: gmantzar Date: Wed, 28 Oct 2026 14:53:20 +0100 Subject: [PATCH 1/4] Add V0Cascade process function in the D2D producer --- .../TableProducer/femtoProducerDerivedToDerived.cxx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx b/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx index 64f6aa88985..b2e4ac85f80 100644 --- a/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx +++ b/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx @@ -457,6 +457,18 @@ struct FemtoProducerDerivedToDerived { } PROCESS_SWITCH(FemtoProducerDerivedToDerived, processTracksPhi, "Process phi and tracks", false); + void processLambdasXis(FilteredFemtoCollision const& col, FemtoTracks const& tracks, FemtoLambdas const& lambdas, FemtoXis const& xis) + { + if (v0Builder.collisionHasTooFewLambdas(col, lambdas, lambdaPartition, cache) || cascadeBuilder.collisionHasTooFewXis(col, xis, xiPartition, cache)) { + return; + } + trackBuilder.reset(tracks); + collisionBuilder.processCollision(col, collisionBuilderProducts); + v0Builder.processLambdas(col, lambdas, tracks, lambdaPartition, trackBuilder, cache, v0BuilderProducts, trackBuilderProducts, collisionBuilderProducts); + cascadeBuilder.processXis(col, xis, tracks, xiPartition, trackBuilder, cache, cascadeBuilderProducts, trackBuilderProducts, collisionBuilderProducts); + } + PROCESS_SWITCH(FemtoProducerDerivedToDerived, processLambdasXis, "Process lambdas and xis", false); + // mc processing // // NOTE: unlike the other process functions, this one subscribes to the full // collision table and iterates manually. The MC index maps are keyed by source From ff2265accde3372518aa23d1baea357f8a43f560 Mon Sep 17 00:00:00 2001 From: gmantzar Date: Fri, 30 Oct 2026 22:23:02 +0100 Subject: [PATCH 2/4] Adding the V0CascadeProcess to the activeProcesses --- PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx b/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx index b2e4ac85f80..6dd7b941f0a 100644 --- a/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx +++ b/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx @@ -205,6 +205,7 @@ struct FemtoProducerDerivedToDerived { static_cast(doprocessTracksSigmaPlus) + static_cast(doprocessTracksSigmaPlusExtended) + static_cast(doprocessTracksSigmaPlusPcm) + static_cast(doprocessTracksSigmaPlusPcmExtended) + static_cast(doprocessTracksRho0) + static_cast(doprocessTracksPhi) + + static_cast(doprocessLambdasXis) + static_cast(doprocessTracksMc) + static_cast(doprocessTracksSigmaMc) + static_cast(doprocessTracksSigmaPlusMc) + static_cast(doprocessTracksSigmaPlusExtendedMc) + static_cast(doprocessTracksSigmaPlusPcmMc) + static_cast(doprocessTracksSigmaPlusPcmExtendedMc); From 2b403b32115c6aa30f4958d6abe720fdc3fb4f21 Mon Sep 17 00:00:00 2001 From: gmantzar Date: Fri, 30 Oct 2026 22:27:16 +0100 Subject: [PATCH 3/4] Fix clang format --- PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx b/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx index 6dd7b941f0a..a21a43c972b 100644 --- a/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx +++ b/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx @@ -469,7 +469,7 @@ struct FemtoProducerDerivedToDerived { cascadeBuilder.processXis(col, xis, tracks, xiPartition, trackBuilder, cache, cascadeBuilderProducts, trackBuilderProducts, collisionBuilderProducts); } PROCESS_SWITCH(FemtoProducerDerivedToDerived, processLambdasXis, "Process lambdas and xis", false); - + // mc processing // // NOTE: unlike the other process functions, this one subscribes to the full // collision table and iterates manually. The MC index maps are keyed by source From ab871c11d258e74620aeea76e5e0543672a00cab Mon Sep 17 00:00:00 2001 From: gmantzar Date: Sun, 1 Nov 2026 19:43:13 +0100 Subject: [PATCH 4/4] Adjusting the v0cascade process function to be compatible with the latest upstream changes --- .../TableProducer/femtoProducerDerivedToDerived.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx b/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx index a21a43c972b..2eca98b293c 100644 --- a/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx +++ b/PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx @@ -458,15 +458,15 @@ struct FemtoProducerDerivedToDerived { } PROCESS_SWITCH(FemtoProducerDerivedToDerived, processTracksPhi, "Process phi and tracks", false); - void processLambdasXis(FilteredFemtoCollision const& col, FemtoTracks const& tracks, FemtoLambdas const& lambdas, FemtoXis const& xis) + void processLambdasXis(femtotables::FilteredFemtoCollision const& col, femtotables::FemtoTracks const& tracks, femtotables::FemtoLambdas const& lambdas, femtotables::FemtoXis const& xis) { - if (v0Builder.collisionHasTooFewLambdas(col, lambdas, lambdaPartition, cache) || cascadeBuilder.collisionHasTooFewXis(col, xis, xiPartition, cache)) { + if (builders.v0Builder.collisionHasTooFewLambdas(col, lambdas, lambdaPartition, cache) || builders.cascadeBuilder.collisionHasTooFewXis(col, xis, xiPartition, cache)) { return; } - trackBuilder.reset(tracks); - collisionBuilder.processCollision(col, collisionBuilderProducts); - v0Builder.processLambdas(col, lambdas, tracks, lambdaPartition, trackBuilder, cache, v0BuilderProducts, trackBuilderProducts, collisionBuilderProducts); - cascadeBuilder.processXis(col, xis, tracks, xiPartition, trackBuilder, cache, cascadeBuilderProducts, trackBuilderProducts, collisionBuilderProducts); + builders.trackBuilder.reset(tracks); + builders.collisionBuilder.processCollision(col, collisionBuilderProducts); + builders.v0Builder.processLambdas(col, lambdas, tracks, lambdaPartition, builders.trackBuilder, cache, v0BuilderProducts, trackBuilderProducts, collisionBuilderProducts); + builders.cascadeBuilder.processXis(col, xis, tracks, xiPartition, builders.trackBuilder, cache, cascadeBuilderProducts, trackBuilderProducts, collisionBuilderProducts); } PROCESS_SWITCH(FemtoProducerDerivedToDerived, processLambdasXis, "Process lambdas and xis", false);