Skip to content

Commit 3101bf8

Browse files
committed
D0 refl candidates
1 parent 8c7f619 commit 3101bf8

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

PWGHF/HFC/TableProducer/correlatorD0Hadrons.cxx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ struct HfCorrelatorD0Hadrons {
282282
AxisSpec axisTrkCount = {5, 0., 5.};
283283
AxisSpec axisBdtScoreBkg = {100, 0., 1., "Bdt score background"};
284284
AxisSpec axisBdtScorePrompt = {100, 0., 1., "Bdt score prompt"};
285+
AxisSpec axisOrigin = {10, 0., 10., "Candidate origin"};
285286

286287
// Histograms for Data
287288
registry.add("hPtCand", "D0, D0bar candidates", {HistType::kTH1F, {axisPtD}});
@@ -297,7 +298,7 @@ struct HfCorrelatorD0Hadrons {
297298
registry.add("hMass1D", "D0, D0bar candidates mass", {HistType::kTH1F, {axisMassD}});
298299
registry.add("hMassD01D", "D0 candidates mass", {HistType::kTH1F, {axisMassD}});
299300
registry.add("hMassD0bar1D", "D0bar candidates mass", {HistType::kTH1F, {axisMassD}});
300-
registry.add("hMLScoresVsMassVsPt", "D0, D0bar candidates massVsPt", {HistType::kTHnSparseD, {{axisBdtScoreBkg}, {axisBdtScorePrompt}, {axisMassD}, {axisPtD}}});
301+
registry.add("hMLScoresVsMassVsPt", "D0, D0bar candidates massVsPt", {HistType::kTHnSparseD, {{axisBdtScoreBkg}, {axisBdtScorePrompt}, {axisMassD}, {axisPtD}, {axisOrigin}}});
301302
// Histograms for MC Reco
302303
registry.add("hPtCandRec", "D0, D0bar candidates - MC reco", {HistType::kTH1F, {axisPtD}});
303304
registry.add("hPtProng0Rec", "D0, D0bar candidates prong 0 - MC reco", {HistType::kTH1F, {axisPtD}});
@@ -313,8 +314,8 @@ struct HfCorrelatorD0Hadrons {
313314
registry.add("hMassD0barRecSig", "D0bar signal candidates massVsPt - MC reco", {HistType::kTH2F, {{axisMassD}, {axisPtD}}});
314315
registry.add("hMassD0barRecRef", "D0bar reflection candidates massVsPt - MC reco", {HistType::kTH2F, {{axisMassD}, {axisPtD}}});
315316
registry.add("hMassD0barRecBg", "D0bar background candidates massVsPt - MC reco", {HistType::kTH2F, {{axisMassD}, {axisPtD}}});
316-
registry.add("hPtCandRecSigPrompt", "D+,Hadron candidates Prompt - MC Reco", {HistType::kTH1F, {axisPtD}});
317-
registry.add("hPtCandRecSigNonPrompt", "D+,Hadron candidates Non Prompt - MC Reco", {HistType::kTH1F, {axisPtD}});
317+
registry.add("hPtCandRecSigPrompt", "D0,Hadron candidates Prompt - MC Reco", {HistType::kTH1F, {axisPtD}});
318+
registry.add("hPtCandRecSigNonPrompt", "D0,Hadron candidates Non Prompt - MC Reco", {HistType::kTH1F, {axisPtD}});
318319
registry.add("hPtVsMultiplicityRecPrompt", "Multiplicity FT0M - MC Rec Prompt", {HistType::kTH2F, {{axisPtD}, {axisMultFT0M}}});
319320
registry.add("hPtVsMultiplicityRecNonPrompt", "Multiplicity FT0M - MC Rec Non Prompt", {HistType::kTH2F, {{axisPtD}, {axisMultFT0M}}});
320321
registry.add("hPtParticleAssocVsCandRec", "Associated Particle - MC reco", {HistType::kTH2F, {{axisPtHadron}, {axisPtD}}});
@@ -406,7 +407,7 @@ struct HfCorrelatorD0Hadrons {
406407
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
407408
outputMlD0[iclass] = candidate.mlProbD0()[classMl->at(iclass)];
408409
}
409-
registry.fill(HIST("hMLScoresVsMassVsPt"), outputMlD0[0], outputMlD0[2], hfHelper.invMassD0ToPiK(candidate), candidate.pt());
410+
registry.fill(HIST("hMLScoresVsMassVsPt"), outputMlD0[0], outputMlD0[2], hfHelper.invMassD0ToPiK(candidate), candidate.pt(), candidate.isSelD0bar() ? o2::aod::hf_correlation_d0_hadron::D0D0barBoth : o2::aod::hf_correlation_d0_hadron::D0Only);
410411
}
411412
if (candidate.isSelD0bar() >= selectionFlagD0bar) {
412413
registry.fill(HIST("hMass"), hfHelper.invMassD0barToKPi(candidate), candidate.pt(), efficiencyWeight);
@@ -415,7 +416,7 @@ struct HfCorrelatorD0Hadrons {
415416
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
416417
outputMlD0bar[iclass] = candidate.mlProbD0bar()[classMl->at(iclass)];
417418
}
418-
registry.fill(HIST("hMLScoresVsMassVsPt"), outputMlD0bar[0], outputMlD0bar[2], hfHelper.invMassD0barToKPi(candidate), candidate.pt());
419+
registry.fill(HIST("hMLScoresVsMassVsPt"), outputMlD0bar[0], outputMlD0bar[2], hfHelper.invMassD0barToKPi(candidate), candidate.pt(), candidate.isSelD0() ? o2::aod::hf_correlation_d0_hadron::D0D0barBoth : o2::aod::hf_correlation_d0_hadron::D0barOnly);
419420
}
420421
entryD0CandRecoInfo(hfHelper.invMassD0ToPiK(candidate), hfHelper.invMassD0barToKPi(candidate), candidate.pt(), outputMlD0[0], outputMlD0[2], outputMlD0bar[0], outputMlD0bar[2]);
421422

PWGHF/HFC/Tasks/taskCorrelationD0Hadrons.cxx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ struct HfTaskCorrelationD0Hadrons {
503503
float bdtScorePromptD0bar = pairEntry.mlScorePromptD0bar();
504504
float bdtScoreBkgD0bar = pairEntry.mlScoreBkgD0bar();
505505
bool isPhysicalPrimary = pairEntry.isPhysicalPrimary();
506-
int statusD0Prompt = static_cast<int>(pairEntry.isPrompt());
506+
bool statusD0Prompt = pairEntry.isPrompt();
507507
int statusPromptHadron = pairEntry.trackOrigin();
508508

509509
if (bdtScorePromptD0 < mlOutputPromptD0->at(ptBinD) || bdtScoreBkgD0 > mlOutputBkgD0->at(ptBinD) ||
@@ -550,31 +550,31 @@ struct HfTaskCorrelationD0Hadrons {
550550
// ---------------------- Fill plots for signal case, D0 ->1, D0bar ->8 ---------------------------------------------
551551
if ((massD > signalRegionLeft->at(ptBinD) && massD < signalRegionRight->at(ptBinD)) && (TESTBIT(signalStatus, ParticleTypeMcRec::D0Sig))) {
552552
// in signal region, tests bit ParticleTypeMcRec::D0Sig, SE-> softpi removed, ME-> inclusive
553-
registry.fill(HIST("hCorrel2DVsPtSignalRegionRecSig"), deltaPhi, deltaEta, ptD, ptHadron, statusD0Prompt, poolBin, efficiencyWeight);
553+
registry.fill(HIST("hCorrel2DVsPtSignalRegionRecSig"), deltaPhi, deltaEta, ptD, ptHadron, static_cast<int>(statusD0Prompt), poolBin, efficiencyWeight);
554554
registry.fill(HIST("hCorrel2DPtIntSignalRegionRecSig"), deltaPhi, deltaEta, efficiencyWeight);
555555
registry.fill(HIST("hDeltaEtaPtIntSignalRegionRecSig"), deltaEta, efficiencyWeight);
556556
registry.fill(HIST("hDeltaPhiPtIntSignalRegionRecSig"), deltaPhi, efficiencyWeight);
557557
if (isPhysicalPrimary) {
558-
registry.fill(HIST("hCorrel2DVsPtPhysicalPrimaryRecSig"), deltaPhi, deltaEta, ptD, ptHadron, statusD0Prompt, poolBin, efficiencyWeight);
559-
if (statusD0Prompt == 1 && statusPromptHadron == RecoDecay::OriginType::Prompt) {
558+
registry.fill(HIST("hCorrel2DVsPtPhysicalPrimaryRecSig"), deltaPhi, deltaEta, ptD, ptHadron, static_cast<int>(statusD0Prompt), poolBin, efficiencyWeight);
559+
if (statusD0Prompt && statusPromptHadron == RecoDecay::OriginType::Prompt) {
560560
registry.fill(HIST("hCorrel2DVsPtSignalRegionPromptD0PromptHadronRecSig"), deltaPhi, deltaEta, ptD, ptHadron, poolBin, efficiencyWeight);
561-
} else if (statusD0Prompt == 0 && statusPromptHadron == RecoDecay::OriginType::NonPrompt) {
561+
} else if (!statusD0Prompt && statusPromptHadron == RecoDecay::OriginType::NonPrompt) {
562562
registry.fill(HIST("hCorrel2DVsPtSignalRegionNonPromptD0NonPromptHadronRecSig"), deltaPhi, deltaEta, ptD, ptHadron, poolBin, efficiencyWeight);
563563
}
564564
}
565565
}
566566

567567
if ((massDbar > signalRegionLeft->at(ptBinD) && massDbar < signalRegionRight->at(ptBinD)) && (TESTBIT(signalStatus, ParticleTypeMcRec::D0barSig))) {
568568
// in signal region, tests bit ParticleTypeMcRec::D0barSig, SE-> softpi removed, ME-> inclusive
569-
registry.fill(HIST("hCorrel2DVsPtSignalRegionRecSig"), deltaPhi, deltaEta, ptD, ptHadron, statusD0Prompt, poolBin, efficiencyWeight);
569+
registry.fill(HIST("hCorrel2DVsPtSignalRegionRecSig"), deltaPhi, deltaEta, ptD, ptHadron, static_cast<int>(statusD0Prompt), poolBin, efficiencyWeight);
570570
registry.fill(HIST("hCorrel2DPtIntSignalRegionRecSig"), deltaPhi, deltaEta, efficiencyWeight);
571571
registry.fill(HIST("hDeltaEtaPtIntSignalRegionRecSig"), deltaEta, efficiencyWeight);
572572
registry.fill(HIST("hDeltaPhiPtIntSignalRegionRecSig"), deltaPhi, efficiencyWeight);
573573
if (isPhysicalPrimary) {
574-
registry.fill(HIST("hCorrel2DVsPtPhysicalPrimaryRecSig"), deltaPhi, deltaEta, ptD, ptHadron, statusD0Prompt, poolBin, efficiencyWeight);
575-
if (statusD0Prompt == 1 && statusPromptHadron == RecoDecay::OriginType::Prompt) {
574+
registry.fill(HIST("hCorrel2DVsPtPhysicalPrimaryRecSig"), deltaPhi, deltaEta, ptD, ptHadron, static_cast<int>(statusD0Prompt), poolBin, efficiencyWeight);
575+
if (statusD0Prompt && statusPromptHadron == RecoDecay::OriginType::Prompt) {
576576
registry.fill(HIST("hCorrel2DVsPtSignalRegionPromptD0PromptHadronRecSig"), deltaPhi, deltaEta, ptD, ptHadron, poolBin, efficiencyWeight);
577-
} else if (statusD0Prompt == 0 && statusPromptHadron == RecoDecay::OriginType::NonPrompt) {
577+
} else if (!statusD0Prompt && statusPromptHadron == RecoDecay::OriginType::NonPrompt) {
578578
registry.fill(HIST("hCorrel2DVsPtSignalRegionNonPromptD0NonPromptHadronRecSig"), deltaPhi, deltaEta, ptD, ptHadron, poolBin, efficiencyWeight);
579579
}
580580
}

0 commit comments

Comments
 (0)