From 62fd41aece4cea0f594f8c166f2f8ead7455dcbb Mon Sep 17 00:00:00 2001 From: Francesca Ercolessi Date: Sun, 14 Dec 2025 12:59:47 +0100 Subject: [PATCH] weight with reverse efficiency --- .../Tasks/Nuspex/hadronnucleicorrelation.cxx | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/PWGLF/Tasks/Nuspex/hadronnucleicorrelation.cxx b/PWGLF/Tasks/Nuspex/hadronnucleicorrelation.cxx index 82e0feb18a3..f18e85682fd 100644 --- a/PWGLF/Tasks/Nuspex/hadronnucleicorrelation.cxx +++ b/PWGLF/Tasks/Nuspex/hadronnucleicorrelation.cxx @@ -950,11 +950,18 @@ struct hadronnucleicorrelation { isAntiDe = 0; } + float corr = 1.; + // Deuterons Fill & QA if (isAntiDe) { selectedtracks_antid[track.singleCollSelId()].push_back(std::make_shared(track)); + if (mode == 0 || mode == 2) { - registry.fill(HIST("hNtrig_total"), track.pt(), hEffpTEta_antideuteron->Interpolate(track.pt(), track.eta())); + + if (docorrection && hEffpTEta_antideuteron->Interpolate(track.pt(), track.eta()) > 0) { + corr = 1. / hEffpTEta_antideuteron->Interpolate(track.pt(), track.eta()); + } + registry.fill(HIST("hNtrig_total"), track.pt(), corr); } if (doQA) { @@ -968,7 +975,12 @@ struct hadronnucleicorrelation { selectedtracks_d[track.singleCollSelId()].push_back(std::make_shared(track)); if (mode == 1 || mode == 3) { - registry.fill(HIST("hNtrig_total"), track.pt(), hEffpTEta_deuteron->Interpolate(track.pt(), track.eta())); + + corr = 1.; + if (docorrection && hEffpTEta_deuteron->Interpolate(track.pt(), track.eta()) > 0) { + corr = 1. / hEffpTEta_deuteron->Interpolate(track.pt(), track.eta()); + } + registry.fill(HIST("hNtrig_total"), track.pt(), corr); } if (doQA) { @@ -984,7 +996,12 @@ struct hadronnucleicorrelation { selectedtracks_p[track.singleCollSelId()].push_back(std::make_shared(track)); if (mode == 6 || mode == 7) { - registry.fill(HIST("hNtrig_total"), track.pt(), hEffpTEta_proton->Interpolate(track.pt(), track.eta())); + + corr = 1.; + if (docorrection && hEffpTEta_proton->Interpolate(track.pt(), track.eta()) > 0) { + corr = 1. / hEffpTEta_proton->Interpolate(track.pt(), track.eta()); + } + registry.fill(HIST("hNtrig_total"), track.pt(), corr); } if (doQA) { @@ -997,7 +1014,11 @@ struct hadronnucleicorrelation { selectedtracks_antip[track.singleCollSelId()].push_back(std::make_shared(track)); if (mode == 4 || mode == 5) { - registry.fill(HIST("hNtrig_total"), track.pt(), hEffpTEta_antiproton->Interpolate(track.pt(), track.eta())); + corr = 1.; + if (docorrection && hEffpTEta_antiproton->Interpolate(track.pt(), track.eta()) > 0) { + corr = 1. / hEffpTEta_antiproton->Interpolate(track.pt(), track.eta()); + } + registry.fill(HIST("hNtrig_total"), track.pt(), corr); } if (doQA) {