Skip to content

Commit d196186

Browse files
authored
fix track selection bug
1 parent 7978e20 commit d196186

1 file changed

Lines changed: 21 additions & 16 deletions

File tree

PWGCF/Femto/TableProducer/PiDeuteronFemto.cxx

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

Comments
 (0)