diff --git a/Detectors/Vertexing/StrangenessTracking/include/StrangenessTracking/StrangenessTracker.h b/Detectors/Vertexing/StrangenessTracking/include/StrangenessTracking/StrangenessTracker.h index 11feac64c59ae..b30be4dd081e3 100644 --- a/Detectors/Vertexing/StrangenessTracking/include/StrangenessTracking/StrangenessTracker.h +++ b/Detectors/Vertexing/StrangenessTracking/include/StrangenessTracking/StrangenessTracker.h @@ -56,7 +56,7 @@ enum DauType : int { struct ClusAttachments { - std::array arr; + std::array arr; }; class StrangenessTracker @@ -357,10 +357,7 @@ class StrangenessTracker std::vector mFitter4Body; // optional DCA Fitter for final 4 Body refit (per thread) o2::base::PropagatorImpl::MatCorrType mCorrType = o2::base::PropagatorImpl::MatCorrType::USEMatCorrNONE; // use mat correction - - std::vector> mDaughterTracks; // vector of daughter tracks (per thread) - ClusAttachments mStructClus; // # of attached tracks, 1 for mother, 2 for daughter - + std::vector> mDaughterTracks; // vector of daughter tracks (per thread) ClassDefNV(StrangenessTracker, 1); }; diff --git a/Detectors/Vertexing/StrangenessTracking/src/StrangenessTracker.cxx b/Detectors/Vertexing/StrangenessTracking/src/StrangenessTracker.cxx index c8a62fa76e3ed..acbaa9d6a08fd 100644 --- a/Detectors/Vertexing/StrangenessTracking/src/StrangenessTracker.cxx +++ b/Detectors/Vertexing/StrangenessTracking/src/StrangenessTracker.cxx @@ -245,7 +245,7 @@ void StrangenessTracker::processCascade(int iCasc, const Cascade& casc, const Ca strangeTrack.mDecayRef = iCasc; strangeTrack.mITSRef = mSortedITSindexes[iTrack]; mStrangeTrackVec[iThread].push_back(strangeTrack); - mClusAttachments[iThread].push_back(mStructClus); + mClusAttachments[iThread].push_back(structClus); if (mMCTruthON) { auto lab = getStrangeTrackLabel(itsTrack, strangeTrack, structClus); mStrangeTrackLabels[iThread].push_back(lab); @@ -350,7 +350,7 @@ bool StrangenessTracker::matchDecayToITStrack(float decayR, StrangeTrack& strang auto nMinClusMother = trackClusters.size() < 4 ? 2 : mStrParams->mMinMotherClus; std::vector motherClusters; - std::array nAttachments; + std::array nAttachments; nAttachments.fill(-1); // fill arr with -1 int nUpdates = 0; @@ -412,13 +412,13 @@ bool StrangenessTracker::matchDecayToITStrack(float decayR, StrangeTrack& strang std::reverse(motherClusters.begin(), motherClusters.end()); - mGlobalChi2 = -1; + mGlobalChi2 = 0; for (auto& clus : motherClusters) { if (!updateTrack(clus, motherTrackClone)) { break; } } - strangeTrack.mMatchChi2 = mGlobalChi2; + strangeTrack.mMatchChi2 = mGlobalChi2 / motherClusters.size(); LOG(debug) << "Inward-outward refit finished, starting final topology refit"; // final Topology refit @@ -481,7 +481,6 @@ bool StrangenessTracker::matchDecayToITStrack(float decayR, StrangeTrack& strang strangeTrack.mTopoChi2 = mFitter3Body[iThread].getChi2AtPCACandidate(); } structClus.arr = nAttachments; - return true; } @@ -508,9 +507,8 @@ bool StrangenessTracker::updateTrack(const ITSCluster& clus, o2::track::TrackPar return false; } } - auto chi2 = std::abs(track.getPredictedChi2Quiet(clus)); // abs to be understood - LOG(debug) << "Chi2: " << chi2; - if (chi2 > mStrParams->mMaxChi2 || chi2 < 0) { + auto chi2 = track.getPredictedChi2Quiet(clus); // abs to be understood + if (std::abs(chi2) > mStrParams->mMaxChi2) { return false; }