@@ -336,6 +336,9 @@ struct HypKinkCandidate {
336336 float chi2ITSMoth = 0 .0f ;
337337 uint32_t itsClusterSizeMoth = 0u ;
338338 uint32_t itsClusterSizeDaug = 0u ;
339+ float tpcMomDaug = -999 .f;
340+ float tpcSignalDaug = -999 .f;
341+ int16_t tpcNClsPIDDaug = 0u ;
339342 float nSigmaTPCDaug = -999 .f;
340343 float nSigmaITSDaug = -999 .f;
341344 float nSigmaTOFDaug = -999 .f; // recalculated TOF NSigma
@@ -555,6 +558,9 @@ struct HyperkinkRecoTask {
555558 fillCandidateRecoMoth (hypkinkCand, collision, trackMoth);
556559
557560 hypkinkCand.itsClusterSizeDaug = trackDaug.itsClusterSizes ();
561+ hypkinkCand.tpcMomDaug = trackDaug.tpcInnerParam () * trackDaug.sign ();
562+ hypkinkCand.tpcSignalDaug = trackDaug.tpcSignal ();
563+ hypkinkCand.tpcNClsPIDDaug = trackDaug.tpcNClsPID ();
558564 hypkinkCand.nSigmaTPCDaug = getTPCNSigma (trackDaug, pidTypeDaug);
559565 hypkinkCand.nSigmaITSDaug = getITSNSigma (trackDaug, itsResponse, pidTypeDaug);
560566
@@ -641,10 +647,7 @@ struct HyperkinkRecoTask {
641647 if (std::abs (tpcNSigmaDaug) > cutTPCNSigmaDaug) {
642648 continue ;
643649 }
644- float invMass = RecoDecay::m (std::array{std::array{kinkCand.pxDaug (), kinkCand.pyDaug (), kinkCand.pzDaug ()}, std::array{kinkCand.pxDaugNeut (), kinkCand.pyDaugNeut (), kinkCand.pzDaugNeut ()}}, std::array{massChargedDaug, massNeutralDaug});
645650 registry.fill (HIST (" hCandidateCounter" ), 2 );
646- registry.fill (HIST (" h2MothMassPt" ), kinkCand.mothSign () * kinkCand.ptMoth (), invMass);
647- registry.fill (HIST (" h2DaugTPCNSigmaPt" ), kinkCand.mothSign () * kinkCand.ptDaug (), tpcNSigmaDaug);
648651
649652 auto bc = collision.bc_as <aod::BCsWithTimestamps>();
650653 initCCDB (bc);
@@ -683,6 +686,10 @@ struct HyperkinkRecoTask {
683686 }
684687 registry.fill (HIST (" hCandidateCounter" ), 7 );
685688
689+ float invMass = RecoDecay::m (std::array{std::array{kinkCand.pxDaug (), kinkCand.pyDaug (), kinkCand.pzDaug ()}, std::array{kinkCand.pxDaugNeut (), kinkCand.pyDaugNeut (), kinkCand.pzDaugNeut ()}}, std::array{massChargedDaug, massNeutralDaug});
690+ registry.fill (HIST (" h2MothMassPt" ), kinkCand.mothSign () * kinkCand.ptMoth (), invMass);
691+ registry.fill (HIST (" h2DaugTPCNSigmaPt" ), kinkCand.mothSign () * kinkCand.ptDaug (), tpcNSigmaDaug);
692+
686693 HypKinkCandidate hypkinkCand;
687694 fillCandidate (hypkinkCand, collision, kinkCand, motherTrack, daugTrack);
688695 hypkinkCand.nSigmaTOFDaug = nSigmaTOF;
@@ -697,6 +704,7 @@ struct HyperkinkRecoTask {
697704 hypkinkCand.momDaugSV [0 ], hypkinkCand.momDaugSV [1 ], hypkinkCand.momDaugSV [2 ],
698705 hypkinkCand.dcaXYMothPv , hypkinkCand.dcaXYDaugPv , hypkinkCand.dcaKinkTopo ,
699706 hypkinkCand.chi2ITSMoth , hypkinkCand.itsClusterSizeMoth , hypkinkCand.itsClusterSizeDaug ,
707+ hypkinkCand.tpcMomDaug , hypkinkCand.tpcSignalDaug , hypkinkCand.tpcNClsPIDDaug ,
700708 hypkinkCand.nSigmaTPCDaug , hypkinkCand.nSigmaITSDaug , hypkinkCand.nSigmaTOFDaug ,
701709 hypkinkCand.momMothPV [0 ], hypkinkCand.momMothPV [1 ], hypkinkCand.momMothPV [2 ],
702710 hypkinkCand.updateMomMothPV [0 ], hypkinkCand.updateMomMothPV [1 ], hypkinkCand.updateMomMothPV [2 ]);
@@ -766,7 +774,6 @@ struct HyperkinkRecoTask {
766774 if (std::abs (tpcNSigmaDaug) > cutTPCNSigmaDaug) {
767775 continue ;
768776 }
769- float invMass = RecoDecay::m (std::array{std::array{kinkCand.pxDaug (), kinkCand.pyDaug (), kinkCand.pzDaug ()}, std::array{kinkCand.pxDaugNeut (), kinkCand.pyDaugNeut (), kinkCand.pzDaugNeut ()}}, std::array{massChargedDaug, massNeutralDaug});
770777 registry.fill (HIST (" hCandidateCounter" ), 2 );
771778 if (isKinkSignal) {
772779 registry.fill (HIST (" hTrueCandidateCounter" ), 2 );
@@ -831,6 +838,7 @@ struct HyperkinkRecoTask {
831838 registry.fill (HIST (" hTrueCandidateCounter" ), 7 );
832839 }
833840
841+ float invMass = RecoDecay::m (std::array{std::array{kinkCand.pxDaug (), kinkCand.pyDaug (), kinkCand.pzDaug ()}, std::array{kinkCand.pxDaugNeut (), kinkCand.pyDaugNeut (), kinkCand.pzDaugNeut ()}}, std::array{massChargedDaug, massNeutralDaug});
834842 registry.fill (HIST (" h2MothMassPt" ), kinkCand.mothSign () * kinkCand.ptMoth (), invMass);
835843 registry.fill (HIST (" h2DaugTPCNSigmaPt" ), kinkCand.mothSign () * kinkCand.ptDaug (), tpcNSigmaDaug);
836844
@@ -897,6 +905,7 @@ struct HyperkinkRecoTask {
897905 hypkinkCand.momDaugSV [0 ], hypkinkCand.momDaugSV [1 ], hypkinkCand.momDaugSV [2 ],
898906 hypkinkCand.dcaXYMothPv , hypkinkCand.dcaXYDaugPv , hypkinkCand.dcaKinkTopo ,
899907 hypkinkCand.chi2ITSMoth , hypkinkCand.itsClusterSizeMoth , hypkinkCand.itsClusterSizeDaug ,
908+ hypkinkCand.tpcMomDaug , hypkinkCand.tpcSignalDaug , hypkinkCand.tpcNClsPIDDaug ,
900909 hypkinkCand.nSigmaTPCDaug , hypkinkCand.nSigmaITSDaug , hypkinkCand.nSigmaTOFDaug ,
901910 hypkinkCand.isSignal , hypkinkCand.isSignalReco , hypkinkCand.isCollReco , hypkinkCand.isSurvEvSelection ,
902911 hypkinkCand.truePosSV [0 ], hypkinkCand.truePosSV [1 ], hypkinkCand.truePosSV [2 ],
@@ -955,6 +964,7 @@ struct HyperkinkRecoTask {
955964 -1 , -1 , -1 ,
956965 -1 , -1 , -1 ,
957966 -1 , -1 , -1 ,
967+ -1 , -1 , -1 ,
958968 true , false , isReconstructedMCCollisions[mcparticle.mcCollisionId ()], isSelectedMCCollisions[mcparticle.mcCollisionId ()],
959969 hypkinkCand.truePosSV [0 ], hypkinkCand.truePosSV [1 ], hypkinkCand.truePosSV [2 ],
960970 hypkinkCand.trueMomMothPV [0 ], hypkinkCand.trueMomMothPV [1 ], hypkinkCand.trueMomMothPV [2 ],
0 commit comments