Skip to content

Commit aae7f0a

Browse files
fmazzascFrancesco Mazzaschialibuild
authored
[StrangenessTracker] Fix chi2 calculation and attachment structure (#14186)
* [StrangenessTracker] Fix chi2 calculation and attachment structure * Please consider the following formatting changes --------- Co-authored-by: Francesco Mazzaschi <fmazzasc@alipap1.cern.ch> Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent cde32e7 commit aae7f0a

File tree

2 files changed

+8
-13
lines changed

2 files changed

+8
-13
lines changed

Detectors/Vertexing/StrangenessTracking/include/StrangenessTracking/StrangenessTracker.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ enum DauType : int {
5656

5757
struct ClusAttachments {
5858

59-
std::array<unsigned int, 7> arr;
59+
std::array<int, 7> arr;
6060
};
6161

6262
class StrangenessTracker
@@ -357,10 +357,7 @@ class StrangenessTracker
357357
std::vector<DCAFitter4> mFitter4Body; // optional DCA Fitter for final 4 Body refit (per thread)
358358

359359
o2::base::PropagatorImpl<float>::MatCorrType mCorrType = o2::base::PropagatorImpl<float>::MatCorrType::USEMatCorrNONE; // use mat correction
360-
361-
std::vector<std::vector<o2::track::TrackParCovF>> mDaughterTracks; // vector of daughter tracks (per thread)
362-
ClusAttachments mStructClus; // # of attached tracks, 1 for mother, 2 for daughter
363-
360+
std::vector<std::vector<o2::track::TrackParCovF>> mDaughterTracks; // vector of daughter tracks (per thread)
364361
ClassDefNV(StrangenessTracker, 1);
365362
};
366363

Detectors/Vertexing/StrangenessTracking/src/StrangenessTracker.cxx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)