diff --git a/PWGHF/D2H/Tasks/taskD0.cxx b/PWGHF/D2H/Tasks/taskD0.cxx index 22225c4a951..088c3847b90 100644 --- a/PWGHF/D2H/Tasks/taskD0.cxx +++ b/PWGHF/D2H/Tasks/taskD0.cxx @@ -97,6 +97,7 @@ struct HfTaskD0 { Configurable storeTrackQuality{"storeTrackQuality", false, "Flag to store track quality information"}; Configurable storeZdcEnergy{"storeZdcEnergy", false, "Flag to store ZDC energy info"}; Configurable storeZdcTime{"storeZdcTime", false, "Flag to store ZDC time info"}; + Configurable storeEtaProngs{"storeEtaProngs", false, "Flag to store eta of the prongs"}; // ML inference Configurable applyMl{"applyMl", false, "Flag to apply ML selections"}; Configurable ccdbUrl{"ccdbUrl", "http://alice-ccdb.cern.ch", "url of the ccdb repository"}; @@ -167,6 +168,7 @@ struct HfTaskD0 { ConfigurableAxis thnConfigAxisFDD{"thnConfigAxisFDD", {200, 0., 4000.}, "axis for FDD amplitude (a.u.)"}; ConfigurableAxis thnConfigAxisZN{"thnConfigAxisZN", {510, -1.5, 49.5}, "axis for ZN energy (a.u.)"}; ConfigurableAxis thnConfigAxisTimeZN{"thnConfigAxisTimeZN", {700, -35., 35.}, "axis for ZN energy (a.u.)"}; + ConfigurableAxis thnConfigAxisEtaProng{"thnConfigAxisEtaProng", {200, -1., 1.}, "axis for eta of D0 prongs"}; HistogramRegistry registry{ "registry", @@ -322,6 +324,7 @@ struct HfTaskD0 { const AxisSpec thnAxisEnergyZNC{thnConfigAxisZN, "ZNC energy"}; const AxisSpec thnAxisTimeZNA{thnConfigAxisTimeZN, "ZNA Time"}; const AxisSpec thnAxisTimeZNC{thnConfigAxisTimeZN, "ZNC Time"}; + const AxisSpec thnAxisEtaProngs{thnConfigAxisEtaProng, "Eta of prongs"}; if (doprocessMcWithDCAFitterN || doprocessMcWithDCAFitterNCent || doprocessMcWithKFParticle || doprocessMcWithDCAFitterNMl || doprocessMcWithDCAFitterNMlCent || doprocessMcWithKFParticleMl) { std::vector axesAcc = {thnAxisGenPtD, thnAxisGenPtB, thnAxisY, thnAxisOrigin, thnAxisNumPvContr}; @@ -387,6 +390,10 @@ struct HfTaskD0 { axes.push_back(thnAxisTimeZNA); axes.push_back(thnAxisTimeZNC); } + if (storeEtaProngs) { + axes.push_back(thnAxisEtaProngs); + axes.push_back(thnAxisEtaProngs); + } } if (applyMl) { @@ -853,7 +860,8 @@ struct HfTaskD0 { int const nAxesOccIR = storeOccupancyAndIR ? 2 : 0; // occupancy and IR if storeOccupancyAndIR int const nAxesZdcEnergy = storeZdcEnergy ? 2 : 0; // ZDC energy if storeZdcEnergy int const nAxesZdcTime = storeZdcTime ? 2 : 0; // ZDC time if storeZdctime - int const nAxesTotal = NAxesBase + NAxesMl + nAxesCent + nAxesOccIR + nAxesZdcEnergy + nAxesZdcTime; + int const nAxesEtaProngs = storeEtaProngs ? 2 : 0; // Eta distributions of prong + int const nAxesTotal = NAxesBase + NAxesMl + nAxesCent + nAxesOccIR + nAxesZdcEnergy + nAxesZdcTime + nAxesEtaProngs; std::vector valuesToFill; valuesToFill.reserve(nAxesTotal); @@ -893,6 +901,10 @@ struct HfTaskD0 { valuesToFill.push_back(static_cast(zdcTimeZNA)); valuesToFill.push_back(static_cast(zdcTimeZNC)); } + if (storeEtaProngs) { + valuesToFill.push_back(static_cast(track0.eta())); + valuesToFill.push_back(static_cast(track1.eta())); + } if constexpr (FillMl) { registry.get(HIST("hBdtScoreVsMassVsPtVsPtBVsYVsOriginVsD0Type"))->Fill(valuesToFill.data()); } else {