diff --git a/PWGHF/D2H/TableProducer/candidateCreatorBToJpsiReduced.cxx b/PWGHF/D2H/TableProducer/candidateCreatorBToJpsiReduced.cxx index 8209d8696bb..e1db941ad9b 100644 --- a/PWGHF/D2H/TableProducer/candidateCreatorBToJpsiReduced.cxx +++ b/PWGHF/D2H/TableProducer/candidateCreatorBToJpsiReduced.cxx @@ -109,23 +109,25 @@ struct HfCandidateCreatorBToJpsiReduced { df2.setWeightedFinalPCA(useWeightedFinalPCA); df2.setMatCorrType(noMatCorr); - df3.setPropagateToPCA(propagateToPCA); - df3.setMaxR(maxR); - df3.setMaxDZIni(maxDZIni); - df3.setMinParamChange(minParamChange); - df3.setMinRelChi2Change(minRelChi2Change); - df3.setUseAbsDCA(useAbsDCA); - df3.setWeightedFinalPCA(useWeightedFinalPCA); - df3.setMatCorrType(noMatCorr); - - df4.setPropagateToPCA(propagateToPCA); - df4.setMaxR(maxR); - df4.setMaxDZIni(maxDZIni); - df4.setMinParamChange(minParamChange); - df4.setMinRelChi2Change(minRelChi2Change); - df4.setUseAbsDCA(useAbsDCA); - df4.setWeightedFinalPCA(useWeightedFinalPCA); - df4.setMatCorrType(noMatCorr); + if (doprocessDataBplus) { + df3.setPropagateToPCA(propagateToPCA); + df3.setMaxR(maxR); + df3.setMaxDZIni(maxDZIni); + df3.setMinParamChange(minParamChange); + df3.setMinRelChi2Change(minRelChi2Change); + df3.setUseAbsDCA(useAbsDCA); + df3.setWeightedFinalPCA(useWeightedFinalPCA); + df3.setMatCorrType(noMatCorr); + } else { + df4.setPropagateToPCA(propagateToPCA); + df4.setMaxR(maxR); + df4.setMaxDZIni(maxDZIni); + df4.setMinParamChange(minParamChange); + df4.setMinRelChi2Change(minRelChi2Change); + df4.setUseAbsDCA(useAbsDCA); + df4.setWeightedFinalPCA(useWeightedFinalPCA); + df4.setMatCorrType(noMatCorr); + } // histograms registry.add("hMassJpsi", "J/Psi mass;#it{M}_{#mu#mu} (GeV/#it{c}^{2});Counts", {HistType::kTH1F, {{600, 2.5, 3.7, "#it{p}_{T} (GeV/#it{c})"}}}); @@ -163,8 +165,11 @@ struct HfCandidateCreatorBToJpsiReduced { // Set the magnetic field from ccdb bz = collision.bz(); df2.setBz(bz); - df3.setBz(bz); - df4.setBz(bz); + if constexpr (DecChannel == DecayChannel::BplusToJpsiK) { + df3.setBz(bz); + } else { + df4.setBz(bz); + } for (const auto& candJpsi : candsJpsiThisColl) { o2::track::TrackParametrizationWithError trackPosParCov( @@ -174,7 +179,6 @@ struct HfCandidateCreatorBToJpsiReduced { // --------------------------------- // reconstruct J/Psi candidate - o2::track::TrackParCov trackParCovJpsi{}; std::array pVecJpsi{}; registry.fill(HIST("hFitCandidatesJpsi"), SVFitting::BeforeFit); try { @@ -195,8 +199,6 @@ struct HfCandidateCreatorBToJpsiReduced { df2.getTrack(0).getPxPyPzGlo(pVecDauPos); df2.getTrack(1).getPxPyPzGlo(pVecDauNeg); pVecJpsi = RecoDecay::pVec(pVecDauPos, pVecDauNeg); - trackParCovJpsi = df2.createParentTrackParCov(); - trackParCovJpsi.setAbsCharge(0); // to be sure float invMassJpsi{0.f}; invMassJpsi = RecoDecay::m2(std::array{pVecDauPos, pVecDauNeg}, std::array{o2::constants::physics::MassMuon, o2::constants::physics::MassMuon}); diff --git a/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx index ca043a2adb6..5b2976a38a8 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx @@ -299,23 +299,25 @@ struct HfDataCreatorJpsiHadReduced { df2.setWeightedFinalPCA(useWeightedFinalPCA); df2.setMatCorrType(noMatCorr); - df3.setPropagateToPCA(propagateToPCA); - df3.setMaxR(maxR); - df3.setMaxDZIni(maxDZIni); - df3.setMinParamChange(minParamChange); - df3.setMinRelChi2Change(minRelChi2Change); - df3.setUseAbsDCA(useAbsDCA); - df3.setWeightedFinalPCA(useWeightedFinalPCA); - df3.setMatCorrType(noMatCorr); - - df4.setPropagateToPCA(propagateToPCA); - df4.setMaxR(maxR); - df4.setMaxDZIni(maxDZIni); - df4.setMinParamChange(minParamChange); - df4.setMinRelChi2Change(minRelChi2Change); - df4.setUseAbsDCA(useAbsDCA); - df4.setWeightedFinalPCA(useWeightedFinalPCA); - df4.setMatCorrType(noMatCorr); + if (doprocessJpsiKData || doprocessJpsiKMc) { + df3.setPropagateToPCA(propagateToPCA); + df3.setMaxR(maxR); + df3.setMaxDZIni(maxDZIni); + df3.setMinParamChange(minParamChange); + df3.setMinRelChi2Change(minRelChi2Change); + df3.setUseAbsDCA(useAbsDCA); + df3.setWeightedFinalPCA(useWeightedFinalPCA); + df3.setMatCorrType(noMatCorr); + } else { + df4.setPropagateToPCA(propagateToPCA); + df4.setMaxR(maxR); + df4.setMaxDZIni(maxDZIni); + df4.setMinParamChange(minParamChange); + df4.setMinRelChi2Change(minRelChi2Change); + df4.setUseAbsDCA(useAbsDCA); + df4.setWeightedFinalPCA(useWeightedFinalPCA); + df4.setMatCorrType(noMatCorr); + } // Configure CCDB access ccdb->setURL(ccdbUrl); @@ -997,8 +999,11 @@ struct HfDataCreatorJpsiHadReduced { runNumber = bc.runNumber(); } df2.setBz(bz); - df3.setBz(bz); - df4.setBz(bz); + if constexpr (DecChannel == DecayChannel::BplusToJpsiK) { + df3.setBz(bz); + } else { + df4.setBz(bz); + } auto thisCollId = collision.globalIndex(); // looping over 2-prong candidates @@ -1007,7 +1012,7 @@ struct HfDataCreatorJpsiHadReduced { // Apply the selections on the J/Psi candidates registry.fill(HIST("hSelectionsJpsi"), 1, candidate.pt()); - if (!(candidate.hfflag() & (1 << aod::hf_cand_2prong::DecayType::JpsiToMuMu))) { + if (!TESTBIT(candidate.hfflag(), aod::hf_cand_2prong::DecayType::JpsiToMuMu)) { continue; } registry.fill(HIST("hSelectionsJpsi"), 2 + aod::SelectionStep::RecoSkims, candidate.pt()); @@ -1201,7 +1206,6 @@ struct HfDataCreatorJpsiHadReduced { } registry.fill(HIST("hFitCandidatesB0"), SVFitting::FitOk); - o2::track::TrackParCov trackParCovB0{}; std::array pVecB0{}, pVec0{}, pVec1{}, pVecK0Star{}; auto secondaryVertexB0 = df4.getPCACandidate(); @@ -1212,8 +1216,6 @@ struct HfDataCreatorJpsiHadReduced { pVecB0 = RecoDecay::pVec(pVec0, pVec1, pVec2, pVec3); pVecJpsi = RecoDecay::pVec(pVec0, pVec1); pVecK0Star = RecoDecay::pVec(pVec2, pVec3); - trackParCovB0 = df4.createParentTrackParCov(); - trackParCovB0.setAbsCharge(0); // to be sure if (!isBSelected(pVecB0, secondaryVertexB0, collision)) { continue; @@ -1333,7 +1335,6 @@ struct HfDataCreatorJpsiHadReduced { } registry.fill(HIST("hFitCandidatesBS"), SVFitting::FitOk); - o2::track::TrackParCov trackParCovBS{}; std::array pVecBS{}, pVec0{}, pVec1{}, pVecPhi{}; auto secondaryVertexBS = df4.getPCACandidate(); @@ -1344,8 +1345,6 @@ struct HfDataCreatorJpsiHadReduced { pVecBS = RecoDecay::pVec(pVec0, pVec1, pVec2, pVec3); pVecJpsi = RecoDecay::pVec(pVec0, pVec1); pVecPhi = RecoDecay::pVec(pVec2, pVec3); - trackParCovBS = df4.createParentTrackParCov(); - trackParCovBS.setAbsCharge(0); // to be sure if (!isBSelected(pVecBS, secondaryVertexBS, collision)) { continue;