@@ -245,7 +245,7 @@ void StrangenessTracker::processCascade(int iCasc, const Cascade& casc, const Ca
245245 strangeTrack.mDecayRef = iCasc;
246246 strangeTrack.mITSRef = mSortedITSindexes [iTrack];
247247 mStrangeTrackVec [iThread].push_back (strangeTrack);
248- mClusAttachments [iThread].push_back (mStructClus );
248+ mClusAttachments [iThread].push_back (structClus );
249249 if (mMCTruthON ) {
250250 auto lab = getStrangeTrackLabel (itsTrack, strangeTrack, structClus);
251251 mStrangeTrackLabels [iThread].push_back (lab);
@@ -350,7 +350,7 @@ bool StrangenessTracker::matchDecayToITStrack(float decayR, StrangeTrack& strang
350350 auto nMinClusMother = trackClusters.size () < 4 ? 2 : mStrParams ->mMinMotherClus ;
351351
352352 std::vector<ITSCluster> motherClusters;
353- std::array<unsigned int , 7 > nAttachments;
353+ std::array<int , 7 > nAttachments;
354354 nAttachments.fill (-1 ); // fill arr with -1
355355
356356 int nUpdates = 0 ;
@@ -412,13 +412,13 @@ bool StrangenessTracker::matchDecayToITStrack(float decayR, StrangeTrack& strang
412412
413413 std::reverse (motherClusters.begin (), motherClusters.end ());
414414
415- mGlobalChi2 = - 1 ;
415+ mGlobalChi2 = 0 ;
416416 for (auto & clus : motherClusters) {
417417 if (!updateTrack (clus, motherTrackClone)) {
418418 break ;
419419 }
420420 }
421- strangeTrack.mMatchChi2 = mGlobalChi2 ;
421+ strangeTrack.mMatchChi2 = mGlobalChi2 / motherClusters. size () ;
422422
423423 LOG (debug) << " Inward-outward refit finished, starting final topology refit" ;
424424 // final Topology refit
@@ -481,7 +481,6 @@ bool StrangenessTracker::matchDecayToITStrack(float decayR, StrangeTrack& strang
481481 strangeTrack.mTopoChi2 = mFitter3Body [iThread].getChi2AtPCACandidate ();
482482 }
483483 structClus.arr = nAttachments;
484-
485484 return true ;
486485}
487486
@@ -508,9 +507,8 @@ bool StrangenessTracker::updateTrack(const ITSCluster& clus, o2::track::TrackPar
508507 return false ;
509508 }
510509 }
511- auto chi2 = std::abs (track.getPredictedChi2Quiet (clus)); // abs to be understood
512- LOG (debug) << " Chi2: " << chi2;
513- if (chi2 > mStrParams ->mMaxChi2 || chi2 < 0 ) {
510+ auto chi2 = track.getPredictedChi2Quiet (clus); // abs to be understood
511+ if (std::abs (chi2) > mStrParams ->mMaxChi2 ) {
514512 return false ;
515513 }
516514
0 commit comments