@@ -212,8 +212,17 @@ struct HfCandidateCreator2Prong {
212212 auto errorDecayLength = std::sqrt (getRotatedCovMatrixXX (covMatrixPV, phi, theta) + getRotatedCovMatrixXX (covMatrixPCA, phi, theta));
213213 auto errorDecayLengthXY = std::sqrt (getRotatedCovMatrixXX (covMatrixPV, phi, 0 .) + getRotatedCovMatrixXX (covMatrixPCA, phi, 0 .));
214214
215+ auto indexCollision = collision.globalIndex ();
216+ uint8_t nProngsContributorsPV = 0 ;
217+ if (indexCollision == track0.collisionId () && track0.isPVContributor ()) {
218+ nProngsContributorsPV += 1 ;
219+ }
220+ if (indexCollision == track1.collisionId () && track1.isPVContributor ()) {
221+ nProngsContributorsPV += 1 ;
222+ }
223+
215224 // fill candidate table rows
216- rowCandidateBase (collision. globalIndex () ,
225+ rowCandidateBase (indexCollision ,
217226 primaryVertex.getX (), primaryVertex.getY (), primaryVertex.getZ (),
218227 secondaryVertex[0 ], secondaryVertex[1 ], secondaryVertex[2 ],
219228 errorDecayLength, errorDecayLengthXY,
@@ -222,7 +231,7 @@ struct HfCandidateCreator2Prong {
222231 pvec1[0 ], pvec1[1 ], pvec1[2 ],
223232 impactParameter0.getY (), impactParameter1.getY (),
224233 std::sqrt (impactParameter0.getSigmaY2 ()), std::sqrt (impactParameter1.getSigmaY2 ()),
225- rowTrackIndexProng2.prong0Id (), rowTrackIndexProng2.prong1Id (),
234+ rowTrackIndexProng2.prong0Id (), rowTrackIndexProng2.prong1Id (), nProngsContributorsPV,
226235 rowTrackIndexProng2.hfflag ());
227236
228237 // fill histograms
@@ -336,8 +345,17 @@ struct HfCandidateCreator2Prong {
336345 topolChi2PerNdfD0 = kfCandD0Topol2PV.GetChi2 () / kfCandD0Topol2PV.GetNDF ();
337346 }
338347
348+ auto indexCollision = collision.globalIndex ();
349+ uint8_t nProngsContributorsPV = 0 ;
350+ if (indexCollision == track0.collisionId () && track0.isPVContributor ()) {
351+ nProngsContributorsPV += 1 ;
352+ }
353+ if (indexCollision == track1.collisionId () && track1.isPVContributor ()) {
354+ nProngsContributorsPV += 1 ;
355+ }
356+
339357 // fill candidate table rows
340- rowCandidateBase (collision. globalIndex () ,
358+ rowCandidateBase (indexCollision ,
341359 KFPV.GetX (), KFPV.GetY (), KFPV.GetZ (),
342360 kfCandD0.GetX (), kfCandD0.GetY (), kfCandD0.GetZ (),
343361 errorDecayLength, errorDecayLengthXY, // TODO: much different from the DCAFitterN one
@@ -346,7 +364,7 @@ struct HfCandidateCreator2Prong {
346364 kfNegKaon.GetPx (), kfNegKaon.GetPy (), kfNegKaon.GetPz (),
347365 impactParameter0XY, impactParameter1XY,
348366 errImpactParameter0XY, errImpactParameter1XY,
349- rowTrackIndexProng2.prong0Id (), rowTrackIndexProng2.prong1Id (),
367+ rowTrackIndexProng2.prong0Id (), rowTrackIndexProng2.prong1Id (), nProngsContributorsPV,
350368 rowTrackIndexProng2.hfflag ());
351369 rowCandidateKF (topolChi2PerNdfD0,
352370 massD0, massD0bar);
@@ -361,7 +379,7 @@ struct HfCandidateCreator2Prong {
361379
362380 void processPvRefitWithDCAFitterN (aod::Collisions const & collisions,
363381 soa::Join<aod::Hf2Prongs, aod::HfPvRefit2Prong> const & rowsTrackIndexProng2,
364- aod::TracksWCov const & tracks,
382+ aod::TracksWCovExtra const & tracks,
365383 aod::BCsWithTimestamps const & bcWithTimeStamps)
366384 {
367385 runCreator2ProngWithDCAFitterN<true >(collisions, rowsTrackIndexProng2, tracks, bcWithTimeStamps);
@@ -371,7 +389,7 @@ struct HfCandidateCreator2Prong {
371389
372390 void processNoPvRefitWithDCAFitterN (aod::Collisions const & collisions,
373391 aod::Hf2Prongs const & rowsTrackIndexProng2,
374- aod::TracksWCov const & tracks,
392+ aod::TracksWCovExtra const & tracks,
375393 aod::BCsWithTimestamps const & bcWithTimeStamps)
376394 {
377395 runCreator2ProngWithDCAFitterN<false >(collisions, rowsTrackIndexProng2, tracks, bcWithTimeStamps);
@@ -381,7 +399,7 @@ struct HfCandidateCreator2Prong {
381399
382400 void processPvRefitWithKFParticle (aod::Collisions const & collisions,
383401 soa::Join<aod::Hf2Prongs, aod::HfPvRefit2Prong> const & rowsTrackIndexProng2,
384- soa::Join< aod::TracksWCov, aod::TracksExtra> const & tracks,
402+ aod::TracksWCovExtra const & tracks,
385403 aod::BCsWithTimestamps const & bcWithTimeStamps)
386404 {
387405 runCreator2ProngWithKFParticle<true >(collisions, rowsTrackIndexProng2, tracks, bcWithTimeStamps);
@@ -390,7 +408,7 @@ struct HfCandidateCreator2Prong {
390408
391409 void processNoPvRefitWithKFParticle (aod::Collisions const & collisions,
392410 aod::Hf2Prongs const & rowsTrackIndexProng2,
393- soa::Join< aod::TracksWCov, aod::TracksExtra> const & tracks,
411+ aod::TracksWCovExtra const & tracks,
394412 aod::BCsWithTimestamps const & bcWithTimeStamps)
395413 {
396414 runCreator2ProngWithKFParticle<false >(collisions, rowsTrackIndexProng2, tracks, bcWithTimeStamps);
0 commit comments