From 395c6dd3e7a3a8c52b7213d34e74855bd2a4d6a1 Mon Sep 17 00:00:00 2001 From: Luzhiyongg <71517277+Luzhiyongg@users.noreply.github.com> Date: Mon, 10 Nov 2025 11:42:22 +0100 Subject: [PATCH] fix dpt selection bug --- PWGCF/Flow/Tasks/flowTask.cxx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/PWGCF/Flow/Tasks/flowTask.cxx b/PWGCF/Flow/Tasks/flowTask.cxx index ce7e28ba56b..cf9bd184833 100644 --- a/PWGCF/Flow/Tasks/flowTask.cxx +++ b/PWGCF/Flow/Tasks/flowTask.cxx @@ -156,7 +156,7 @@ struct FlowTask { TF1* fPhiCutLow = nullptr; TF1* fPhiCutHigh = nullptr; // for deltaPt/ vs centrality - O2_DEFINE_CONFIGURABLE(cfgDptDisEnable, bool, false, "Produce deltaPt/meanPt vs c22 vs centrality") + O2_DEFINE_CONFIGURABLE(cfgDptDisEnable, bool, false, "Produce deltaPt/meanPt vs centrality") O2_DEFINE_CONFIGURABLE(cfgDptDisSelectionSwitch, int, 0, "0: disable, 1: use low cut, 2:use high cut") TH1D* hEvAvgMeanPt = nullptr; TH1D* fDptDisCutLow = nullptr; @@ -1108,11 +1108,12 @@ struct FlowTask { if (cfgFuncParas.cfgDptDisEnable) { double meanPt = ptSum / weffEvent; double deltaPt = meanPt - cfgFuncParas.hEvAvgMeanPt->GetBinContent(cfgFuncParas.hEvAvgMeanPt->FindBin(independent)); - registry.fill(HIST("hNormDeltaPt_X"), meanPt, independent, weffEvent); - if (cfgFuncParas.cfgDptDisSelectionSwitch == kLowDptCut && deltaPt > cfgFuncParas.fDptDisCutLow->GetBinContent(cfgFuncParas.fDptDisCutLow->FindBin(independent))) { + double normDeltaPt = deltaPt / meanPt; + registry.fill(HIST("hNormDeltaPt_X"), normDeltaPt, independent, weffEvent); + if (cfgFuncParas.cfgDptDisSelectionSwitch == kLowDptCut && normDeltaPt > cfgFuncParas.fDptDisCutLow->GetBinContent(cfgFuncParas.fDptDisCutLow->FindBin(independent))) { // only keep low 10% dpt event return; - } else if (cfgFuncParas.cfgDptDisSelectionSwitch == kHighDptCut && deltaPt < cfgFuncParas.fDptDisCutHigh->GetBinContent(cfgFuncParas.fDptDisCutHigh->FindBin(independent))) { + } else if (cfgFuncParas.cfgDptDisSelectionSwitch == kHighDptCut && normDeltaPt < cfgFuncParas.fDptDisCutHigh->GetBinContent(cfgFuncParas.fDptDisCutHigh->FindBin(independent))) { // only keep high 10% dpt event return; }