From 7f509d444c14cea7cca85018b81ac2e99ff8d189 Mon Sep 17 00:00:00 2001 From: jikim1290 Date: Mon, 8 Jun 2026 17:12:23 +0900 Subject: [PATCH] add additional histograms --- PWGCF/Flow/Tasks/flowDirectedFlowTask.cxx | 39 ++++++++++++++--------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/PWGCF/Flow/Tasks/flowDirectedFlowTask.cxx b/PWGCF/Flow/Tasks/flowDirectedFlowTask.cxx index 834bbc2177b..af9384750b3 100644 --- a/PWGCF/Flow/Tasks/flowDirectedFlowTask.cxx +++ b/PWGCF/Flow/Tasks/flowDirectedFlowTask.cxx @@ -156,18 +156,21 @@ struct flowDirectedFlowTask { histos.add("hpResCosAC", "cos(#Psi_{A}-#Psi_{C}) vs centrality", kTH3F, {{centAxis}, {resAxis}, {q1Axis}}); histos.add("hpDotAC", "Q_{A}#upoint Q_{C} vs centrality", kTH3F, {{centAxis}, {qAxis}, {q1Axis}}); - histos.add("hpResDotAC", "Q_{A}#upoint Q_{C} vs centrality", kTH3F, {{centAxis}, {qAxis}, {q1Axis}}); - histos.add("hpQxAQxC", "QxA QxC", kTH2F, {{centAxis}, {resAxis}}); - histos.add("hpQyAQyC", "QyA QyC", kTH2F, {{centAxis}, {resAxis}}); - histos.add("hpQxAQyC", "QxA QyC", kTH2F, {{centAxis}, {resAxis}}); - histos.add("hpQxCQyA", "QxC QyA", kTH2F, {{centAxis}, {resAxis}}); + histos.add("hpResDotAC", "Q_{A}#upoint Q_{C} vs centrality", kTH3F, {{centAxis}, {resAxis}, {q1Axis}}); + histos.add("hpQxAQxC", "QxA QxC", kTH3F, {{centAxis}, {qAxis}, {q1Axis}}); + histos.add("hpQyAQyC", "QyA QyC", kTH3F, {{centAxis}, {qAxis}, {q1Axis}}); + histos.add("hpQxAQyC", "QxA QyC", kTH3F, {{centAxis}, {qAxis}, {q1Axis}}); + histos.add("hpQxCQyA", "QxC QyA", kTH3F, {{centAxis}, {qAxis}, {q1Axis}}); std::vector axesV1SP = {centAxis, ptAxis, etaAxis, q1Axis, spAxis}; std::vector axesV1EP = {centAxis, ptAxis, etaAxis, q1Axis, polAxis}; histos.add("hV1SPFullQ1", "charged v1 SP numerator u#upoint(QC-QA) vs q1", HistType::kTHnSparseF, axesV1SP, true); + histos.add("hV1SPxxFullQ1", "charged v1 SP numerator u#upoint(QC-QA) vs q1 for x", HistType::kTHnSparseF, axesV1SP, true); + histos.add("hV1SPyyFullQ1", "charged v1 SP numerator u#upoint(QC-QA) vs q1 for y", HistType::kTHnSparseF, axesV1SP, true); histos.add("hV1SPAQ1", "charged v1 SP numerator u#upointQA vs q1", HistType::kTHnSparseF, axesV1SP, true); histos.add("hV1SPCQ1", "charged v1 SP numerator u#upointQC vs q1", HistType::kTHnSparseF, axesV1SP, true); + histos.add("hV1EPFullQ1", "charged v1 EP QA cos(phi-PsiZDC) vs q1", HistType::kTHnSparseF, axesV1EP, true); histos.add("hV1EPAQ1", "charged v1 EP QA cos(phi-PsiA) vs q1", HistType::kTHnSparseF, axesV1EP, true); histos.add("hV1EPCQ1", "charged v1 EP QA cos(phi-PsiC) vs q1", HistType::kTHnSparseF, axesV1EP, true); @@ -175,18 +178,15 @@ struct flowDirectedFlowTask { std::vector axesPolSPQ1 = {massAxis, ptAxis, spAxis, centAxis, q1Axis}; histos.add("hSparseLambdaPolSPQ1", "Lambda SP polarization numerator vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); - histos.add("hSparseLambdaPolSPwgtQ1", "Lambda SP polarization numerator / acceptance vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); + histos.add("hSparseLambdaPolSPuxQ1", "Lambda SP polarization numerator vs q1 for x", HistType::kTHnSparseF, axesPolSPQ1, true); + histos.add("hSparseLambdaPolSPuyQ1", "Lambda SP polarization numerator vs q1 for y", HistType::kTHnSparseF, axesPolSPQ1, true); + histos.add("hSparseLambdaPolSPAQ1", "Lambda SP polarization numerator A vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); histos.add("hSparseLambdaPolSPCQ1", "Lambda SP polarization numerator C vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); - histos.add("hSparseLambdaPolSPAwgtQ1", "Lambda SP polarization numerator A / acceptance vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); - histos.add("hSparseLambdaPolSPCwgtQ1", "Lambda SP polarization numerator C / acceptance vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); histos.add("hSparseAntiLambdaPolSPQ1", "AntiLambda SP polarization numerator vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); - histos.add("hSparseAntiLambdaPolSPwgtQ1", "AntiLambda SP polarization numerator / acceptance vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); histos.add("hSparseAntiLambdaPolSPAQ1", "AntiLambda SP polarization numerator A vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); histos.add("hSparseAntiLambdaPolSPCQ1", "AntiLambda SP polarization numerator C vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); - histos.add("hSparseAntiLambdaPolSPAwgtQ1", "AntiLambda SP polarization numerator A / acceptance vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); - histos.add("hSparseAntiLambdaPolSPCwgtQ1", "AntiLambda SP polarization numerator C / acceptance vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); histos.add("hSparseLambdaPolEPQ1", "Lambda EP QA sin(phi*-PsiZDC) vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); histos.add("hSparseLambdaPolEPAQ1", "Lambda EP QA sin(phi*-PsiA) vs q1", HistType::kTHnSparseF, axesPolSPQ1, true); @@ -446,6 +446,9 @@ struct flowDirectedFlowTask { if (isLambda) { histos.fill(HIST("hSparseLambdaPolSPQ1"), mass, v0.pt(), polSP, centrality, q1, wgt); + histos.fill(HIST("hSparseLambdaPolSPuyQ1"), mass, v0.pt(), uy * qxFull / accDen, centrality, q1, wgt); + histos.fill(HIST("hSparseLambdaPolSPuxQ1"), mass, v0.pt(), ux * qyFull / accDen, centrality, q1, wgt); + histos.fill(HIST("hSparseLambdaPolSPAQ1"), mass, v0.pt(), polSP_A, centrality, q1, wgt); histos.fill(HIST("hSparseLambdaPolSPCQ1"), mass, v0.pt(), polSP_C, centrality, q1, wgt); @@ -462,6 +465,9 @@ struct flowDirectedFlowTask { histos.fill(HIST("hSparseLambdaAvgUyQ1"), mass, v0.pt(), uy, centrality, q1, wgt); } else { histos.fill(HIST("hSparseAntiLambdaPolSPQ1"), mass, v0.pt(), polSP, centrality, q1, wgt); + histos.fill(HIST("hSparseAntiLambdaPolSPuxQ1"), mass, v0.pt(), uy * qxFull / accDen, centrality, q1, wgt); + histos.fill(HIST("hSparseAntiLambdaPolSPuyQ1"), mass, v0.pt(), ux * qyFull / accDen, centrality, q1, wgt); + histos.fill(HIST("hSparseAntiLambdaPolSPAQ1"), mass, v0.pt(), polSP_A, centrality, q1, wgt); histos.fill(HIST("hSparseAntiLambdaPolSPCQ1"), mass, v0.pt(), polSP_C, centrality, q1, wgt); @@ -519,10 +525,10 @@ struct flowDirectedFlowTask { histos.fill(HIST("hpResCosAC"), centrality, std::cos(psiA - psiC), q1); histos.fill(HIST("hpDotAC"), centrality, dotAC, q1); histos.fill(HIST("hpResDotAC"), centrality, resDot, q1); - histos.fill(HIST("hpQxAQxC"), centrality, qxA * qxC); - histos.fill(HIST("hpQyAQyC"), centrality, qyA * qyC); - histos.fill(HIST("hpQxAQyC"), centrality, qxA * qyC); - histos.fill(HIST("hpQxCQyA"), centrality, qxC * qyA); + histos.fill(HIST("hpQxAQxC"), centrality, qxA * qxC, q1); + histos.fill(HIST("hpQyAQyC"), centrality, qyA * qyC, q1); + histos.fill(HIST("hpQxAQyC"), centrality, qxA * qyC, q1); + histos.fill(HIST("hpQxCQyA"), centrality, qxC * qyA, q1); for (const auto& track : tracks) { if (!selectV1Track(track)) { @@ -538,6 +544,9 @@ struct flowDirectedFlowTask { float v1SPC = ux * qxC + uy * qyC; histos.fill(HIST("hV1SPFullQ1"), centrality, track.pt(), track.eta(), q1, v1SPFull); + histos.fill(HIST("hV1SPxxFullQ1"), centrality, track.pt(), track.eta(), q1, ux * qxFull); + histos.fill(HIST("hV1SPyyFullQ1"), centrality, track.pt(), track.eta(), q1, uy * qyFull); + histos.fill(HIST("hV1SPAQ1"), centrality, track.pt(), track.eta(), q1, v1SPA); histos.fill(HIST("hV1SPCQ1"), centrality, track.pt(), track.eta(), q1, v1SPC);