From 5ce3297c5be85a820e54212bb4c72590b099b11b Mon Sep 17 00:00:00 2001 From: miedema-11 <1260971129@qq.com> Date: Wed, 26 Aug 2026 23:57:15 +0800 Subject: [PATCH 1/4] get weff2 corrected --- PWGUD/Tasks/flowCorrelationsUpc.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/PWGUD/Tasks/flowCorrelationsUpc.cxx b/PWGUD/Tasks/flowCorrelationsUpc.cxx index 57114a3f977..faeb7de083f 100644 --- a/PWGUD/Tasks/flowCorrelationsUpc.cxx +++ b/PWGUD/Tasks/flowCorrelationsUpc.cxx @@ -470,9 +470,11 @@ struct FlowCorrelationsUpc { double phi1 = RecoDecay::phi(momentum1); double eta1 = RecoDecay::eta(momentum1); - float weff1 = 1., wacc1 = 1.; + float weff1 = 1.; + if (!getEfficiencyCorrection(weff1, eta1, pt1, posZ)) + continue; if (system == SameEvent) { - registry.fill(HIST("Trig_hist"), fSampleIndex, posZ, independent, pt1, eventWeight * weff1 * wacc1); + registry.fill(HIST("Trig_hist"), fSampleIndex, posZ, independent, pt1, eventWeight * weff1); } for (auto const& track2 : tracks2) { @@ -495,7 +497,7 @@ struct FlowCorrelationsUpc { double phi2 = RecoDecay::phi(momentum2); double eta2 = RecoDecay::eta(momentum2); - float weff2 = 1., wacc2 = 1.; + float weff2 = 1.; if (mEfficiency) { weff2 = efficiencyCache[track2.filteredIndex()]; } else { @@ -505,7 +507,7 @@ struct FlowCorrelationsUpc { float deltaPhi = RecoDecay::constrainAngle(phi1 - phi2, -PIHalf); float deltaEta = eta1 - eta2; - float weight = eventWeight * weff1 * weff2 * wacc1 * wacc2; + float weight = eventWeight * weff1 * weff2; // Merging cut if (std::abs(deltaEta) < cfgCutMerging) { From 639628660ac698165b04c8855e02245c1a9298c7 Mon Sep 17 00:00:00 2001 From: miedema-11 <1260971129@qq.com> Date: Thu, 3 Sep 2026 20:33:04 +0800 Subject: [PATCH 2/4] fix zdc gapside selection --- PWGUD/Tasks/flowCorrelationsUpc.cxx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/PWGUD/Tasks/flowCorrelationsUpc.cxx b/PWGUD/Tasks/flowCorrelationsUpc.cxx index faeb7de083f..d708c17e5ae 100644 --- a/PWGUD/Tasks/flowCorrelationsUpc.cxx +++ b/PWGUD/Tasks/flowCorrelationsUpc.cxx @@ -281,11 +281,15 @@ struct FlowCorrelationsUpc { return false; } // if A or C gap is requested, keep corresponding neutron class - if (cfgGapSide == 0 || cfgGapSide == 1) { - if ((cfgGapSide == 0 && neutronClass == 1) || (cfgGapSide == 1 && neutronClass == 2)) { // o2-linter: disable=magic-number (ZDC time cut) - // accepted - } else { - return false; + if (cfgGapSideMerge) { + // accepted + } else { + if (cfgGapSide == 0 || cfgGapSide == 1) { + if ((cfgGapSide == 0 && neutronClass == 1) || (cfgGapSide == 1 && neutronClass == 2)) { // o2-linter: disable=magic-number (ZDC time cut) + // accepted + } else { + return false; + } } } } From 750de87c87d2df692fc211422d8434a436c6cf5a Mon Sep 17 00:00:00 2001 From: miedema-11 <1260971129@qq.com> Date: Tue, 29 Sep 2026 16:20:35 +0800 Subject: [PATCH 3/4] ZDCtiming gapside fixed --- PWGUD/Tasks/flowCumulantsUpc.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PWGUD/Tasks/flowCumulantsUpc.cxx b/PWGUD/Tasks/flowCumulantsUpc.cxx index e7ccfdb51e4..19f29620a21 100644 --- a/PWGUD/Tasks/flowCumulantsUpc.cxx +++ b/PWGUD/Tasks/flowCumulantsUpc.cxx @@ -738,13 +738,13 @@ struct FlowCumulantsUpc { registry.fill(HIST("neutronClass"), 0, 0); } if (std::abs(timeZNA) <= cfgZdcTimeCut && std::abs(timeZNC) > cfgZdcTimeCut) { - neutronClass = 1; - registry.fill(HIST("neutronClass"), 0, 1); - } - if (std::abs(timeZNA) > cfgZdcTimeCut && std::abs(timeZNC) <= cfgZdcTimeCut) { neutronClass = 2; registry.fill(HIST("neutronClass"), 1, 0); } + if (std::abs(timeZNA) > cfgZdcTimeCut && std::abs(timeZNC) <= cfgZdcTimeCut) { + neutronClass = 1; + registry.fill(HIST("neutronClass"), 0, 1); + } if (std::abs(timeZNA) <= cfgZdcTimeCut && std::abs(timeZNC) <= cfgZdcTimeCut) { neutronClass = 3; registry.fill(HIST("neutronClass"), 1, 1); From 8735ce0d7ca08ed1c4a85a3ae99bcfacbb4b9789 Mon Sep 17 00:00:00 2001 From: miedema-11 <1260971129@qq.com> Date: Wed, 30 Sep 2026 10:51:48 +0800 Subject: [PATCH 4/4] fix zdc gapside selection --- PWGUD/Tasks/flowCorrelationsUpc.cxx | 33 +++++++++-------------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/PWGUD/Tasks/flowCorrelationsUpc.cxx b/PWGUD/Tasks/flowCorrelationsUpc.cxx index d708c17e5ae..a1dae010e98 100644 --- a/PWGUD/Tasks/flowCorrelationsUpc.cxx +++ b/PWGUD/Tasks/flowCorrelationsUpc.cxx @@ -78,7 +78,6 @@ struct FlowCorrelationsUpc { O2_DEFINE_CONFIGURABLE(cfgDcazCut, float, 2.0, "dcaz cut") O2_DEFINE_CONFIGURABLE(cfgMaxTPCChi2NCl, int, 4, "tpcchi2") O2_DEFINE_CONFIGURABLE(cfgGapSide, int, 1, "choose one side 0:A; 1:C") - O2_DEFINE_CONFIGURABLE(cfgGapSideMerge, bool, true, "merge A and C side") O2_DEFINE_CONFIGURABLE(cfgCutTPCCrossedRows, float, 70.0f, "minimum number of crossed TPC Rows") O2_DEFINE_CONFIGURABLE(cfgCutTPCclu, float, 50.0f, "minimum number of found TPC clusters") O2_DEFINE_CONFIGURABLE(cfgCutITSclu, float, 5.0f, "minimum number of ITS clusters") @@ -122,11 +121,7 @@ struct FlowCorrelationsUpc { // make the filters and cuts. Filter trackFilter = (aod::udtrack::isPVContributor == true); - Filter collisionFilter = cfgGapSideMerge - ? ((aod::udcollision::gapSide == (uint8_t)0 || aod::udcollision::gapSide == (uint8_t)1) && - (aod::upcservice::truegapside == 0 || aod::upcservice::truegapside == 1)) - : ((aod::udcollision::gapSide == (uint8_t)cfgGapSide) && - (aod::upcservice::truegapside == cfgGapSide)); + Filter collisionFilter = ((aod::udcollision::gapSide == (uint8_t)cfgGapSide) && (aod::upcservice::truegapside == cfgGapSide)); // Connect to ccdb Service ccdb{}; @@ -264,13 +259,13 @@ struct FlowCorrelationsUpc { registry.fill(HIST("neutronClass"), 0, 0); } if (std::abs(timeZNA) <= cfgZdcTimeCut && std::abs(timeZNC) > cfgZdcTimeCut) { - neutronClass = 1; - registry.fill(HIST("neutronClass"), 0, 1); - } - if (std::abs(timeZNA) > cfgZdcTimeCut && std::abs(timeZNC) <= cfgZdcTimeCut) { neutronClass = 2; registry.fill(HIST("neutronClass"), 1, 0); } + if (std::abs(timeZNA) > cfgZdcTimeCut && std::abs(timeZNC) <= cfgZdcTimeCut) { + neutronClass = 1; + registry.fill(HIST("neutronClass"), 0, 1); + } if (std::abs(timeZNA) <= cfgZdcTimeCut && std::abs(timeZNC) <= cfgZdcTimeCut) { neutronClass = 3; registry.fill(HIST("neutronClass"), 1, 1); @@ -281,15 +276,11 @@ struct FlowCorrelationsUpc { return false; } // if A or C gap is requested, keep corresponding neutron class - if (cfgGapSideMerge) { - // accepted - } else { - if (cfgGapSide == 0 || cfgGapSide == 1) { - if ((cfgGapSide == 0 && neutronClass == 1) || (cfgGapSide == 1 && neutronClass == 2)) { // o2-linter: disable=magic-number (ZDC time cut) - // accepted - } else { - return false; - } + if (cfgGapSide == 0 || cfgGapSide == 1) { + if ((cfgGapSide == 0 && neutronClass == 1) || (cfgGapSide == 1 && neutronClass == 2)) { // o2-linter: disable=magic-number (ZDC time cut) + // accepted + } else { + return false; } } } @@ -332,10 +323,6 @@ struct FlowCorrelationsUpc { return false; } - if (!zdcTimeCut(collision)) { - return false; - } - return true; }