From 5221e847aa33eaec4bf917c17e20f68b896fca59 Mon Sep 17 00:00:00 2001 From: gmantzar Date: Wed, 26 Nov 2025 20:11:40 +0100 Subject: [PATCH 1/2] Uncomment Omega Selection --- .../femtoDreamProducerTaskReso.cxx | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/PWGCF/FemtoDream/TableProducer/femtoDreamProducerTaskReso.cxx b/PWGCF/FemtoDream/TableProducer/femtoDreamProducerTaskReso.cxx index 184da856e04..ecb1d3b4eac 100644 --- a/PWGCF/FemtoDream/TableProducer/femtoDreamProducerTaskReso.cxx +++ b/PWGCF/FemtoDream/TableProducer/femtoDreamProducerTaskReso.cxx @@ -1301,12 +1301,10 @@ struct FemtoDreamProducerTaskReso { const auto& bachTrackCasc = casc.template bachelor_as(); if (confIsActivateXi.value) { - // xiCuts.fillQA<0, aod::femtodreamparticle::ParticleType::kCascade, aod::femtodreamparticle::ParticleType::kCascadeV0Child, aod::femtodreamparticle::ParticleType::kCascadeBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc); + xiCuts.fillQA<0, aod::femtodreamparticle::ParticleType::kCascade, aod::femtodreamparticle::ParticleType::kCascadeV0Child, aod::femtodreamparticle::ParticleType::kCascadeBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc); if (xiCuts.isSelectedMinimal(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc)) { - - // xiCuts.fillQA<1, aod::femtodreamparticle::ParticleType::kCascade, aod::femtodreamparticle::ParticleType::kCascadeV0Child, aod::femtodreamparticle::ParticleType::kCascadeBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc); - // auto cutContainerCasc = xiCuts.getCutContainer(col, casc, v0daugh, posTrackCasc, negTrackCasc, bachTrackCasc); + xiCuts.fillQA<1, aod::femtodreamparticle::ParticleType::kCascade, aod::femtodreamparticle::ParticleType::kCascadeV0Child, aod::femtodreamparticle::ParticleType::kCascadeBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc); auto cutContainerCasc = xiCuts.getCutContainer(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc); // Fill positive child @@ -1401,14 +1399,12 @@ struct FemtoDreamProducerTaskReso { // continue; } // if xiCuts.isSelectedMinimal } // if confIsActivateXi - /* - if (confIsActivateOmega.value){ + if (confIsActivateOmega.value) { omegaCuts.fillQA<0, aod::femtodreamparticle::ParticleType::kOmega, aod::femtodreamparticle::ParticleType::kOmegaV0Child, aod::femtodreamparticle::ParticleType::kOmegaBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc); if (omegaCuts.isSelectedMinimal(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc)) { omegaCuts.fillQA<1, aod::femtodreamparticle::ParticleType::kOmega, aod::femtodreamparticle::ParticleType::kOmegaV0Child, aod::femtodreamparticle::ParticleType::kOmegaBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc); - // auto cutContainerCasc = xiCuts.getCutContainer(col, casc, v0daugh, posTrackCasc, negTrackCasc, bachTrackCasc); auto cutContainerCasc = omegaCuts.getCutContainer(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc); // Fill positive child @@ -1500,11 +1496,9 @@ struct FemtoDreamProducerTaskReso { fillDebugCascade(casc, col); // QA for Cascade } - - //continue; - } //if omegaCuts.isSelectedMinimal - } //if confIsActivateOmega - */ + // continue; + } // if omegaCuts.isSelectedMinimal + } // if confIsActivateOmega } // loop over cascades } // at least one cascade active From 8335714ad9225765c7651a1647e1af54b80e3ea2 Mon Sep 17 00:00:00 2001 From: gmantzar Date: Thu, 27 Nov 2025 13:29:38 +0100 Subject: [PATCH 2/2] Change to globalIndex() for the cascade daughters in the Mixing --- .../Tasks/femtoDreamPairTaskTrackCascade.cxx | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/PWGCF/FemtoDream/Tasks/femtoDreamPairTaskTrackCascade.cxx b/PWGCF/FemtoDream/Tasks/femtoDreamPairTaskTrackCascade.cxx index 05696761afa..9dbdf1b2a8b 100644 --- a/PWGCF/FemtoDream/Tasks/femtoDreamPairTaskTrackCascade.cxx +++ b/PWGCF/FemtoDream/Tasks/femtoDreamPairTaskTrackCascade.cxx @@ -11,23 +11,26 @@ /// \file femtoDreamPairTaskTrackTrack.cxx /// \brief Tasks that reads the track tables used for the pairing and builds pairs of two tracks /// \author Andi Mathis, TU München, andreas.mathis@ph.tum.de -#include -#include -#include -#include -#include "Framework/AnalysisTask.h" -#include "Framework/runDataProcessing.h" -#include "Framework/HistogramRegistry.h" -#include "Framework/ASoAHelpers.h" -#include "Framework/RunningWorkflowInfo.h" -#include "Framework/Expressions.h" #include "PWGCF/DataModel/FemtoDerived.h" -#include "PWGCF/FemtoDream/Core/femtoDreamParticleHisto.h" -#include "PWGCF/FemtoDream/Core/femtoDreamEventHisto.h" -#include "PWGCF/FemtoDream/Core/femtoDreamPairCleaner.h" #include "PWGCF/FemtoDream/Core/femtoDreamContainer.h" #include "PWGCF/FemtoDream/Core/femtoDreamDetaDphiStar.h" +#include "PWGCF/FemtoDream/Core/femtoDreamEventHisto.h" +#include "PWGCF/FemtoDream/Core/femtoDreamPairCleaner.h" +#include "PWGCF/FemtoDream/Core/femtoDreamParticleHisto.h" #include "PWGCF/FemtoDream/Core/femtoDreamUtils.h" + +#include "Framework/ASoAHelpers.h" +#include "Framework/AnalysisTask.h" +#include "Framework/Expressions.h" +#include "Framework/HistogramRegistry.h" +#include "Framework/RunningWorkflowInfo.h" +#include "Framework/runDataProcessing.h" + +#include + +#include +#include +#include using namespace o2; using namespace o2::aod; using namespace o2::soa; @@ -327,9 +330,9 @@ struct femtoDreamPairTaskTrackCascade { auto SliceTrk1 = part1->sliceByCached(aod::femtodreamparticle::fdCollisionId, collision1.globalIndex(), cache); auto SliceCasc2 = part2->sliceByCached(aod::femtodreamparticle::fdCollisionId, collision2.globalIndex(), cache); for (auto& [p1, p2] : combinations(CombinationsFullIndexPolicy(SliceTrk1, SliceCasc2))) { - const auto& posChild = parts.iteratorAt(p2.index() - 3); - const auto& negChild = parts.iteratorAt(p2.index() - 2); - const auto& bachChild = parts.iteratorAt(p2.index() - 1); + const auto& posChild = parts.iteratorAt(p2.globalIndex() - 3); + const auto& negChild = parts.iteratorAt(p2.globalIndex() - 2); + const auto& bachChild = parts.iteratorAt(p2.globalIndex() - 1); // check cuts on Cascade children if (Cascade2.UseChildCuts) { if (!(((posChild.cut() & Cascade2.ChildPos_CutBit) == Cascade2.ChildPos_CutBit) &&