@@ -97,6 +97,7 @@ struct HfTaskD0 {
9797 Configurable<bool > storeTrackQuality{" storeTrackQuality" , false , " Flag to store track quality information" };
9898 Configurable<bool > storeZdcEnergy{" storeZdcEnergy" , false , " Flag to store ZDC energy info" };
9999 Configurable<bool > storeZdcTime{" storeZdcTime" , false , " Flag to store ZDC time info" };
100+ Configurable<bool > storeEtaProngs{" storeEtaProngs" , false , " Flag to store eta of the prongs" };
100101 // ML inference
101102 Configurable<bool > applyMl{" applyMl" , false , " Flag to apply ML selections" };
102103 Configurable<std::string> ccdbUrl{" ccdbUrl" , " http://alice-ccdb.cern.ch" , " url of the ccdb repository" };
@@ -167,6 +168,7 @@ struct HfTaskD0 {
167168 ConfigurableAxis thnConfigAxisFDD{" thnConfigAxisFDD" , {200 , 0 ., 4000 .}, " axis for FDD amplitude (a.u.)" };
168169 ConfigurableAxis thnConfigAxisZN{" thnConfigAxisZN" , {510 , -1.5 , 49.5 }, " axis for ZN energy (a.u.)" };
169170 ConfigurableAxis thnConfigAxisTimeZN{" thnConfigAxisTimeZN" , {700 , -35 ., 35 .}, " axis for ZN energy (a.u.)" };
171+ ConfigurableAxis thnConfigAxisEtaProng{" thnConfigAxisEtaProng" , {200 , -1 ., 1 .}, " axis for eta of D0 prongs" };
170172
171173 HistogramRegistry registry{
172174 " registry" ,
@@ -322,6 +324,7 @@ struct HfTaskD0 {
322324 const AxisSpec thnAxisEnergyZNC{thnConfigAxisZN, " ZNC energy" };
323325 const AxisSpec thnAxisTimeZNA{thnConfigAxisTimeZN, " ZNA Time" };
324326 const AxisSpec thnAxisTimeZNC{thnConfigAxisTimeZN, " ZNC Time" };
327+ const AxisSpec thnAxisEtaProngs{thnConfigAxisEtaProng, " Eta of prongs" };
325328
326329 if (doprocessMcWithDCAFitterN || doprocessMcWithDCAFitterNCent || doprocessMcWithKFParticle || doprocessMcWithDCAFitterNMl || doprocessMcWithDCAFitterNMlCent || doprocessMcWithKFParticleMl) {
327330 std::vector<AxisSpec> axesAcc = {thnAxisGenPtD, thnAxisGenPtB, thnAxisY, thnAxisOrigin, thnAxisNumPvContr};
@@ -387,6 +390,10 @@ struct HfTaskD0 {
387390 axes.push_back (thnAxisTimeZNA);
388391 axes.push_back (thnAxisTimeZNC);
389392 }
393+ if (storeEtaProngs) {
394+ axes.push_back (thnAxisEtaProngs);
395+ axes.push_back (thnAxisEtaProngs);
396+ }
390397 }
391398
392399 if (applyMl) {
@@ -853,7 +860,8 @@ struct HfTaskD0 {
853860 int const nAxesOccIR = storeOccupancyAndIR ? 2 : 0 ; // occupancy and IR if storeOccupancyAndIR
854861 int const nAxesZdcEnergy = storeZdcEnergy ? 2 : 0 ; // ZDC energy if storeZdcEnergy
855862 int const nAxesZdcTime = storeZdcTime ? 2 : 0 ; // ZDC time if storeZdctime
856- int const nAxesTotal = NAxesBase + NAxesMl + nAxesCent + nAxesOccIR + nAxesZdcEnergy + nAxesZdcTime;
863+ int const nAxesEtaProngs = storeEtaProngs ? 2 : 0 ; // Eta distributions of prong
864+ int const nAxesTotal = NAxesBase + NAxesMl + nAxesCent + nAxesOccIR + nAxesZdcEnergy + nAxesZdcTime + nAxesEtaProngs;
857865
858866 std::vector<double > valuesToFill;
859867 valuesToFill.reserve (nAxesTotal);
@@ -893,6 +901,10 @@ struct HfTaskD0 {
893901 valuesToFill.push_back (static_cast <double >(zdcTimeZNA));
894902 valuesToFill.push_back (static_cast <double >(zdcTimeZNC));
895903 }
904+ if (storeEtaProngs) {
905+ valuesToFill.push_back (static_cast <double >(track0.eta ()));
906+ valuesToFill.push_back (static_cast <double >(track1.eta ()));
907+ }
896908 if constexpr (FillMl) {
897909 registry.get <THnSparse>(HIST (" hBdtScoreVsMassVsPtVsPtBVsYVsOriginVsD0Type" ))->Fill (valuesToFill.data ());
898910 } else {
0 commit comments