@@ -168,6 +168,8 @@ struct LnnCandidate {
168168 uint16_t tpcSignalPi = 0u ;
169169 uint8_t nTPCClusters3H = 0u ;
170170 uint8_t nTPCClustersPi = 0u ;
171+ uint8_t nTPCClustersCrossedRows3H = 0u ;
172+ uint8_t nTPCClustersCrossedRowsPi = 0u ;
171173 uint32_t clusterSizeITS3H = 0u ;
172174 uint32_t clusterSizeITSPi = 0u ;
173175 bool isMatter = false ;
@@ -481,6 +483,7 @@ struct lnnRecoTask {
481483 auto & h3track = lnnCand.isMatter ? posTrack : negTrack;
482484 auto & pitrack = lnnCand.isMatter ? negTrack : posTrack;
483485 auto & h3Rigidity = lnnCand.isMatter ? posRigidity : negRigidity;
486+ auto & piRigidity = lnnCand.isMatter ? negRigidity : posRigidity;
484487
485488 // fill QA track histogram studies to check track signal before selections
486489 h2FT0CnClusTPCtoTrBfSel->Fill (collision.centFT0C (), h3track.tpcNClsFound ());
@@ -514,16 +517,20 @@ struct lnnRecoTask {
514517 continue ;
515518 }
516519
517- lnnCand.tpcChi3H = lnnCand. isMatter ? h3track. tpcChi2NCl () : negTrack .tpcChi2NCl ();
520+ lnnCand.tpcChi3H = h3track.tpcChi2NCl ();
518521 lnnCand.nSigma3H = lnnCand.isMatter ? nSigmaTPCpos : nSigmaTPCneg;
519- lnnCand.nTPCClusters3H = lnnCand.isMatter ? h3track.tpcNClsFound () : negTrack.tpcNClsFound ();
520- lnnCand.tpcSignal3H = lnnCand.isMatter ? h3track.tpcSignal () : negTrack.tpcSignal ();
521- lnnCand.clusterSizeITS3H = lnnCand.isMatter ? h3track.itsClusterSizes () : negTrack.itsClusterSizes ();
522- lnnCand.nTPCClustersPi = !lnnCand.isMatter ? h3track.tpcNClsFound () : negTrack.tpcNClsFound ();
523- lnnCand.tpcSignalPi = !lnnCand.isMatter ? h3track.tpcSignal () : negTrack.tpcSignal ();
524- lnnCand.clusterSizeITSPi = !lnnCand.isMatter ? h3track.itsClusterSizes () : negTrack.itsClusterSizes ();
525- lnnCand.mom3HTPC = lnnCand.isMatter ? posRigidity : negRigidity;
526- lnnCand.momPiTPC = !lnnCand.isMatter ? posRigidity : negRigidity;
522+ lnnCand.nTPCClusters3H = h3track.tpcNClsFound ();
523+ lnnCand.nTPCClustersCrossedRows3H = h3track.tpcNClsCrossedRows ();
524+ lnnCand.tpcSignal3H = h3track.tpcSignal ();
525+ lnnCand.clusterSizeITS3H = h3track.itsClusterSizes ();
526+
527+ lnnCand.nTPCClustersPi = pitrack.tpcNClsFound ();
528+ lnnCand.nTPCClustersCrossedRowsPi = pitrack.tpcNClsCrossedRows ();
529+ lnnCand.tpcSignalPi = pitrack.tpcSignal ();
530+ lnnCand.clusterSizeITSPi = pitrack.itsClusterSizes ();
531+
532+ lnnCand.mom3HTPC = h3Rigidity;
533+ lnnCand.momPiTPC = piRigidity;
527534
528535 lnnCand.flags |= lnnCand.isMatter ? static_cast <uint8_t >((posTrack.pidForTracking () & 0xF ) << 4 ) : static_cast <uint8_t >((negTrack.pidForTracking () & 0xF ) << 4 );
529536 lnnCand.flags |= lnnCand.isMatter ? static_cast <uint8_t >(negTrack.pidForTracking () & 0xF ) : static_cast <uint8_t >(posTrack.pidForTracking () & 0xF );
@@ -633,7 +640,9 @@ struct lnnRecoTask {
633640 // Fill 2D map after all selections
634641 hdEdx3HSel->Fill (chargeFactor * lnnCand.mom3HTPC , h3track.tpcSignal ());
635642 hdEdx3HPosTrack->Fill (lnnCand.mom3HTPC , h3track.tpcSignal ());
636- hdEdx3HNegTrack->Fill (-lnnCand.mom3HTPC , h3track.tpcSignal ());
643+ if (!lnnCand.isMatter ) {
644+ hdEdx3HNegTrack->Fill (-lnnCand.mom3HTPC , h3track.tpcSignal ());
645+ }
637646 hNsigma3HSel->Fill (chargeFactor * lnnCand.mom3HTPC , lnnCand.nSigma3H );
638647 if (h3track.hasTOF ()) {
639648 h3HSignalPtTOF->Fill (chargeFactor * h3track.pt (), beta);
@@ -788,7 +797,7 @@ struct lnnRecoTask {
788797 lnnCand.recoPtPi (), lnnCand.recoPhiPi (), lnnCand.recoEtaPi (),
789798 lnnCand.decVtx [0 ], lnnCand.decVtx [1 ], lnnCand.decVtx [2 ],
790799 lnnCand.dcaV0dau , lnnCand.h3DCAXY , lnnCand.piDCAXY ,
791- lnnCand.nSigma3H , lnnCand.nTPCClusters3H , lnnCand.nTPCClustersPi ,
800+ lnnCand.nSigma3H , lnnCand.nTPCClusters3H , lnnCand.nTPCClustersPi , lnnCand. nTPCClustersCrossedRows3H , lnnCand. nTPCClustersCrossedRowsPi ,
792801 lnnCand.mom3HTPC , lnnCand.momPiTPC , lnnCand.tpcSignal3H , lnnCand.tpcSignalPi ,
793802 lnnCand.mass2TrTOF , lnnCand.tpcChi3H ,
794803 lnnCand.clusterSizeITS3H , lnnCand.clusterSizeITSPi , lnnCand.flags );
@@ -879,7 +888,7 @@ struct lnnRecoTask {
879888 lnnCand.recoPtPi (), lnnCand.recoPhiPi (), lnnCand.recoEtaPi (),
880889 lnnCand.decVtx [0 ], lnnCand.decVtx [1 ], lnnCand.decVtx [2 ],
881890 lnnCand.dcaV0dau , lnnCand.h3DCAXY , lnnCand.piDCAXY ,
882- lnnCand.nSigma3H , lnnCand.nTPCClusters3H , lnnCand.nTPCClustersPi ,
891+ lnnCand.nSigma3H , lnnCand.nTPCClusters3H , lnnCand.nTPCClustersPi , lnnCand. nTPCClustersCrossedRows3H , lnnCand. nTPCClustersCrossedRowsPi ,
883892 lnnCand.mom3HTPC , lnnCand.momPiTPC , lnnCand.tpcSignal3H , lnnCand.tpcSignalPi ,
884893 lnnCand.mass2TrTOF , lnnCand.tpcChi3H ,
885894 lnnCand.clusterSizeITS3H , lnnCand.clusterSizeITSPi , lnnCand.flags ,
@@ -966,7 +975,7 @@ struct lnnRecoTask {
966975 -1 , -1 , -1 ,
967976 -1 , -1 , -1 ,
968977 -1 , -1 , -1 ,
969- -1 , -1 , -1 ,
978+ -1 , -1 , -1 , - 1 , - 1 ,
970979 -1 , -1 , -1 , -1 ,
971980 -1 , -1 ,
972981 -1 , -1 , -1 ,
0 commit comments