diff --git a/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx index 49ca42dcee4..55aa2f61dd5 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx @@ -535,11 +535,11 @@ struct HfDataCreatorJpsiHadReduced { // Now we check that subtracting gammas from bremsstrahlung, the number of daughters of the J/Psi is 2 (µ+µ-) // In EVTGEN, bremmstralhung photons are considered as daughters of the J/Psi - std::vector jpsiDauIndices{}; + std::vector jpsiDauPdgs{}; for (const auto& dau : jpsiPart.template daughters_as()) { - jpsiDauIndices.push_back(dau.pdgCode()); + jpsiDauPdgs.push_back(dau.pdgCode()); } - if (jpsiDauIndices.size() - std::count(jpsiDauIndices.begin(), jpsiDauIndices.end(), kGamma) == nProngsJpsi) { + if (jpsiDauPdgs.size() - std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kGamma) == nProngsJpsi) { flag = signB * o2::hf_decay::hf_cand_beauty::BplusToJpsiKToMuMuK; } } @@ -568,11 +568,11 @@ struct HfDataCreatorJpsiHadReduced { // Now we check that subtracting gammas from bremsstrahlung, the number of daughters of the J/Psi is 2 (e+e-) // In EVTGEN, bremmstralhung photons are considered as daughters of the J/Psi - std::vector jpsiDauIndices{}; + std::vector jpsiDauPdgs{}; for (const auto& dau : jpsiPart.template daughters_as()) { - jpsiDauIndices.push_back(dau.pdgCode()); + jpsiDauPdgs.push_back(dau.pdgCode()); } - if (jpsiDauIndices.size() - std::count(jpsiDauIndices.begin(), jpsiDauIndices.end(), kGamma) == nProngsJpsi) { + if (jpsiDauPdgs.size() - std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kGamma) == nProngsJpsi) { flag = signB * o2::hf_decay::hf_cand_beauty::BplusToJpsiKToEEK; } } @@ -615,16 +615,16 @@ struct HfDataCreatorJpsiHadReduced { std::vector dauIndices{}; const int8_t signB = sign; // Since J/Psi is self-conjugate, we need to set acceptAntiParticles to false - if (RecoDecay::isMatchedMCGen(particlesMc, bParticle, signB * Pdg::kB0, std::array{+kJPsi, signB * Pdg::kK0Star892}, false, nullptr, 1, &dauIndices)) { + if (RecoDecay::isMatchedMCGen(particlesMc, bParticle, signB * Pdg::kB0, std::array{+kJPsi, signB * Pdg::kK0Star892}, false, nullptr, 1, &dauIndices)) { const auto& jpsiPart = particlesMc.rawIteratorAt(dauIndices[0]); // Now we check that subtracting gammas from bremsstrahlung, the number of daughters of the J/Psi is 2 (e+e-) // In EVTGEN, bremmstralhung photons are considered as daughters of the J/Psi - std::vector jpsiDauIndices{}; + std::vector jpsiDauPdgs{}; for (const auto& dau : jpsiPart.template daughters_as()) { - jpsiDauIndices.push_back(dau.pdgCode()); + jpsiDauPdgs.push_back(dau.pdgCode()); } - if (jpsiDauIndices.size() - std::count(jpsiDauIndices.begin(), jpsiDauIndices.end(), kGamma) == nProngsJpsi) { + if (jpsiDauPdgs.size() - std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kGamma) == nProngsJpsi) { flag = signB * o2::hf_decay::hf_cand_beauty::B0ToJpsiPiKToMuMuPiK; indexRec = RecoDecay::getMatchedMCRec(particlesMc, std::array{vecDaughtersB[2], vecDaughtersB[3]}, Pdg::kK0Star892, std::array{+kKPlus, -kPiPlus}, true, &sign, 1); if (indexRec > -1) { @@ -652,16 +652,16 @@ struct HfDataCreatorJpsiHadReduced { const int8_t signB = sign; // Since J/Psi is self-conjugate, we need to set acceptAntiParticles to false - if (RecoDecay::isMatchedMCGen(particlesMc, bParticle, signB * Pdg::kB0, std::array{+kJPsi, signB * Pdg::kK0Star892}, false, nullptr, 1, &dauIndices)) { + if (RecoDecay::isMatchedMCGen(particlesMc, bParticle, signB * Pdg::kB0, std::array{+kJPsi, signB * Pdg::kK0Star892}, false, nullptr, 1, &dauIndices)) { const auto& jpsiPart = particlesMc.rawIteratorAt(dauIndices[0]); // Now we check that subtracting gammas from bremsstrahlung, the number of daughters of the J/Psi is 2 (e+e-) // In EVTGEN, bremmstralhung photons are considered as daughters of the J/Psi - std::vector jpsiDauIndices{}; + std::vector jpsiDauPdgs{}; for (const auto& dau : jpsiPart.template daughters_as()) { - jpsiDauIndices.push_back(dau.pdgCode()); + jpsiDauPdgs.push_back(dau.pdgCode()); } - if (jpsiDauIndices.size() - std::count(jpsiDauIndices.begin(), jpsiDauIndices.end(), kGamma) == nProngsJpsi) { + if (jpsiDauPdgs.size() - std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kGamma) == nProngsJpsi) { flag = signB * o2::hf_decay::hf_cand_beauty::B0ToJpsiPiKToEEPiK; indexRec = RecoDecay::getMatchedMCRec(particlesMc, std::array{vecDaughtersB[2], vecDaughtersB[3]}, Pdg::kK0Star892, std::array{+kKPlus, -kPiPlus}, true, &sign, 1); if (indexRec > -1) { @@ -715,16 +715,16 @@ struct HfDataCreatorJpsiHadReduced { std::vector dauIndices{}; const int8_t signB = sign; // Since J/Psi and phi are self-conjugate, we need to set acceptAntiParticles to false - if (RecoDecay::isMatchedMCGen(particlesMc, bParticle, signB * Pdg::kBS, std::array{+kJPsi, +Pdg::kPhi}, false, nullptr, 1, &dauIndices)) { + if (RecoDecay::isMatchedMCGen(particlesMc, bParticle, signB * Pdg::kBS, std::array{+kJPsi, +Pdg::kPhi}, false, nullptr, 1, &dauIndices)) { const auto& jpsiPart = particlesMc.rawIteratorAt(dauIndices[0]); // Now we check that subtracting gammas from bremsstrahlung, the number of daughters of the J/Psi is 2 (e+e-) // In EVTGEN, bremmstralhung photons are considered as daughters of the J/Psi - std::vector jpsiDauIndices{}; + std::vector jpsiDauPdgs{}; for (const auto& dau : jpsiPart.template daughters_as()) { - jpsiDauIndices.push_back(dau.pdgCode()); + jpsiDauPdgs.push_back(dau.pdgCode()); } - if (jpsiDauIndices.size() - std::count(jpsiDauIndices.begin(), jpsiDauIndices.end(), kGamma) == nProngsJpsi) { + if (jpsiDauPdgs.size() - std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kGamma) == nProngsJpsi) { flag = signB * o2::hf_decay::hf_cand_beauty::BsToJpsiKKToMuMuKK; indexRec = RecoDecay::getMatchedMCRec(particlesMc, std::array{vecDaughtersB[2], vecDaughtersB[3]}, Pdg::kPhi, std::array{+kKPlus, -kKPlus}, true, &sign, 1); if (indexRec > -1) { @@ -752,16 +752,16 @@ struct HfDataCreatorJpsiHadReduced { const int8_t signB = sign; // Since J/Psi and phi are self-conjugate, we need to set acceptAntiParticles to false - if (RecoDecay::isMatchedMCGen(particlesMc, bParticle, signB * Pdg::kBS, std::array{+kJPsi, +Pdg::kPhi}, false, nullptr, 1, &dauIndices)) { + if (RecoDecay::isMatchedMCGen(particlesMc, bParticle, signB * Pdg::kBS, std::array{+kJPsi, +Pdg::kPhi}, false, nullptr, 1, &dauIndices)) { const auto& jpsiPart = particlesMc.rawIteratorAt(dauIndices[0]); // Now we check that subtracting gammas from bremsstrahlung, the number of daughters of the J/Psi is 2 (e+e-) // In EVTGEN, bremmstralhung photons are considered as daughters of the J/Psi - std::vector jpsiDauIndices{}; + std::vector jpsiDauPdgs{}; for (const auto& dau : jpsiPart.template daughters_as()) { - jpsiDauIndices.push_back(dau.pdgCode()); + jpsiDauPdgs.push_back(dau.pdgCode()); } - if (jpsiDauIndices.size() - std::count(jpsiDauIndices.begin(), jpsiDauIndices.end(), kGamma) == nProngsJpsi) { + if (jpsiDauPdgs.size() - std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kGamma) == nProngsJpsi) { flag = signB * o2::hf_decay::hf_cand_beauty::BsToJpsiKKToEEKK; indexRec = RecoDecay::getMatchedMCRec(particlesMc, std::array{vecDaughtersB[2], vecDaughtersB[3]}, Pdg::kPhi, std::array{+kKPlus, -kKPlus}, true, &sign, 1); if (indexRec > -1) { @@ -844,14 +844,21 @@ struct HfDataCreatorJpsiHadReduced { // Match generated particles. for (const auto& particle : mcParticlesPerMcColl) { - int8_t sign{0}, flag{0}, channel{0}; + int8_t sign = particle.pdgCode() > 0 ? 1 : -1; + int8_t flag{0}, channel{0}; if constexpr (DecChannel == DecayChannel::BplusToJpsiK) { // B+ → J/Psi K+ → (µ+µ-) K+ - if (RecoDecay::isMatchedMCGen(particlesMc, particle, Pdg::kBPlus, std::array{static_cast(Pdg::kJPsi), +kKPlus}, true, &sign)) { + // Since J/Psi is self-conjugate, we need to set acceptAntiParticles to false + if (RecoDecay::isMatchedMCGen(particlesMc, particle, sign * Pdg::kBPlus, std::array{static_cast(Pdg::kJPsi), sign * kKPlus}, false)) { // Match J/Psi -> µ+µ- - auto candJpsiMC = particlesMc.rawIteratorAt(particle.daughtersIds().front()); - // Printf("Checking J/Psi -> µ+µ-"); - if (RecoDecay::isMatchedMCGen(particlesMc, candJpsiMC, static_cast(Pdg::kJPsi), std::array{-kMuonMinus, +kMuonMinus}, true)) { + const auto& jpsiPart = particlesMc.rawIteratorAt(particle.daughtersIds().front()); + // Now we check that subtracting gammas from bremsstrahlung, the number of daughters of the J/Psi is 2 (µ+µ-) + // In EVTGEN, bremmstralhung photons are considered as daughters of the J/Psi + std::vector jpsiDauPdgs{}; + for (const auto& dau : jpsiPart.template daughters_as()) { + jpsiDauPdgs.push_back(dau.pdgCode()); + } + if (std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kMuonMinus) == 1 && std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), -kMuonMinus) && jpsiDauPdgs.size() - std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kGamma) == nProngsJpsi) { flag = sign * o2::hf_decay::hf_cand_beauty::BplusToJpsiKToMuMuK; } } @@ -880,16 +887,22 @@ struct HfDataCreatorJpsiHadReduced { ptProngs[1], yProngs[1], etaProngs[1], hfRejMap, centFT0C, centFT0M); } else if constexpr (DecChannel == DecayChannel::B0ToJpsiK0Star) { // B0 → J/Psi K*0 → (µ+µ-) (K+pi-) - if (RecoDecay::isMatchedMCGen(particlesMc, particle, Pdg::kB0, std::array{static_cast(Pdg::kJPsi), +kKPlus, -kPiPlus}, true, &sign, 2)) { + // Since J/Psi is self-conjugate, we need to set acceptAntiParticles to false + if (RecoDecay::isMatchedMCGen(particlesMc, particle, sign * Pdg::kB0, std::array{static_cast(Pdg::kJPsi), sign * kKPlus, -1 * sign * kPiPlus}, false, nullptr, 2)) { // Match J/Psi -> µ+µ- and K*0 -> K+pi- - auto candJpsiMC = particlesMc.rawIteratorAt(particle.daughtersIds().front()); - auto candK0StarMC = particlesMc.rawIteratorAt(particle.daughtersIds().back()); - // Printf("Checking J/Psi -> µ+µ- and K*0 -> K+pi-"); - if (RecoDecay::isMatchedMCGen(particlesMc, candJpsiMC, static_cast(Pdg::kJPsi), std::array{-kMuonMinus, +kMuonMinus}, true)) { + const auto& jpsiPart = particlesMc.rawIteratorAt(particle.daughtersIds().front()); + // Now we check that subtracting gammas from bremsstrahlung, the number of daughters of the J/Psi is 2 (µ+µ-) + // In EVTGEN bremmstralhung photons are considered as daughters of the J/Psi + std::vector jpsiDauPdgs{}; + for (const auto& dau : jpsiPart.template daughters_as()) { + jpsiDauPdgs.push_back(dau.pdgCode()); + } + if (std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kMuonMinus) == 1 && std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), -kMuonMinus) && jpsiDauPdgs.size() - std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kGamma) == nProngsJpsi) { flag = sign * o2::hf_decay::hf_cand_beauty::B0ToJpsiPiKToMuMuPiK; } + const auto& kStarPart = particlesMc.rawIteratorAt(particle.daughtersIds().back()); // Check K*0 -> K+pi- - if (RecoDecay::isMatchedMCGen(particlesMc, candK0StarMC, static_cast(Pdg::kK0Star892), std::array{+kKPlus, -kPiPlus}, true)) { + if (RecoDecay::isMatchedMCGen(particlesMc, kStarPart, static_cast(Pdg::kK0Star892), std::array{+kKPlus, -kPiPlus}, true)) { channel = o2::hf_decay::hf_cand_beauty::B0ToJpsiKstar0; } } @@ -918,16 +931,22 @@ struct HfDataCreatorJpsiHadReduced { ptProngs[1], yProngs[1], etaProngs[1], hfRejMap, centFT0C, centFT0M); } else if constexpr (DecChannel == DecayChannel::BsToJpsiPhi) { // Bs → J/Psi phi → (µ+µ-) (K+K-) - if (RecoDecay::isMatchedMCGen(particlesMc, particle, Pdg::kBS, std::array{static_cast(Pdg::kJPsi), +kKPlus, -kKPlus}, true, &sign, 2)) { + // Since J/Psi is self-conjugate, we need to set acceptAntiParticles to false + if (RecoDecay::isMatchedMCGen(particlesMc, particle, sign * Pdg::kBS, std::array{static_cast(Pdg::kJPsi), sign * kKPlus, -1 * sign * kKPlus}, false, nullptr, 2)) { // Match J/Psi -> µ+µ- and phi -> K+K- - auto candJpsiMC = particlesMc.rawIteratorAt(particle.daughtersIds().front()); - auto candPhiMC = particlesMc.rawIteratorAt(particle.daughtersIds().back()); - // Printf("Checking J/Psi -> µ+µ- and phi -> K+K-"); - if (RecoDecay::isMatchedMCGen(particlesMc, candJpsiMC, static_cast(Pdg::kJPsi), std::array{-kMuonMinus, +kMuonMinus}, true)) { + const auto& jpsiPart = particlesMc.rawIteratorAt(particle.daughtersIds().front()); + // Now we check that subtracting gammas from bremsstrahlung, the number of daughters of the J/Psi is 2 (µ+µ-) + // In EVTGEN, bremmstralhung photons are considered as daughters of the J/Psi + std::vector jpsiDauPdgs{}; + for (const auto& dau : jpsiPart.template daughters_as()) { + jpsiDauPdgs.push_back(dau.pdgCode()); + } + if (std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kMuonMinus) == 1 && std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), -kMuonMinus) && jpsiDauPdgs.size() - std::count(jpsiDauPdgs.begin(), jpsiDauPdgs.end(), kGamma) == nProngsJpsi) { flag = sign * o2::hf_decay::hf_cand_beauty::BsToJpsiKKToMuMuKK; } + const auto& phiPart = particlesMc.rawIteratorAt(particle.daughtersIds().back()); // Check phi -> K+K- - if (RecoDecay::isMatchedMCGen(particlesMc, candPhiMC, static_cast(Pdg::kPhi), std::array{-kKPlus, +kKPlus}, true)) { + if (RecoDecay::isMatchedMCGen(particlesMc, phiPart, static_cast(Pdg::kPhi), std::array{-kKPlus, +kKPlus}, true)) { channel = o2::hf_decay::hf_cand_beauty::BsToJpsiPhi; } } diff --git a/PWGHF/D2H/Tasks/taskB0ToJpsiK0StarReduced.cxx b/PWGHF/D2H/Tasks/taskB0ToJpsiK0StarReduced.cxx index 9431ca25590..15d69d2f1bb 100644 --- a/PWGHF/D2H/Tasks/taskB0ToJpsiK0StarReduced.cxx +++ b/PWGHF/D2H/Tasks/taskB0ToJpsiK0StarReduced.cxx @@ -342,7 +342,7 @@ struct HfTaskB0ToJpsiK0StarReduced { const AxisSpec axisImpactPar{200, -0.05, 0.05}; const AxisSpec axisPtJpsi{100, 0., 50.}; const AxisSpec axisRapidity{100, -2., 2.}; - const AxisSpec axisPtB{std::vector(binsPt), "#it{p}_{T}^{B^{0}} (GeV/#it{c})"}; + const AxisSpec axisPtB{500, 0., 50., "#it{p}_{T}^{B^{0}} (GeV/#it{c})"}; const AxisSpec axisPtK0Star{100, 0.f, 10.f}; registry.add("hMass", b0CandTitle + "inv. mass J/#Psi K*^{0} (GeV/#it{c}^{2});" + stringPt, {HistType::kTH2F, {axisMassB0, axisPtB}}); @@ -353,7 +353,8 @@ struct HfTaskB0ToJpsiK0StarReduced { if (doprocessMc || doprocessMcWithB0Ml) { registry.add("hPtJpsiGen", mcParticleMatched + "J/#Psi #it{p}_{T}^{gen} (GeV/#it{c}); B^{0} " + stringPt, {HistType::kTH2F, {axisPtProng, axisPtB}}); registry.add("hPtK0StarGen", mcParticleMatched + "K*^{0} #it{p}_{T}^{gen} (GeV/#it{c}); B^{0} " + stringPt, {HistType::kTH2F, {axisPtK0Star, axisPtB}}); - registry.add("hYGenWithProngsInAcceptance", mcParticleMatched + "B^{0} #it{p}_{T}^{gen} (GeV/#it{c}); B^{0} #it{y}", {HistType::kTH2F, {axisPtProng, axisRapidity}}); + registry.add("hPtYGenSig", mcParticleMatched + "B^{0} #it{p}_{T}^{gen} (GeV/#it{c}); B^{0} #it{y}", {HistType::kTH2F, {axisPtB, axisRapidity}}); + registry.add("hPtYWithProngsInAccepanceGenSig", mcParticleMatched + "B^{0} #it{p}_{T}^{gen} (GeV/#it{c}); B^{0} #it{y}", {HistType::kTH2F, {axisPtB, axisRapidity}}); registry.add("hMassRecSig", b0CandMatch + "inv. mass J/#Psi K*^{0} (GeV/#it{c}^{2}); B^{0} " + stringPt, {HistType::kTH2F, {axisMassB0, axisPtB}}); registry.add("hMassJpsiRecSig", b0CandMatch + "inv. mass #mu^{+}#mu^{#minus} (GeV/#it{c}^{2}); J/#Psi " + stringPt, {HistType::kTH2F, {axisMassJpsi, axisPtJpsi}}); registry.add("hMassK0StarRecSig", b0CandMatch + "inv. mass K^{+}#pi^{#minus} (GeV/#it{c}^{2}); K*^{0} " + stringPt, {HistType::kTH2F, {axisMassK0Star, axisPtK0Star}}); @@ -679,9 +680,10 @@ struct HfTaskB0ToJpsiK0StarReduced { registry.fill(HIST("hPtJpsiGen"), ptProngs[0], ptParticle); registry.fill(HIST("hPtK0StarGen"), ptProngs[1], ptParticle); + registry.fill(HIST("hPtYGenSig"), ptParticle, yParticle); // generated B0 with daughters in geometrical acceptance if (prongsInAcc) { - registry.fill(HIST("hYGenWithProngsInAcceptance"), ptParticle, yParticle); + registry.fill(HIST("hPtYWithProngsInAccepanceGenSig"), ptParticle, yParticle); } } diff --git a/PWGHF/D2H/Tasks/taskBplusToJpsiKReduced.cxx b/PWGHF/D2H/Tasks/taskBplusToJpsiKReduced.cxx index 6f1ea153985..316bdad3a22 100644 --- a/PWGHF/D2H/Tasks/taskBplusToJpsiKReduced.cxx +++ b/PWGHF/D2H/Tasks/taskBplusToJpsiKReduced.cxx @@ -303,7 +303,7 @@ struct HfTaskBplusToJpsiKReduced { const AxisSpec axisImpactPar{200, -0.05, 0.05}; const AxisSpec axisPtJpsi{100, 0., 50.}; const AxisSpec axisRapidity{100, -2., 2.}; - const AxisSpec axisPtB{std::vector(binsPt), "#it{p}_{T}^{B^{+}} (GeV/#it{c})"}; + const AxisSpec axisPtB{500, 0., 50., "#it{p}_{T}^{B^{0}} (GeV/#it{c})"}; const AxisSpec axisPtKa{100, 0.f, 10.f}; registry.add("hMass", bPlusCandTitle + "inv. mass J/#Psi K^{+} (GeV/#it{c}^{2});" + stringPt, {HistType::kTH2F, {axisMassBplus, axisPtB}}); @@ -314,7 +314,8 @@ struct HfTaskBplusToJpsiKReduced { if (doprocessMc || doprocessMcWithBplusMl) { registry.add("hPtJpsiGen", mcParticleMatched + "J/#Psi #it{p}_{T}^{gen} (GeV/#it{c}); B^{+} " + stringPt, {HistType::kTH2F, {axisPtProng, axisPtB}}); registry.add("hPtKGen", mcParticleMatched + "Kaon #it{p}_{T}^{gen} (GeV/#it{c}); B^{+} " + stringPt, {HistType::kTH2F, {axisPtProng, axisPtB}}); - registry.add("hYGenWithProngsInAcceptance", mcParticleMatched + "B^{+} #it{p}_{T}^{gen} (GeV/#it{c}); B^{+} #it{y}", {HistType::kTH2F, {axisPtProng, axisRapidity}}); + registry.add("hPtYGenSig", mcParticleMatched + "B^{+} #it{p}_{T}^{gen} (GeV/#it{c}); B^{+} #it{y}", {HistType::kTH2F, {axisPtB, axisRapidity}}); + registry.add("hPtYWithProngsInAccepanceGenSig", mcParticleMatched + "B^{+} #it{p}_{T}^{gen} (GeV/#it{c}); B^{+} #it{y}", {HistType::kTH2F, {axisPtB, axisRapidity}}); registry.add("hMassRecSig", bPlusCandMatch + "inv. mass J/#Psi K^{+} (GeV/#it{c}^{2}); B^{+} " + stringPt, {HistType::kTH2F, {axisMassBplus, axisPtB}}); registry.add("hMassJpsiRecSig", bPlusCandMatch + "inv. mass #mu^{+}#mu^{#minus} (GeV/#it{c}^{2}); J/#Psi " + stringPt, {HistType::kTH2F, {axisMassJpsi, axisPtJpsi}}); registry.add("hd0KRecSig", bPlusCandMatch + "Kaon DCAxy to prim. vertex (cm); K^{+} " + stringPt, {HistType::kTH2F, {axisImpactPar, axisPtKa}}); @@ -526,9 +527,10 @@ struct HfTaskBplusToJpsiKReduced { registry.fill(HIST("hPtJpsiGen"), ptProngs[0], ptParticle); registry.fill(HIST("hPtKGen"), ptProngs[1], ptParticle); + registry.fill(HIST("hPtYGenSig"), ptParticle, yParticle); // generated B+ with daughters in geometrical acceptance if (prongsInAcc) { - registry.fill(HIST("hYGenWithProngsInAcceptance"), ptParticle, yParticle); + registry.fill(HIST("hPtYWithProngsInAccepanceGenSig"), ptParticle, yParticle); } } diff --git a/PWGHF/D2H/Tasks/taskBsToJpsiPhiReduced.cxx b/PWGHF/D2H/Tasks/taskBsToJpsiPhiReduced.cxx index 86d6a7cfbab..4cc6089befb 100644 --- a/PWGHF/D2H/Tasks/taskBsToJpsiPhiReduced.cxx +++ b/PWGHF/D2H/Tasks/taskBsToJpsiPhiReduced.cxx @@ -329,7 +329,7 @@ struct HfTaskBsToJpsiPhiReduced { const AxisSpec axisImpactPar{200, -0.05, 0.05}; const AxisSpec axisPtJpsi{100, 0., 50.}; const AxisSpec axisRapidity{100, -2., 2.}; - const AxisSpec axisPtB{std::vector(binsPt), "#it{p}_{T}^{B_{s}^{0}} (GeV/#it{c})"}; + const AxisSpec axisPtB{500, 0., 50., "#it{p}_{T}^{B^{0}} (GeV/#it{c})"}; const AxisSpec axisPtPhi{100, 0.f, 10.f}; registry.add("hMass", bsCandTitle + "inv. mass J/#Psi K^{+} (GeV/#it{c}^{2});" + stringPt, {HistType::kTH2F, {axisMassBs, axisPtB}}); @@ -341,7 +341,8 @@ struct HfTaskBsToJpsiPhiReduced { registry.add("hPtJpsiGen", mcParticleMatched + "J/#Psi #it{p}_{T}^{gen} (GeV/#it{c}); B_{s}^{0} " + stringPt, {HistType::kTH2F, {axisPtProng, axisPtB}}); registry.add("hPtPhiGen", mcParticleMatched + "#phi #it{p}_{T}^{gen} (GeV/#it{c}); B_{s}^{0} " + stringPt, {HistType::kTH2F, {axisPtProng, axisPtB}}); registry.add("hPtKGen", mcParticleMatched + "Kaon #it{p}_{T}^{gen} (GeV/#it{c}); B_{s}^{0} " + stringPt, {HistType::kTH2F, {axisPtProng, axisPtB}}); - registry.add("hYGenWithProngsInAcceptance", mcParticleMatched + "B_{s}^{0} #it{p}_{T}^{gen} (GeV/#it{c}); B_{s}^{0} #it{y}", {HistType::kTH2F, {axisPtProng, axisRapidity}}); + registry.add("hPtYGenSig", mcParticleMatched + "B_{s}^{0} #it{p}_{T}^{gen} (GeV/#it{c}); B_{s}^{0} #it{y}", {HistType::kTH2F, {axisPtB, axisRapidity}}); + registry.add("hPtYWithProngsInAccepanceGenSig", mcParticleMatched + "B_{s}^{0} #it{p}_{T}^{gen} (GeV/#it{c}); B_{s}^{0} #it{y}", {HistType::kTH2F, {axisPtB, axisRapidity}}); registry.add("hMassRecSig", bsCandMatch + "inv. mass J/#Psi K^{+} (GeV/#it{c}^{2}); B_{s}^{0} " + stringPt, {HistType::kTH2F, {axisMassBs, axisPtB}}); registry.add("hMassJpsiRecSig", bsCandMatch + "inv. mass #mu^{+}#mu^{#minus} (GeV/#it{c}^{2}); J/#Psi " + stringPt, {HistType::kTH2F, {axisMassJpsi, axisPtJpsi}}); registry.add("hMassPhiRecSig", bsCandMatch + "inv. mass K^{+}K^{#minus} (GeV/#it{c}^{2}); #phi " + stringPt, {HistType::kTH2F, {axisMassPhi, axisPtPhi}}); @@ -575,9 +576,10 @@ struct HfTaskBsToJpsiPhiReduced { registry.fill(HIST("hPtJpsiGen"), ptProngs[0], ptParticle); registry.fill(HIST("hPtKGen"), ptProngs[1], ptParticle); + registry.fill(HIST("hPtYGenSig"), ptParticle, yParticle); // generated Bs with daughters in geometrical acceptance if (prongsInAcc) { - registry.fill(HIST("hYGenWithProngsInAcceptance"), ptParticle, yParticle); + registry.fill(HIST("hPtYWithProngsInAccepanceGenSig"), ptParticle, yParticle); } }