@@ -129,6 +129,8 @@ std::array<float, 3> kDCAzResolutionParams[static_cast<int>(Species::kAllSpecies
129129 {0.0021 , 1.1122 , 0.0021 } // Pr
130130};
131131
132+ std::array<float , 2 > kHePidTrkParams = {0.1593 , -0.0445 };
133+
132134} // namespace
133135
134136struct He3HadCandidate {
@@ -472,6 +474,15 @@ struct he3HadronFemto {
472474 return true ;
473475 }
474476
477+ template <typename Ttrack>
478+ float correctPtHe3TrackedAsTriton (const Ttrack& candidate)
479+ {
480+ if (candidate.pt () < 2.5 && candidate.pidForTracking () == o2::track::PID::Triton)
481+ return candidate.pt () * 2 . * (1 . - kHePidTrkParams [0 ] - kHePidTrkParams [1 ] * candidate.pt () * 2 .);
482+
483+ return candidate.pt () * 2 .;
484+ }
485+
475486 float computeNsigmaDCA (const float pt, const float dca, const int iSpecies, const char * dcaType = " xy" )
476487 {
477488
@@ -1337,7 +1348,9 @@ struct he3HadronFemto {
13371348 if (!selectTrack (track, Species::kHe3 ) || !selectDcaNsigmaCut (track, Species::kHe3 ))
13381349 continue ;
13391350
1340- mQaRegistry .fill (HIST (" He3/hHe3Pt" ), track.pt () * 2 .f );
1351+ const float ptHe3Corrected = correctPtHe3TrackedAsTriton (track);
1352+
1353+ mQaRegistry .fill (HIST (" He3/hHe3Pt" ), ptHe3Corrected);
13411354 mQaRegistry .fill (HIST (" He3/hDCAxyHe3" ), track.dcaXY ());
13421355 mQaRegistry .fill (HIST (" He3/hDCAzHe3" ), track.dcaZ ());
13431356
@@ -1348,7 +1361,7 @@ struct he3HadronFemto {
13481361 }
13491362
13501363 const float nSigmaHe3 = computeNSigmaHe3 (track);
1351- mQaRegistry .fill (HIST (" He3/h2NsigmaHe3TPC_preselection" ), track.sign () * 2 * track. pt () , nSigmaHe3);
1364+ mQaRegistry .fill (HIST (" He3/h2NsigmaHe3TPC_preselection" ), track.sign () * ptHe3Corrected , nSigmaHe3);
13521365 }
13531366 }
13541367 PROCESS_SWITCH (he3HadronFemto, processPurity, " Process for purity studies" , false );
0 commit comments