@@ -102,6 +102,7 @@ struct PiDecandidate {
102102 std::array<float , 3 > momDe = {99 .f , 99 .f , 99 .f };
103103 std::array<float , 3 > momPi = {99 .f , 99 .f , 99 .f };
104104
105+
105106 float signDe = 1 .f;
106107 float signPi = 1 .f;
107108 float invMass = -10 .f;
@@ -230,6 +231,7 @@ struct PiDeuteronFemto {
230231 {" hEmptyPool" , " svPoolCreator did not find track pairs false/true" , {HistType::kTH1F , {{2 , -0.5 , 1.5 }}}},
231232 {" hdcaxyDe" , " ;DCA_{xy} (cm)" , {HistType::kTH1F , {{200 , -1 .0f , 1 .0f }}}},
232233 {" hdcazDe" , " ;DCA_{z} (cm)" , {HistType::kTH1F , {{200 , -1 .0f , 1 .0f }}}},
234+ {" hdcazDe_min" , " ;DCA_{z}-min (cm)" , {HistType::kTH1F , {{20 , -1 .0f , 1 .0f }}}},
233235 {" hNClsDeITS" , " ;N_{ITS} Cluster" , {HistType::kTH1F , {{20 , -10 .0f , 10 .0f }}}},
234236 {" hNClsPiITS" , " ;N_{ITS} Cluster" , {HistType::kTH1F , {{20 , -10 .0f , 10 .0f }}}},
235237 {" hDePitInvMass" , " ; M(De + p) (GeV/#it{c}^{2})" , {HistType::kTH1F , {{300 , 3 .74f , 4 .34f }}}},
@@ -287,7 +289,7 @@ struct PiDeuteronFemto {
287289 for (int i = 0 ; i < numParticles; i++) {
288290 mBBparamsDe [i] = settingBetheBlochParams->get (" De" , Form (" p%i" , i));
289291 }
290- mBBparamsDe [5 ] = settingBetheBlochParams->get (" De" , " resolution" );
292+ mBBparamsDe [5 ] = settingBetheBlochParams->get (" De" , " resolution" );
291293
292294 std::vector<std::string> selectionLabels = {" All" , " Track selection" , " PID" };
293295 for (int i = 0 ; i < Selections::kAll ; i++) {
@@ -402,7 +404,7 @@ struct PiDeuteronFemto {
402404 auto tpcNSigmaPi = candidate.tpcNSigmaPi ();
403405 mQaRegistry .fill (HIST (" h2NsigmaPiTPC_preselection" ), candidate.tpcInnerParam (), tpcNSigmaPi);
404406 if (std::abs (candidate.pt ()) < settingCutPiptMin || std::abs (candidate.pt ()) > settingCutPiptMax)
405- return false ;
407+ return false ;
406408 if (candidate.hasTOF () && candidate.tpcInnerParam () > settingCutPinMinTOFPi) {
407409 auto tofNSigmaPi = candidate.tofNSigmaPi ();
408410 auto combNsigma = std::sqrt (tofNSigmaPi * tofNSigmaPi + tpcNSigmaPi * tpcNSigmaPi);
@@ -414,12 +416,12 @@ struct PiDeuteronFemto {
414416 if (combNsigma > settingCutNsigmaTOFTPCPi) {
415417 return false ;
416418 }
417- mQaRegistry .fill (HIST (" h2NsigmaPiTPC" ), candidate.sign () * candidate.pt (), tpcNSigmaPi);
418- mQaRegistry .fill (HIST (" h2NsigmaPiTOF" ), candidate.sign () * candidate.pt (), tofNSigmaPi);
419- mQaRegistry .fill (HIST (" h2NsigmaPiComb" ), candidate.sign () * candidate.pt (), combNsigma);
419+ mQaRegistry .fill (HIST (" h2NsigmaPiTPC" ), candidate.sign () *candidate.pt (), tpcNSigmaPi);
420+ mQaRegistry .fill (HIST (" h2NsigmaPiTOF" ), candidate.sign () *candidate.pt (), tofNSigmaPi);
421+ mQaRegistry .fill (HIST (" h2NsigmaPiComb" ), candidate.sign () *candidate.pt (), combNsigma);
420422 return true ;
421423 } else if (std::abs (tpcNSigmaPi) < settingCutNsigmaTPCPi) {
422- mQaRegistry .fill (HIST (" h2NsigmaPiTPC" ), candidate.sign () * candidate.pt (), tpcNSigmaPi);
424+ mQaRegistry .fill (HIST (" h2NsigmaPiTPC" ), candidate.sign () *candidate.pt (), tpcNSigmaPi);
423425 return true ;
424426 }
425427 return false ;
@@ -443,16 +445,16 @@ struct PiDeuteronFemto {
443445 return false ;
444446 }
445447 float tpcNSigmaDe;
446- if (settingUseBBcomputeDeNsigma) {
447- tpcNSigmaDe = computeNSigmaDe (candidate);
448- } else {
449- tpcNSigmaDe = candidate.tpcNSigmaDe ();
448+ if (settingUseBBcomputeDeNsigma) {
449+ tpcNSigmaDe = computeNSigmaDe (candidate);
450+ }else {
451+ tpcNSigmaDe = candidate.tpcNSigmaDe ();
450452 }
451-
453+
452454 mQaRegistry .fill (HIST (" h2NsigmaDeTPC_preselection" ), candidate.sign () * candidate.pt (), tpcNSigmaDe);
453455 mQaRegistry .fill (HIST (" h2NsigmaDeTPC_preselecComp" ), candidate.sign () * candidate.pt (), candidate.tpcNSigmaDe ());
454456 if (std::abs (candidate.pt ()) < settingCutDeptMin || std::abs (candidate.pt ()) > settingCutDeptMax)
455- return false ;
457+ return false ;
456458 if (candidate.hasTOF () && candidate.tpcInnerParam () > settingCutPinMinTOFITSDe) {
457459 auto tofNSigmaDe = candidate.tofNSigmaDe ();
458460 auto combNsigma = std::sqrt (tofNSigmaDe * tofNSigmaDe + tpcNSigmaDe * tpcNSigmaDe);
@@ -464,8 +466,10 @@ struct PiDeuteronFemto {
464466 mQaRegistry .fill (HIST (" h2NsigmaDeTPC" ), candidate.sign () * candidate.pt (), tpcNSigmaDe);
465467 mQaRegistry .fill (HIST (" h2NsigmaDeTOF" ), candidate.sign () * candidate.pt (), tofNSigmaDe);
466468 return true ;
467- } else if (std::abs (tpcNSigmaDe) < settingCutNsigmaTPCDe) {
468-
469+ } else if (candidate.tpcInnerParam () <= settingCutPinMinTOFITSDe) {
470+ if (std::abs (tpcNSigmaDe) > settingCutNsigmaTPCDe) {
471+ return false ;
472+ }
469473 o2::aod::ITSResponse mResponseITS ;
470474 auto itsnSigmaDe = mResponseITS .nSigmaITS <o2::track::PID ::Deuteron>(candidate.itsClusterSizes (), candidate.p (), candidate.eta ());
471475 mQaRegistry .fill (HIST (" h2NSigmaDeITS_preselection" ), candidate.sign () * candidate.pt (), itsnSigmaDe);
@@ -474,7 +478,7 @@ struct PiDeuteronFemto {
474478 }
475479 mQaRegistry .fill (HIST (" h2NsigmaDeTPC" ), candidate.sign () * candidate.pt (), tpcNSigmaDe);
476480 mQaRegistry .fill (HIST (" h2NSigmaDeITS" ), candidate.sign () * candidate.pt (), itsnSigmaDe);
477- // mQaRegistry.fill(HIST("h2NsigmaDeComb"), candidate.sign() * candidate.pt(), combNsigma);
481+ // mQaRegistry.fill(HIST("h2NsigmaDeComb"), candidate.sign() * candidate.pt(), combNsigma);
478482 mQaRegistry .fill (HIST (" h2dEdxDecandidates" ), candidate.sign () * tpcInnerParam, candidate.tpcSignal ());
479483 return true ;
480484 }
@@ -719,6 +723,7 @@ struct PiDeuteronFemto {
719723 mQaRegistry .fill (HIST (" hDePitInvMass" ), piDecand.invMass );
720724 mQaRegistry .fill (HIST (" hdcaxyDe" ), piDecand.dcaxyDe );
721725 mQaRegistry .fill (HIST (" hdcazDe" ), piDecand.dcazDe );
726+ mQaRegistry .fill (HIST (" hdcazDe_min" ), (abs (piDecand.dcazDe ) - settingCutDeDCAzMin));
722727 mQaRegistry .fill (HIST (" hNClsDeITS" ), piDecand.nClsItsDe );
723728 mQaRegistry .fill (HIST (" hNClsPiITS" ), piDecand.nClsItsPi );
724729 mQaRegistry .fill (HIST (" hisBkgEM" ), piDecand.isBkgEM );
@@ -781,7 +786,7 @@ struct PiDeuteronFemto {
781786 float DeDCAxyMin = 0.015 + 0.0305 / TMath::Power (piDecand.recoPtDe (), 1.1 );
782787 if (abs (piDecand.dcaxyDe ) > DeDCAxyMin || abs (piDecand.dcazDe ) > settingCutDeDCAzMin || abs (piDecand.dcaxyPi ) > settingCutPiDCAxyMin || abs (piDecand.dcazPi ) > settingCutPiDCAzMin)
783788 return ;
784-
789+ std::cout << " [DEBUG] Passed all DCA cuts. " << std::endl;
785790 fillHistograms (piDecand);
786791
787792 double kstar = computeKstar (piDecand);
0 commit comments