From 245c38fa229a1f5c385ca48396ad7b21d8b5d208 Mon Sep 17 00:00:00 2001 From: Arkaprabha Saha Date: Thu, 23 Oct 2025 10:31:43 +0200 Subject: [PATCH 1/4] removed the mass of deuteron from the dE/dx calculation --- PWGLF/Tasks/Nuspex/antiNucleiTask.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGLF/Tasks/Nuspex/antiNucleiTask.cxx b/PWGLF/Tasks/Nuspex/antiNucleiTask.cxx index 6f4070219f5..96f220b9701 100644 --- a/PWGLF/Tasks/Nuspex/antiNucleiTask.cxx +++ b/PWGLF/Tasks/Nuspex/antiNucleiTask.cxx @@ -138,7 +138,7 @@ struct antiNucleiTask { // Track Selection for (const auto& track : tracks) { - double expBethe{tpc::BetheBlochAleph(static_cast(track.tpcInnerParam() / o2::constants::physics::MassDeuteron), cfgBetheBlochParams->get("p0"), cfgBetheBlochParams->get("p1"), cfgBetheBlochParams->get("p2"), cfgBetheBlochParams->get("p3"), cfgBetheBlochParams->get("p4"))}; + double expBethe{tpc::BetheBlochAleph(static_cast(track.tpcInnerParam()), cfgBetheBlochParams->get("p0"), cfgBetheBlochParams->get("p1"), cfgBetheBlochParams->get("p2"), cfgBetheBlochParams->get("p3"), cfgBetheBlochParams->get("p4"))}; double expSigma{expBethe * cfgBetheBlochParams->get("resolution")}; float tpcNSigmaDeuteron = static_cast((track.tpcSignal() - expBethe) / expSigma); From 4202a4061087520f9acd3bde67d038f628a5950f Mon Sep 17 00:00:00 2001 From: Arkaprabha Saha Date: Thu, 23 Oct 2025 11:02:55 +0200 Subject: [PATCH 2/4] Update: changing struct name and removing De mass from dE/dx calculation --- .../Nuspex/{antiNucleiTask.cxx => AntiNucleiTask.cxx} | 8 ++++---- PWGLF/Tasks/Nuspex/CMakeLists.txt | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) rename PWGLF/Tasks/Nuspex/{antiNucleiTask.cxx => AntiNucleiTask.cxx} (97%) diff --git a/PWGLF/Tasks/Nuspex/antiNucleiTask.cxx b/PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx similarity index 97% rename from PWGLF/Tasks/Nuspex/antiNucleiTask.cxx rename to PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx index 96f220b9701..3cf9fcb8758 100644 --- a/PWGLF/Tasks/Nuspex/antiNucleiTask.cxx +++ b/PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx @@ -9,7 +9,7 @@ // granted to it by virtue of its status as an Intergovernmental Organization // or submit itself to any jurisdiction. -/// \file antiNucleiTask.cxx +/// \file AntiNucleiTask.cxx /// \brief A task to analyse Anti-nuclei /// \author Arkaprabha Saha @@ -48,7 +48,7 @@ static const int minTpcCrossedRowsCut = 70; static const float maxVertexZCut = 10.f; } // namespace -struct antiNucleiTask { +struct AntiNucleiTask { // Histogram registry: for holding histograms HistogramRegistry histos{"histos", {}, OutputObjHandlingPolicy::AnalysisObject}; @@ -165,11 +165,11 @@ struct antiNucleiTask { } } - PROCESS_SWITCH(antiNucleiTask, process, "process", true); + PROCESS_SWITCH(AntiNucleiTask, process, "process", true); }; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { return WorkflowSpec{ - adaptAnalysisTask(cfgc)}; + adaptAnalysisTask(cfgc)}; } diff --git a/PWGLF/Tasks/Nuspex/CMakeLists.txt b/PWGLF/Tasks/Nuspex/CMakeLists.txt index 0ce50257c6f..3242c18130c 100644 --- a/PWGLF/Tasks/Nuspex/CMakeLists.txt +++ b/PWGLF/Tasks/Nuspex/CMakeLists.txt @@ -120,7 +120,7 @@ o2physics_add_dpl_workflow(nuclei-ebye COMPONENT_NAME Analysis) o2physics_add_dpl_workflow(anti-nuclei-hist - SOURCES antiNucleiTask.cxx + SOURCES AntiNucleiTask.cxx PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore COMPONENT_NAME Analysis) From 01e9df67ea133c3a69ee4b3908d632456a8845fd Mon Sep 17 00:00:00 2001 From: Arkaprabha Saha Date: Sat, 25 Oct 2025 01:22:17 +0200 Subject: [PATCH 3/4] refined the pT axis range and binning --- PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx b/PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx index 3cf9fcb8758..3601b513f5b 100644 --- a/PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx +++ b/PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx @@ -69,7 +69,7 @@ struct AntiNucleiTask { ConfigurableAxis phiAxis{"phiAxis", {70, 0.f, 7.f}, "#phi"}; ConfigurableAxis zVtxAxis{"zVtxAxis", {100, -20.f, 20.f}, "Primary Vertex z (cm)"}; ConfigurableAxis nSigmaAxis{"nSigmaAxis", {50, -5.f, 5.f}, "N_{#sigma}"}; - ConfigurableAxis ptAxis{"ptAxis", {100, -5.0f, 5.0f}, "p_{T} (GeV/c)"}; + ConfigurableAxis ptAxis{"ptAxis", {200, -10.0f, 10.0f}, "p_{T} (GeV/c)"}; ConfigurableAxis centAxis{"centAxis", {100, 0, 100.0f}, "Centrality"}; ConfigurableAxis momAxis{"momAxis", {5.e2, 0.f, 5.f}, "momentum axis binning"}; ConfigurableAxis tpcAxis{"tpcAxis", {4.e2, 0.f, 4.e3f}, "tpc signal axis binning"}; From 788bb0eddf717978ff4b776018d88f3057dfafa1 Mon Sep 17 00:00:00 2001 From: Arkaprabha Saha Date: Sun, 26 Oct 2025 02:17:53 +0200 Subject: [PATCH 4/4] updated the pT calculation for helium3 and fixed some variable names --- PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx b/PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx index 3601b513f5b..96a16bd79e9 100644 --- a/PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx +++ b/PWGLF/Tasks/Nuspex/AntiNucleiTask.cxx @@ -140,14 +140,14 @@ struct AntiNucleiTask { double expBethe{tpc::BetheBlochAleph(static_cast(track.tpcInnerParam()), cfgBetheBlochParams->get("p0"), cfgBetheBlochParams->get("p1"), cfgBetheBlochParams->get("p2"), cfgBetheBlochParams->get("p3"), cfgBetheBlochParams->get("p4"))}; double expSigma{expBethe * cfgBetheBlochParams->get("resolution")}; - float tpcNSigmaDeuteron = static_cast((track.tpcSignal() - expBethe) / expSigma); + float tpcNSigma = static_cast((track.tpcSignal() - expBethe) / expSigma); - float pt = track.sign() > 0 ? track.pt() : -track.pt(); + float pt = track.sign() > 0 ? 2 * track.pt() : -2 * track.pt(); // Filling histograms with track data before applying any cuts. histos.fill(HIST("RawEta"), track.eta()); histos.fill(HIST("RawPhi"), track.phi()); histos.fill(HIST("RawPt"), pt); - histos.fill(HIST("RawtpcNSigma"), collision.centFT0C(), pt, tpcNSigmaDeuteron); + histos.fill(HIST("RawtpcNSigma"), collision.centFT0C(), pt, tpcNSigma); histos.fill(HIST("RawtofNSigma"), collision.centFT0C(), pt, track.tofNSigmaDe()); // If the track is good, fill the "after cuts" histograms. @@ -155,10 +155,10 @@ struct AntiNucleiTask { histos.fill(HIST("Eta"), track.eta()); histos.fill(HIST("Phi"), track.phi()); histos.fill(HIST("Pt"), pt); - histos.fill(HIST("tpcNSigma"), collision.centFT0C(), pt, tpcNSigmaDeuteron); + histos.fill(HIST("tpcNSigma"), collision.centFT0C(), pt, tpcNSigma); histos.fill(HIST("TpcSignal"), track.tpcInnerParam(), track.tpcSignal()); - if (std::abs(tpcNSigmaDeuteron) < tpcNSigmaCut) { + if (std::abs(tpcNSigma) < tpcNSigmaCut) { histos.fill(HIST("tofNSigma"), collision.centFT0C(), pt, track.tofNSigmaDe()); } }