From 8ff213ec979dd311f573239da94c348db103768d Mon Sep 17 00:00:00 2001 From: wenyaCern Date: Wed, 4 Feb 2026 20:07:17 +0100 Subject: [PATCH] Fix the track selection in cumulant --- PWGCF/FemtoDream/Core/femtoDreamCollisionSelection.h | 11 +++++++---- .../TableProducer/femtoDreamProducerTask.cxx | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/PWGCF/FemtoDream/Core/femtoDreamCollisionSelection.h b/PWGCF/FemtoDream/Core/femtoDreamCollisionSelection.h index 398847e7ada..538675f3a9d 100644 --- a/PWGCF/FemtoDream/Core/femtoDreamCollisionSelection.h +++ b/PWGCF/FemtoDream/Core/femtoDreamCollisionSelection.h @@ -219,7 +219,7 @@ class FemtoDreamCollisionSelection mHistogramQn = registry; mHistogramQn->add("Event/centFT0CBeforeQn", "; cent", kTH1F, {{10, 0, 100}}); mHistogramQn->add("Event/centFT0CAfterQn", "; cent", kTH1F, {{10, 0, 100}}); - mHistogramQn->add("Event/centVsqn", "; cent; qn", kTH2F, {{10, 0, 100}, {100, 0, 1000}}); + mHistogramQn->add("Event/centVsqn", "; cent; qn", kTH2F, {{10, 0, 100}, {1000, 0, 1000}}); mHistogramQn->add("Event/centVsqnVsSpher", "; cent; qn; Sphericity", kTH3F, {{10, 0, 100}, {100, 0, 1000}, {100, 0, 1}}); mHistogramQn->add("Event/qnBin", "; qnBin; entries", kTH1F, {{20, 0, 20}}); mHistogramQn->add("Event/psiEP", "; #Psi_{EP} (deg); entries", kTH1F, {{100, 0, 180}}); @@ -428,8 +428,8 @@ class FemtoDreamCollisionSelection /// \param doQnSeparation to fill flow in divied qn bins /// \param qnBin should be in 0-9 /// \param fEtaGap eta gap for flow cumulant - template - void doCumulants(T1 const& col, T2 const& tracks, float centrality, bool doQnSeparation = false, int numQnBins = 10, float fEtaGap = 0.5f, float ptMin = 0.2f, float ptMax = 5.0f, float harmonic = 2.0f) + template + void doCumulants(T1 const& col, T2 const& tracks, TC& trackCuts, float centrality, bool doQnSeparation = false, int numQnBins = 10, float fEtaGap = 0.5f, float ptMin = 0.2f, float ptMax = 5.0f, float harmonic = 2.0f) { int numOfTracks = col.numContrib(); if (numOfTracks < 3) @@ -441,13 +441,16 @@ class FemtoDreamCollisionSelection int nA = 0, nB = 0; for (auto const& trk : tracks) { + if (!trackCuts.isSelectedMinimal(trk)) { + continue; + } const double pt = trk.pt(); const double eta = trk.eta(); if (pt < ptMin || pt > ptMax) { continue; } - const double w = 1.0; // TODO: NUA/NUE weight if you want + const double w = 1.0; // TODO: NUA/NUE weight const double phi = trk.phi(); const double c = w * TMath::Cos(harmonic * phi); const double s = w * TMath::Sin(harmonic * phi); diff --git a/PWGCF/FemtoDream/TableProducer/femtoDreamProducerTask.cxx b/PWGCF/FemtoDream/TableProducer/femtoDreamProducerTask.cxx index 9072069ea19..b8c1f48be09 100644 --- a/PWGCF/FemtoDream/TableProducer/femtoDreamProducerTask.cxx +++ b/PWGCF/FemtoDream/TableProducer/femtoDreamProducerTask.cxx @@ -1146,7 +1146,7 @@ struct femtoDreamProducerTask { if (epCal.ConfFillFlowQA) { colCuts.fillEPQA(mult, spher, myqn, myEP); if (epCal.ConfDoCumlant) { - colCuts.doCumulants(col, tracks, mult, epCal.ConfQnSeparation); + colCuts.doCumulants(col, tracks, trackCuts, mult, epCal.ConfQnSeparation); } } }