@@ -89,6 +89,11 @@ using HadHyperCollisionsFull = soa::Join<aod::Collisions, aod::EvSels, aod::Cent
8989using HadHyperCollisionsFullMC = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::EvSels, aod::CentFT0As, aod::CentFT0Cs, aod::CentFT0Ms, aod::FT0Mults>;
9090using TrackCandidates = soa::Join<aod::TracksIU, aod::TracksExtra, aod::TracksCovIU, aod::TracksDCA, aod::TrackSelection, aod::pidTPCFullDe, aod::pidTPCFullTr, aod::pidTOFFullDe, aod::pidTOFFullTr, aod::pidTOFFullHe, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa, aod::TOFSignal, aod::TOFEvTime>;
9191using TrackCandidatesMC = soa::Join<aod::TracksIU, aod::TracksExtra, aod::TracksCovIU, aod::TracksDCA, aod::TrackSelection, aod::pidTPCFullDe, aod::pidTPCFullTr, aod::pidTOFFullDe, aod::pidTOFFullTr, aod::pidTOFFullHe, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa, aod::TOFSignal, aod::TOFEvTime, aod::McTrackLabels>;
92+ // The DCA-template process explicitly subscribes to the propagated covariance
93+ // table. This makes the propagation service enter the branch where TrackTuner
94+ // corrections can be applied when enabled, without adding that dependency to
95+ // unrelated MC process switches.
96+ using TrackCandidatesMCDca = soa::Join<aod::TracksIU, aod::TracksExtra, aod::TracksCov, aod::TracksDCA, aod::TrackSelection, aod::pidTPCFullDe, aod::pidTPCFullTr, aod::pidTOFFullDe, aod::pidTOFFullTr, aod::pidTOFFullHe, aod::pidTPCFullPr, aod::pidTOFFullPr, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa, aod::TOFSignal, aod::TOFEvTime, aod::McTrackLabels>;
9297
9398namespace
9499{
@@ -356,7 +361,9 @@ struct HadNucleiFemto {
356361 Configurable<float > settingCutNsigTOFPrMin{" settingCutNsigTOFPrMin" , 3 .0f , " Minimum TOF Pr Nsigma cut for rejection" };
357362 Configurable<float > settingCutNsigTOFPiMin{" settingCutNsigTOFPiMin" , 3 .0f , " Minimum TOF Pi Nsigma cut for rejection" };
358363 Configurable<float > settingHadptMin{" settingHadptMin" , 0 .14f , " Minimum pT for the reference pion track cuts" };
359- Configurable<float > settingHadptMax{" settingHadptMax" , 2 .5f , " Maximum pT for the reference pion track cuts" };
364+ Configurable<float > settingHadptMax{" settingHadptMax" , 4 .0f , " Maximum pT for the reference pion track cuts" };
365+ Configurable<float > settingProtonPtMin{" settingProtonPtMin" , 0 .5f , " Minimum pT for proton candidates" };
366+ Configurable<float > settingProtonPtMax{" settingProtonPtMax" , 3 .0f , " Maximum pT for proton candidates" };
360367 Configurable<int > settingPionITSInnerBarrelMin{" settingPionITSInnerBarrelMin" , 3 , " Minimum ITS inner barrel clusters for the reference pion track cuts" };
361368 Configurable<int > settingPionITSNClsMin{" settingPionITSNClsMin" , 7 , " Minimum ITS clusters for the reference pion track cuts" };
362369 Configurable<int > settingPionTPCNClsFoundMin{" settingPionTPCNClsFoundMin" , 80 , " Minimum found TPC clusters for the reference pion track cuts" };
@@ -388,7 +395,7 @@ struct HadNucleiFemto {
388395 struct : o2::framework::ConfigurableGroup {
389396 // cppcheck-suppress unusedStructMember
390397 std::string prefix{" helium3Pid" };
391- Configurable<float > settingRigidityMinHe3{" settingRigidityMinHe3" , 0 .8f , " Minimum He3 TPC rigidity" };
398+ Configurable<float > settingRigidityMinHe3{" settingRigidityMinHe3" , 0 .0f , " Minimum He3 TPC rigidity" };
392399 Configurable<int > settingTPCNClsFoundMinHe3{" settingTPCNClsFoundMinHe3" , 110 , " Minimum found TPC clusters for He3" };
393400 Configurable<int > settingTPCCrossedRowsMinHe3{" settingTPCCrossedRowsMinHe3" , 70 , " Minimum crossed TPC rows for He3" };
394401 Configurable<float > settingTPCNSigmaMaxHe3{" settingTPCNSigmaMaxHe3" , 3 .f , " Maximum absolute TPC n-sigma for He3" };
@@ -435,7 +442,7 @@ struct HadNucleiFemto {
435442 struct : o2::framework::ConfigurableGroup {
436443 // cppcheck-suppress unusedStructMember
437444 std::string prefix{" fractionPurity" };
438- Configurable<float > settingHadronDcaFitAbsMax{" settingHadronDcaFitAbsMax" , 2 .4f , " Maximum absolute pion DCAxy and DCAz stored for the fraction fit" };
445+ Configurable<float > settingHadronDcaFitAbsMax{" settingHadronDcaFitAbsMax" , 2 .4f , " Maximum absolute hadron DCAxy and DCAz stored for the fraction fit" };
439446 Configurable<float > settingNucleusDcaFitAbsMax{" settingNucleusDcaFitAbsMax" , 1 .0f , " Maximum absolute nucleus DCAxy and DCAz stored for the fraction fit" };
440447 Configurable<bool > settingRequireRecoMCCollisionMatch{" settingRequireRecoMCCollisionMatch" , true , " For the base DCA templates, require the truth particle to belong to the reconstructed collision MC label; detailed templates always store both association classes" };
441448 } fractionPurity;
@@ -688,36 +695,36 @@ struct HadNucleiFemto {
688695
689696 // Base inputs for Giorgio-style offline DCA fits. The origin axis is:
690697 // 0 primary, 1 weak decay, 2 material (every non-primary, non-decay process).
691- {" fraction/hDcaDataHad" , " Pion DCA-fit input;signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }}}},
698+ {" fraction/hDcaDataHad" , " Hadron DCA-fit input;signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }}}},
692699 {" fraction/hDcaDataNu" , " Nucleus DCA-fit input;signed physical reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {40 , 0 .f , 100 .f }}}},
693- {" fraction/hDcaTemplateHad" , " Truth pion DCA templates;signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;origin" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NDcaOrigins, -0 .5f , static_cast <float >(NDcaOrigins) - 0 .5f }}}},
700+ {" fraction/hDcaTemplateHad" , " Truth hadron DCA templates;signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;origin" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NDcaOrigins, -0 .5f , static_cast <float >(NDcaOrigins) - 0 .5f }}}},
694701 {" fraction/hDcaTemplateNu" , " Truth nucleus DCA templates;signed physical reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;origin" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NDcaOrigins, -0 .5f , static_cast <float >(NDcaOrigins) - 0 .5f }}}},
695702
696703 // DCA shapes of selected candidates that are not the requested truth
697704 // species. They are kept separate from primary/weak/material so that
698705 // their normalisation can be fixed or constrained by the PID purity.
699- {" fraction/hDcaMisidentifiedHad" , " Misidentified pion candidates;signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;collision association" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NCollisionAssociations, -0 .5f , static_cast <float >(NCollisionAssociations) - 0 .5f }}}},
706+ {" fraction/hDcaMisidentifiedHad" , " Misidentified hadron candidates;signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;collision association" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NCollisionAssociations, -0 .5f , static_cast <float >(NCollisionAssociations) - 0 .5f }}}},
700707 {" fraction/hDcaMisidentifiedNu" , " Misidentified nucleus candidates;signed physical reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;collision association" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NCollisionAssociations, -0 .5f , static_cast <float >(NCollisionAssociations) - 0 .5f }}}},
701- {" fraction/hDcaNoMCLabelHad" , " Selected pion candidates without an MC label;signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }}}},
708+ {" fraction/hDcaNoMCLabelHad" , " Selected hadron candidates without an MC label;signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }}}},
702709 {" fraction/hDcaNoMCLabelNu" , " Selected nucleus candidates without an MC label;signed physical reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {40 , 0 .f , 100 .f }}}},
703710
704711 // Superset templates for optional offline refinements. They retain the
705712 // same base origin plus collision association, direct-parent category,
706713 // and the particle production radius. Projecting away the extra axes
707714 // recovers the base shapes; selecting them enables species-specific fits.
708- {" fraction/hDcaTemplateDetailHad" , " Detailed truth pion DCA templates;signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;origin;collision association;parent category;production R_{xy} (cm)" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NDcaOrigins, -0 .5f , static_cast <float >(NDcaOrigins) - 0 .5f }, {NCollisionAssociations, -0 .5f , static_cast <float >(NCollisionAssociations) - 0 .5f }, {NParentCategories, -0 .5f , static_cast <float >(NParentCategories) - 0 .5f }, {200 , 0 .f , 100 .f }}}},
715+ {" fraction/hDcaTemplateDetailHad" , " Detailed truth hadron DCA templates;signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;origin;collision association;parent category;production R_{xy} (cm)" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NDcaOrigins, -0 .5f , static_cast <float >(NDcaOrigins) - 0 .5f }, {NCollisionAssociations, -0 .5f , static_cast <float >(NCollisionAssociations) - 0 .5f }, {NParentCategories, -0 .5f , static_cast <float >(NParentCategories) - 0 .5f }, {200 , 0 .f , 100 .f }}}},
709716 {" fraction/hDcaTemplateDetailNu" , " Detailed truth nucleus DCA templates;signed physical reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;origin;collision association;parent category;production R_{xy} (cm)" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NDcaOrigins, -0 .5f , static_cast <float >(NDcaOrigins) - 0 .5f }, {NCollisionAssociations, -0 .5f , static_cast <float >(NCollisionAssociations) - 0 .5f }, {NParentCategories, -0 .5f , static_cast <float >(NParentCategories) - 0 .5f }, {200 , 0 .f , 100 .f }}}},
710717
711718 // Mother-resolved templates. There is one entry per direct mother (or a
712719 // single zero-code entry when no mother is stored). Reconstruct the exact
713720 // PDG code offline as sign * (PDG high * 10000 + PDG low).
714- {" fraction/hDcaMotherPdgHad" , " Pion DCA by exact direct-mother PDG; signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;origin;collision association;mother PDG sign;mother PDG high;mother PDG low" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NDcaOrigins, -0 .5f , static_cast <float >(NDcaOrigins) - 0 .5f }, {NCollisionAssociations, -0 .5f , static_cast <float >(NCollisionAssociations) - 0 .5f }, {3 , -1 .5f , 1 .5f }, {MotherPdgHighMax + 1 , -0 .5f , static_cast <float >(MotherPdgHighMax) + 0 .5f }, {MotherPdgChunkBase, -0 .5f , static_cast <float >(MotherPdgChunkBase) - 0 .5f }}}},
721+ {" fraction/hDcaMotherPdgHad" , " Hadron DCA by exact direct-mother PDG; signed reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;origin;collision association;mother PDG sign;mother PDG high;mother PDG low" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {HadronDcaFitBins, -HadronDcaFitAxisMax, HadronDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NDcaOrigins, -0 .5f , static_cast <float >(NDcaOrigins) - 0 .5f }, {NCollisionAssociations, -0 .5f , static_cast <float >(NCollisionAssociations) - 0 .5f }, {3 , -1 .5f , 1 .5f }, {MotherPdgHighMax + 1 , -0 .5f , static_cast <float >(MotherPdgHighMax) + 0 .5f }, {MotherPdgChunkBase, -0 .5f , static_cast <float >(MotherPdgChunkBase) - 0 .5f }}}},
715722 {" fraction/hDcaMotherPdgNu" , " Nucleus DCA by exact direct-mother PDG; signed physical reconstructed p_{T} (GeV/c);DCA_{xy} (cm);DCA_{z} (cm);centrality;origin;collision association;mother PDG sign;mother PDG high;mother PDG low" , {HistType::kTHnSparseF , {{280 , -7 .f , 7 .f }, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {NucleusDcaFitBins, -NucleusDcaFitAxisMax, NucleusDcaFitAxisMax}, {40 , 0 .f , 100 .f }, {NDcaOrigins, -0 .5f , static_cast <float >(NDcaOrigins) - 0 .5f }, {NCollisionAssociations, -0 .5f , static_cast <float >(NCollisionAssociations) - 0 .5f }, {3 , -1 .5f , 1 .5f }, {MotherPdgHighMax + 1 , -0 .5f , static_cast <float >(MotherPdgHighMax) + 0 .5f }, {MotherPdgChunkBase, -0 .5f , static_cast <float >(MotherPdgChunkBase) - 0 .5f }}}},
716723
717724 // Hierarchical MC truth purity counters: all = correct species + mis-ID
718725 // + no label; correct species = correct collision + wrong collision;
719726 // correct collision = primary + weak + material.
720- {" purityMC/hHadron" , " Selected pion truth composition;signed reconstructed p_{T} (GeV/c);category;centrality" , {HistType::kTH3F , {{280 , -7 .f , 7 .f }, {NPurityCategories, -0 .5f , static_cast <float >(NPurityCategories) - 0 .5f }, {40 , 0 .f , 100 .f }}}},
727+ {" purityMC/hHadron" , " Selected hadron truth composition;signed reconstructed p_{T} (GeV/c);category;centrality" , {HistType::kTH3F , {{280 , -7 .f , 7 .f }, {NPurityCategories, -0 .5f , static_cast <float >(NPurityCategories) - 0 .5f }, {40 , 0 .f , 100 .f }}}},
721728 {" purityMC/hNucleus" , " Selected nucleus truth composition;signed physical reconstructed p_{T} (GeV/c);category;centrality" , {HistType::kTH3F , {{280 , -7 .f , 7 .f }, {NPurityCategories, -0 .5f , static_cast <float >(NPurityCategories) - 0 .5f }, {40 , 0 .f , 100 .f }}}},
722729
723730 // dE/dx
@@ -1247,6 +1254,18 @@ struct HadNucleiFemto {
12471254 candidate.tpcNClsCrossedRows () >= hadronPid.settingPionTPCCrossedRowsMin .value ;
12481255 }
12491256
1257+ template <typename Ttrack>
1258+ bool selectProtonTrackForDcaFit (const Ttrack& candidate) const
1259+ {
1260+ constexpr float protonEtaMax = 0 .8f ;
1261+ constexpr int protonTPCNClsFoundMin = 90 ;
1262+ constexpr int protonTPCCrossedRowsMin = 80 ;
1263+ return std::abs (candidate.eta ()) < protonEtaMax &&
1264+ std::abs (candidate.pt ()) > 0 .f &&
1265+ candidate.tpcNClsFound () > protonTPCNClsFoundMin &&
1266+ candidate.tpcNClsCrossedRows () > protonTPCCrossedRowsMin;
1267+ }
1268+
12501269 template <typename Ttrack>
12511270 bool selectTritonTrackForDcaFit (const Ttrack& candidate) const
12521271 {
@@ -1270,9 +1289,11 @@ struct HadNucleiFemto {
12701289 if (species.settingHadPDGCode .value == static_cast <int >(PDG_t::kPiPlus )) {
12711290 return selectPionTrackForDcaFit (candidate);
12721291 }
1273- // The fraction feature is intended for pion-nucleus configurations. Keep
1274- // the nominal selection for other supported hadrons instead of silently
1275- // changing their established cuts.
1292+ if (species.settingHadPDGCode .value == static_cast <int >(PDG_t::kProton )) {
1293+ return selectProtonTrackForDcaFit (candidate);
1294+ }
1295+ // Keep the nominal selection for other supported hadrons instead of
1296+ // silently changing their established cuts.
12761297 return selectTrackHadron (candidate);
12771298 }
12781299
@@ -1459,16 +1480,14 @@ struct HadNucleiFemto {
14591480 template <typename Ttrack>
14601481 bool selectionPIDProton (const Ttrack& candidate)
14611482 {
1462- constexpr float protonPtMin = 0 .5f ;
1463- constexpr float protonPtMax = 3 .0f ;
14641483 constexpr float protonPCombMin = 0 .75f ;
14651484 constexpr float protonTPCNsigmaMax = 3 .0f ;
14661485 constexpr float protonCombNsigmaMax = 3 .0f ;
14671486
14681487 const float tpcNSigmaPr = candidate.tpcNSigmaPr ();
14691488 mQaRegistry .fill (HIST (" h2NsigmaHadTPC_preselection" ), candidate.sign () * candidate.tpcInnerParam (), tpcNSigmaPr);
14701489
1471- if (std::abs (candidate.pt ()) <= protonPtMin || std::abs (candidate.pt ()) >= protonPtMax ) {
1490+ if (std::abs (candidate.pt ()) <= hadronPid. settingProtonPtMin || std::abs (candidate.pt ()) >= hadronPid. settingProtonPtMax ) {
14721491 return false ;
14731492 }
14741493
@@ -3453,7 +3472,7 @@ struct HadNucleiFemto {
34533472
34543473 // MC DCA templates use the relaxed-DCA selection. MC purity uses the full
34553474 // nominal candidate selection, including its DCA requirement.
3456- void processDcaFractionPurityMC (const CollisionsFullMC& collisions, const TrackCandidatesMC & tracks, const aod::McParticles&, const aod::BCsWithTimestamps& bcs)
3475+ void processDcaFractionPurityMC (const CollisionsFullMC& collisions, const TrackCandidatesMCDca & tracks, const aod::McParticles&, const aod::BCsWithTimestamps& bcs)
34573476 {
34583477 for (const auto & collision : collisions) {
34593478 if (!selectCollision</* isMC*/ true >(collision, bcs)) {
0 commit comments