Skip to content

Commit c5b66a6

Browse files
phymanshualibuild
andauthored
[PWGHF] Add PID, track eta and ZDC time histograms in UPC process (#15559)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 89ffabd commit c5b66a6

File tree

1 file changed

+120
-19
lines changed

1 file changed

+120
-19
lines changed

PWGHF/D2H/Tasks/taskD0.cxx

Lines changed: 120 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ struct HfTaskD0 {
9494
Configurable<bool> storeCentrality{"storeCentrality", false, "Flag to store centrality information"};
9595
Configurable<bool> storeOccupancyAndIR{"storeOccupancyAndIR", false, "Flag to store occupancy information and interaction rate"};
9696
Configurable<bool> storeTrackQuality{"storeTrackQuality", false, "Flag to store track quality information"};
97+
Configurable<bool> storeZdcEnergy{"storeZdcEnergy", false, "Flag to store ZDC energy info"};
98+
Configurable<bool> storeZdcTime{"storeZdcTime", true, "Flag to store ZDC time info"};
9799
// ML inference
98100
Configurable<bool> applyMl{"applyMl", false, "Flag to apply ML selections"};
99101
Configurable<std::string> ccdbUrl{"ccdbUrl", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};
@@ -121,6 +123,7 @@ struct HfTaskD0 {
121123
using CollisionsWithMcLabels = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::EvSels>;
122124
using CollisionsWithMcLabelsCent = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::EvSels, aod::CentFT0Ms, aod::CentFT0Cs>;
123125
using TracksSelQuality = soa::Join<aod::TracksExtra, aod::TracksWMc>;
126+
using TracksWPid = soa::Join<aod::Tracks, aod::TracksPidPi, aod::PidTpcTofFullPi, aod::TracksPidKa, aod::PidTpcTofFullKa>;
124127

125128
Filter filterD0Flag = (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(aod::hf_cand_2prong::DecayType::D0ToPiK))) != static_cast<uint8_t>(0);
126129

@@ -161,6 +164,7 @@ struct HfTaskD0 {
161164
ConfigurableAxis thnConfigAxisFV0A{"thnConfigAxisFV0A", {2001, -1.5, 1999.5}, "axis for FV0-A amplitude (a.u.)"};
162165
ConfigurableAxis thnConfigAxisFDD{"thnConfigAxisFDD", {200, 0., 4000.}, "axis for FDD amplitude (a.u.)"};
163166
ConfigurableAxis thnConfigAxisZN{"thnConfigAxisZN", {510, -1.5, 49.5}, "axis for ZN energy (a.u.)"};
167+
ConfigurableAxis thnConfigAxisTimeZN{"thnConfigAxisTimeZN", {700, -35., 35.}, "axis for ZN energy (a.u.)"};
164168

165169
HistogramRegistry registry{
166170
"registry",
@@ -248,7 +252,10 @@ struct HfTaskD0 {
248252
LOGP(fatal, "DCAFitterN and KFParticle can not be enabled at a time.");
249253
}
250254
if ((storeCentrality || storeOccupancyAndIR) && !(doprocessDataWithDCAFitterNCent || doprocessMcWithDCAFitterNCent || doprocessDataWithDCAFitterNMlCent || doprocessMcWithDCAFitterNMlCent || doprocessDataWithDCAFitterNWithUpc || doprocessDataWithDCAFitterNMlWithUpc)) {
251-
LOGP(fatal, "Can't enable the storeCentrality and storeOccupancu without cent process or UPC process");
255+
LOGP(fatal, "Can't enable the storeCentrality and storeOccupancy without cent process or UPC process");
256+
}
257+
if ((storeZdcEnergy || storeZdcTime) && !(doprocessDataWithDCAFitterNWithUpc || doprocessDataWithDCAFitterNMlWithUpc)) {
258+
LOGP(fatal, "Can't enable the storeZdcEnergy and storeZdcTime without UPC process");
252259
}
253260
auto vbins = (std::vector<double>)binsPt;
254261
registry.add("hMass", "2-prong candidates;inv. mass (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{500, 0., 5.}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
@@ -309,8 +316,10 @@ struct HfTaskD0 {
309316
const AxisSpec thnAxisFV0A{thnConfigAxisFV0A, "FV0-A amplitude"};
310317
const AxisSpec thnAxisFDDA{thnConfigAxisFDD, "FDD-A amplitude"};
311318
const AxisSpec thnAxisFDDC{thnConfigAxisFDD, "FDD-C amplitude"};
312-
const AxisSpec thnAxisZNA{thnConfigAxisZN, "ZNA energy"};
313-
const AxisSpec thnAxisZNC{thnConfigAxisZN, "ZNC energy"};
319+
const AxisSpec thnAxisEnergyZNA{thnConfigAxisZN, "ZNA energy"};
320+
const AxisSpec thnAxisEnergyZNC{thnConfigAxisZN, "ZNC energy"};
321+
const AxisSpec thnAxisTimeZNA{thnConfigAxisTimeZN, "ZNA Time"};
322+
const AxisSpec thnAxisTimeZNC{thnConfigAxisTimeZN, "ZNC Time"};
314323

315324
if (doprocessMcWithDCAFitterN || doprocessMcWithDCAFitterNCent || doprocessMcWithKFParticle || doprocessMcWithDCAFitterNMl || doprocessMcWithDCAFitterNMlCent || doprocessMcWithKFParticleMl) {
316325
std::vector<AxisSpec> axesAcc = {thnAxisGenPtD, thnAxisGenPtB, thnAxisY, thnAxisOrigin, thnAxisNumPvContr};
@@ -367,9 +376,15 @@ struct HfTaskD0 {
367376
axes.push_back(thnAxisFV0A);
368377
axes.push_back(thnAxisFDDA);
369378
axes.push_back(thnAxisFDDC);
370-
axes.push_back(thnAxisZNA);
371-
axes.push_back(thnAxisZNC);
372379
axes.push_back(thnAxisNumPvContr);
380+
if (storeZdcEnergy) {
381+
axes.push_back(thnAxisEnergyZNA);
382+
axes.push_back(thnAxisEnergyZNC);
383+
}
384+
if (storeZdcTime) {
385+
axes.push_back(thnAxisTimeZNA);
386+
axes.push_back(thnAxisTimeZNC);
387+
}
373388
}
374389

375390
if (applyMl) {
@@ -381,9 +396,39 @@ struct HfTaskD0 {
381396
}
382397

383398
registry.add("Data/fitInfo/ampFT0A_vs_ampFT0C", "FT0-A vs FT0-C amplitude;FT0-A amplitude (a.u.);FT0-C amplitude (a.u.)", {HistType::kTH2F, {{2500, 0., 250}, {2500, 0., 250}}});
384-
registry.add("Data/zdc/energyZNA_vs_energyZNC", "ZNA vs ZNC common energy;E_{ZNA}^{common} (a.u.);E_{ZNC}^{common} (a.u.)", {HistType::kTH2F, {{200, 0., 20}, {200, 0., 20}}});
399+
registry.add("Data/zdc/energyZNA_vs_energyZNC", "ZNA vs ZNC common energy;E_{ZNA}^{common} (a.u.);E_{ZNC}^{common} (a.u.)", {HistType::kTH2F, {{200, 0., 200}, {1000, 0., 2000}}});
400+
registry.add("Data/zdc/timeZNA_vs_timeZNC", "ZNA vs ZNC time;ZNA Time;ZNC time", {HistType::kTH2F, {{700, -35., 35.}, {700, -35., 35.}}});
385401
registry.add("Data/hUpcGapAfterSelection", "UPC gap type after selection;Gap type;Counts", {HistType::kTH1F, {{7, -1.5, 5.5}}});
386-
registry.add("Data/hGapVsEta", "UPC gap vs Eta;Gap type;Eta", {HistType::kTH2F, {{7, -1.5, 5.5}, {50, -1., 1.}}});
402+
registry.add("Data/hGapVsEtaTrack0", "UPC gap vs Eta;Gap type;Eta", {HistType::kTH2F, {{7, -1.5, 5.5}, {50, -1., 1.}}});
403+
registry.add("Data/hGapVsEtaTrack1", "UPC gap vs Eta;Gap type;Eta", {HistType::kTH2F, {{7, -1.5, 5.5}, {50, -1., 1.}}});
404+
405+
registry.add("Data/hTPCnSigProng0Pion_GapA", "Gap A Prong 0;P (GeV/c) ;TPC nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
406+
registry.add("Data/hTPCnSigProng1Kaon_GapA", "Gap A Prong 1;P (GeV/c) ;TPC nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
407+
registry.add("Data/hTPCnSigProng0Kaon_GapA", "Gap A Prong 0;P (GeV/c) ;TPC nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
408+
registry.add("Data/hTPCnSigProng1Pion_GapA", "Gap A Prong 1;P (GeV/c) ;TPC nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
409+
registry.add("Data/hTPCnSigProng0Pion_GapC", "Gap C Prong 0;P (GeV/c) ;TPC nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
410+
registry.add("Data/hTPCnSigProng1Kaon_GapC", "Gap C Prong 1;P (GeV/c) ;TPC nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
411+
registry.add("Data/hTPCnSigProng0Kaon_GapC", "Gap C Prong 0;P (GeV/c) ;TPC nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
412+
registry.add("Data/hTPCnSigProng1Pion_GapC", "Gap C Prong 1;P (GeV/c) ;TPC nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
413+
414+
registry.add("Data/hTOFnSigProng0Pion_GapA", "Gap A Prong 0;P (GeV/c) ;TOF nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
415+
registry.add("Data/hTOFnSigProng1Kaon_GapA", "Gap A Prong 1;P (GeV/c) ;TOF nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
416+
registry.add("Data/hTOFnSigProng0Kaon_GapA", "Gap A Prong 0;P (GeV/c) ;TOF nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
417+
registry.add("Data/hTOFnSigProng1Pion_GapA", "Gap A Prong 1;P (GeV/c) ;TOF nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
418+
registry.add("Data/hTOFnSigProng0Pion_GapC", "Gap C Prong 0;P (GeV/c) ;TOF nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
419+
registry.add("Data/hTOFnSigProng1Kaon_GapC", "Gap C Prong 1;P (GeV/c) ;TOF nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
420+
registry.add("Data/hTOFnSigProng0Kaon_GapC", "Gap C Prong 0;P (GeV/c) ;TOF nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
421+
registry.add("Data/hTOFnSigProng1Pion_GapC", "Gap C Prong 1;P (GeV/c) ;TOF nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {120, -6., 6.}}});
422+
423+
registry.add("Data/hTpcTofnSigProng0Pion_GapA", "Gap A Prong 0;P (GeV/c) ;TpcTof nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {50, 0., 10.}}});
424+
registry.add("Data/hTpcTofnSigProng1Kaon_GapA", "Gap A Prong 1;P (GeV/c) ;TpcTof nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {50, 0., 10.}}});
425+
registry.add("Data/hTpcTofnSigProng0Kaon_GapA", "Gap A Prong 0;P (GeV/c) ;TpcTof nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {50, 0., 10.}}});
426+
registry.add("Data/hTpcTofnSigProng1Pion_GapA", "Gap A Prong 1;P (GeV/c) ;TpcTof nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {50, 0., 10.}}});
427+
registry.add("Data/hTpcTofnSigProng0Pion_GapC", "Gap C Prong 0;P (GeV/c) ;TpcTof nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {50, 0., 10.}}});
428+
registry.add("Data/hTpcTofnSigProng1Kaon_GapC", "Gap C Prong 1;P (GeV/c) ;TpcTof nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {50, 0., 10.}}});
429+
registry.add("Data/hTpcTofnSigProng0Kaon_GapC", "Gap C Prong 0;P (GeV/c) ;TpcTof nSigma Pion", {HistType::kTH2F, {{100, 0, 50}, {50, 0., 10.}}});
430+
registry.add("Data/hTpcTofnSigProng1Pion_GapC", "Gap C Prong 1;P (GeV/c) ;TpcTof nSigma Kaon", {HistType::kTH2F, {{100, 0, 50}, {50, 0., 10.}}});
431+
387432
registry.add("Data/hGapVsRap", "UPC gap vs Eta;Gap type;Eta", {HistType::kTH2F, {{7, -1.5, 5.5}, {50, -1., 1.}}});
388433

389434
hfEvSel.addHistograms(registry);
@@ -579,7 +624,8 @@ struct HfTaskD0 {
579624
BCsType const& bcs,
580625
aod::FT0s const& ft0s,
581626
aod::FV0As const& fv0as,
582-
aod::FDDs const& fdds)
627+
aod::FDDs const& fdds,
628+
TracksWPid const&)
583629
{
584630
for (const auto& collision : collisions) {
585631
float centrality{-1.f};
@@ -599,7 +645,6 @@ struct HfTaskD0 {
599645
if (gapResult.bc) {
600646
bcForUPC = *(gapResult.bc);
601647
}
602-
603648
// Get FIT information from the UPC BC
604649
upchelpers::FITInfo fitInfo{};
605650
udhelpers::getFITinfo(fitInfo, bcForUPC, bcs, ft0s, fv0as, fdds);
@@ -608,13 +653,18 @@ struct HfTaskD0 {
608653
const bool hasZdc = bcForUPC.has_zdc();
609654
float zdcEnergyZNA = -1.f;
610655
float zdcEnergyZNC = -1.f;
656+
float zdcTimeZNA = -999.f;
657+
float zdcTimeZNC = -999.f;
658+
611659
if (hasZdc) {
612660
const auto& zdc = bcForUPC.zdc();
613661
zdcEnergyZNA = zdc.energyCommonZNA();
614662
zdcEnergyZNC = zdc.energyCommonZNC();
663+
zdcTimeZNA = zdc.timeZNA();
664+
zdcTimeZNC = zdc.timeZNC();
615665
registry.fill(HIST("Data/zdc/energyZNA_vs_energyZNC"), zdcEnergyZNA, zdcEnergyZNC);
666+
registry.fill(HIST("Data/zdc/timeZNA_vs_timeZNC"), zdcTimeZNA, zdcTimeZNC);
616667
}
617-
618668
registry.fill(HIST("Data/fitInfo/ampFT0A_vs_ampFT0C"), fitInfo.ampFT0A, fitInfo.ampFT0C);
619669
registry.fill(HIST("Data/hUpcGapAfterSelection"), gap);
620670

@@ -637,9 +687,50 @@ struct HfTaskD0 {
637687
const float massD0 = HfHelper::invMassD0ToPiK(candidate);
638688
const float massD0bar = HfHelper::invMassD0barToKPi(candidate);
639689
const auto ptCandidate = candidate.pt();
640-
registry.fill(HIST("Data/hGapVsEta"), gap, candidate.eta());
690+
691+
auto track0 = candidate.template prong0_as<TracksWPid>();
692+
auto track1 = candidate.template prong1_as<TracksWPid>();
693+
694+
registry.fill(HIST("Data/hGapVsEtaTrack0"), gap, track0.eta());
695+
registry.fill(HIST("Data/hGapVsEtaTrack1"), gap, track1.eta());
641696
registry.fill(HIST("Data/hGapVsRap"), gap, HfHelper::yD0(candidate));
642697

698+
if (gap == 0 && candidate.isSelD0() >= selectionFlagD0) { // A side // D0 --> K-Pi+
699+
registry.fill(HIST("Data/hTPCnSigProng0Pion_GapA"), track0.p(), track0.tpcNSigmaPi());
700+
registry.fill(HIST("Data/hTPCnSigProng1Kaon_GapA"), track1.p(), track1.tpcNSigmaKa());
701+
registry.fill(HIST("Data/hTOFnSigProng0Pion_GapA"), track0.p(), track0.tofNSigmaPi());
702+
registry.fill(HIST("Data/hTOFnSigProng1Kaon_GapA"), track1.p(), track1.tofNSigmaKa());
703+
registry.fill(HIST("Data/hTpcTofnSigProng0Pion_GapA"), track0.p(), track0.tpcTofNSigmaPi());
704+
registry.fill(HIST("Data/hTpcTofnSigProng1Kaon_GapA"), track1.p(), track1.tpcTofNSigmaKa());
705+
}
706+
707+
if (gap == 0 && candidate.isSelD0bar() >= selectionFlagD0) { // A side // D0-bar --> K+Pi-
708+
registry.fill(HIST("Data/hTPCnSigProng0Kaon_GapA"), track0.p(), track0.tpcNSigmaKa());
709+
registry.fill(HIST("Data/hTPCnSigProng1Pion_GapA"), track1.p(), track1.tpcNSigmaPi());
710+
registry.fill(HIST("Data/hTOFnSigProng0Kaon_GapA"), track0.p(), track0.tofNSigmaKa());
711+
registry.fill(HIST("Data/hTOFnSigProng1Pion_GapA"), track1.p(), track1.tofNSigmaPi());
712+
registry.fill(HIST("Data/hTpcTofnSigProng0Kaon_GapA"), track0.p(), track0.tpcTofNSigmaKa());
713+
registry.fill(HIST("Data/hTpcTofnSigProng1Pion_GapA"), track1.p(), track1.tpcTofNSigmaPi());
714+
}
715+
716+
if (gap == 1 && candidate.isSelD0() >= selectionFlagD0) { // C side // D0 --> K-Pi+
717+
registry.fill(HIST("Data/hTPCnSigProng0Pion_GapC"), track0.p(), track0.tpcNSigmaPi());
718+
registry.fill(HIST("Data/hTPCnSigProng1Kaon_GapC"), track1.p(), track1.tpcNSigmaKa());
719+
registry.fill(HIST("Data/hTOFnSigProng0Pion_GapC"), track0.p(), track0.tofNSigmaPi());
720+
registry.fill(HIST("Data/hTOFnSigProng1Kaon_GapC"), track1.p(), track1.tofNSigmaKa());
721+
registry.fill(HIST("Data/hTpcTofnSigProng0Pion_GapC"), track0.p(), track0.tpcTofNSigmaPi());
722+
registry.fill(HIST("Data/hTpcTofnSigProng1Kaon_GapC"), track1.p(), track1.tpcTofNSigmaKa());
723+
}
724+
725+
if (gap == 1 && candidate.isSelD0bar() >= selectionFlagD0) { // C side // D0-bar --> K+Pi-
726+
registry.fill(HIST("Data/hTPCnSigProng0Kaon_GapC"), track0.p(), track0.tpcNSigmaKa());
727+
registry.fill(HIST("Data/hTPCnSigProng1Pion_GapC"), track1.p(), track1.tpcNSigmaPi());
728+
registry.fill(HIST("Data/hTOFnSigProng0Kaon_GapC"), track0.p(), track0.tofNSigmaKa());
729+
registry.fill(HIST("Data/hTOFnSigProng1Pion_GapC"), track1.p(), track1.tofNSigmaPi());
730+
registry.fill(HIST("Data/hTpcTofnSigProng0Kaon_GapC"), track0.p(), track0.tpcTofNSigmaKa());
731+
registry.fill(HIST("Data/hTpcTofnSigProng1Pion_GapC"), track1.p(), track1.tpcTofNSigmaPi());
732+
}
733+
643734
if (candidate.isSelD0() >= selectionFlagD0) {
644735
registry.fill(HIST("hMass"), massD0, ptCandidate);
645736
registry.fill(HIST("hMassFinerBinning"), massD0, ptCandidate);
@@ -654,11 +745,13 @@ struct HfTaskD0 {
654745
// Fill THnSparse with structure matching histogram axes: [mass, pt, (mlScores if FillMl), rapidity, d0Type, (cent if storeCentrality), (occ, ir if storeOccupancyAndIR), gapType, FT0A, FT0C, FV0A, FDDA, FDDC, ZNA, ZNC]
655746
auto fillTHnData = [&](float mass, int d0Type) {
656747
// Pre-calculate vector size to avoid reallocations
657-
constexpr int NAxesBase = 13; // mass, pt, rapidity, d0Type, gapType, FT0A, FT0C, FV0A, FDDA, FDDC, ZNA, ZNC, nPVcontr
748+
constexpr int NAxesBase = 11; // mass, pt, rapidity, d0Type, gapType, FT0A, FT0C, FV0A, FDDA, FDDC, ZNA, ZNC, nPVcontr
658749
constexpr int NAxesMl = FillMl ? 3 : 0; // 3 ML scores if FillMl
659750
int const nAxesCent = storeCentrality ? 1 : 0; // centrality if storeCentrality
660751
int const nAxesOccIR = storeOccupancyAndIR ? 2 : 0; // occupancy and IR if storeOccupancyAndIR
661-
int const nAxesTotal = NAxesBase + NAxesMl + nAxesCent + nAxesOccIR;
752+
int const nAxesZdcEnergy = storeZdcEnergy ? 2 : 0; // ZDC energy if storeZdcEnergy
753+
int const nAxesZdcTime = storeZdcTime ? 2 : 0; // ZDC time if storeZdctime
754+
int const nAxesTotal = NAxesBase + NAxesMl + nAxesCent + nAxesOccIR + nAxesZdcEnergy + nAxesZdcTime;
662755

663756
std::vector<double> valuesToFill;
664757
valuesToFill.reserve(nAxesTotal);
@@ -689,10 +782,15 @@ struct HfTaskD0 {
689782
valuesToFill.push_back(static_cast<double>(fitInfo.ampFV0A));
690783
valuesToFill.push_back(static_cast<double>(fitInfo.ampFDDA));
691784
valuesToFill.push_back(static_cast<double>(fitInfo.ampFDDC));
692-
valuesToFill.push_back(static_cast<double>(zdcEnergyZNA));
693-
valuesToFill.push_back(static_cast<double>(zdcEnergyZNC));
694785
valuesToFill.push_back(static_cast<double>(numPvContributors));
695-
786+
if (storeZdcEnergy) {
787+
valuesToFill.push_back(static_cast<double>(zdcEnergyZNA));
788+
valuesToFill.push_back(static_cast<double>(zdcEnergyZNC));
789+
}
790+
if (storeZdcTime) {
791+
valuesToFill.push_back(static_cast<double>(zdcTimeZNA));
792+
valuesToFill.push_back(static_cast<double>(zdcTimeZNC));
793+
}
696794
if constexpr (FillMl) {
697795
registry.get<THnSparse>(HIST("hBdtScoreVsMassVsPtVsPtBVsYVsOriginVsD0Type"))->Fill(valuesToFill.data());
698796
} else {
@@ -1181,9 +1279,11 @@ struct HfTaskD0 {
11811279
aod::FT0s const& ft0s,
11821280
aod::FV0As const& fv0as,
11831281
aod::FDDs const& fdds,
1184-
aod::Zdcs const& /*zdcs*/)
1282+
TracksWPid const& tracks,
1283+
aod::Zdcs const& /*zdcs*/
1284+
)
11851285
{
1186-
runAnalysisPerCollisionDataWithUpc<false>(collisions, selectedD0Candidates, bcs, ft0s, fv0as, fdds);
1286+
runAnalysisPerCollisionDataWithUpc<false>(collisions, selectedD0Candidates, bcs, ft0s, fv0as, fdds, tracks);
11871287
}
11881288
PROCESS_SWITCH(HfTaskD0, processDataWithDCAFitterNWithUpc, "Process real data with DCAFitterN w/o ML with UPC", false);
11891289

@@ -1194,9 +1294,10 @@ struct HfTaskD0 {
11941294
aod::FT0s const& ft0s,
11951295
aod::FV0As const& fv0as,
11961296
aod::FDDs const& fdds,
1297+
TracksWPid const& tracks,
11971298
aod::Zdcs const& /*zdcs*/)
11981299
{
1199-
runAnalysisPerCollisionDataWithUpc<true>(collisions, selectedD0CandidatesMl, bcs, ft0s, fv0as, fdds);
1300+
runAnalysisPerCollisionDataWithUpc<true>(collisions, selectedD0CandidatesMl, bcs, ft0s, fv0as, fdds, tracks);
12001301
}
12011302
PROCESS_SWITCH(HfTaskD0, processDataWithDCAFitterNMlWithUpc, "Process real data with DCAFitterN and ML with UPC", false);
12021303
};

0 commit comments

Comments
 (0)