From b97b47757ee53da75464589ef19414f77dab2a65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?BiaoZhang=20=28=E5=BC=A0=E5=BD=AA=29?= <52267892+zhangbiao-phy@users.noreply.github.com> Date: Sun, 28 Dec 2025 00:43:33 +0100 Subject: [PATCH 1/3] Update producerCharmHadronsTrackFemtoDream.cxx --- .../producerCharmHadronsTrackFemtoDream.cxx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/PWGHF/HFC/TableProducer/producerCharmHadronsTrackFemtoDream.cxx b/PWGHF/HFC/TableProducer/producerCharmHadronsTrackFemtoDream.cxx index 5b1c433baf9..8dea6ca8cdc 100644 --- a/PWGHF/HFC/TableProducer/producerCharmHadronsTrackFemtoDream.cxx +++ b/PWGHF/HFC/TableProducer/producerCharmHadronsTrackFemtoDream.cxx @@ -586,10 +586,19 @@ struct HfProducerCharmHadronsTrackFemtoDream { bdtScoreFd); } else if constexpr (Channel == DecayChannel::D0ToPiK) { + LOG(info) << "trackPos1.sign(): " << trackPos1.sign() << " candFlag: " << candFlag; + int signD0 = 0; + if (candFlag == 0) { + signD0 = +1; // D0 + } else if (candFlag == 1) { + signD0 = -1; // anti-D0 + } else { + LOG(error) << "Unexpected candFlag = " << candFlag; + } rowCandCharm2Prong( outputCollision.lastIndex(), timeStamp, - trackPos1.sign() + trackNeg.sign(), + signD0, trackPos1.globalIndex(), trackNeg.globalIndex(), trackPos1.pt(), From a495bf5579e153fae5cc6d624160c869e977b6de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?BiaoZhang=20=28=E5=BC=A0=E5=BD=AA=29?= <52267892+zhangbiao-phy@users.noreply.github.com> Date: Sun, 28 Dec 2025 00:44:59 +0100 Subject: [PATCH 2/3] Update taskCharmHadronsTrackFemtoDream.cxx --- .../Tasks/taskCharmHadronsTrackFemtoDream.cxx | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/PWGHF/HFC/Tasks/taskCharmHadronsTrackFemtoDream.cxx b/PWGHF/HFC/Tasks/taskCharmHadronsTrackFemtoDream.cxx index 122196f54e7..e4deb4835d6 100644 --- a/PWGHF/HFC/Tasks/taskCharmHadronsTrackFemtoDream.cxx +++ b/PWGHF/HFC/Tasks/taskCharmHadronsTrackFemtoDream.cxx @@ -767,7 +767,30 @@ struct HfTaskCharmHadronsTrackFemtoDream { : NegativeCharge; timeStamp = part.timeStamp(); - + float tpcNSigma = 999.f; + float tofNSigma = 999.f; + switch (trackSel.pdgCodeTrack1.value) { + case kProton: + tpcNSigma = part.tpcNSigmaPr(); + tofNSigma = part.tofNSigmaPr(); + break; + case kPiPlus: + tpcNSigma = part.tpcNSigmaPi(); + tofNSigma = part.tofNSigmaPi(); + break; + case kKPlus: + tpcNSigma = part.tpcNSigmaKa(); + tofNSigma = part.tofNSigmaKa(); + break; + case kDeuteron: + tpcNSigma = part.tpcNSigmaDe(); + tofNSigma = part.tofNSigmaDe(); + break; + default: + LOG(fatal) << "Unhandled PDG code in PID switch: " + << trackSel.pdgCodeTrack1.value; + break; + } rowFemtoResultTrk( col.globalIndex(), timeStamp, @@ -779,8 +802,8 @@ struct HfTaskCharmHadronsTrackFemtoDream { part.tpcNClsFound(), part.tpcNClsFindable(), part.tpcNClsCrossedRows(), - part.tpcNSigmaPr(), - part.tofNSigmaPr()); + tpcNSigma, + tofNSigma); } // ---- Fill Collision Table ---- @@ -874,9 +897,12 @@ struct HfTaskCharmHadronsTrackFemtoDream { auto sliceCharmHad = partitionCharmHadron2Prong->sliceByCached(aod::femtodreamparticle::fdCollisionId, col.globalIndex(), cache); if (fillTableWithCharm.value && sliceCharmHad.size() == 0) { continue; + } else { + fillTables(col, sliceTrk1, sliceCharmHad); + } + if (sliceCharmHad.size() > 0 && sliceTrk1.size() > 0) { + doSameEvent(sliceCharmHad, sliceTrk1, parts, col); } - fillTables(col, sliceTrk1, sliceCharmHad); - doSameEvent(sliceCharmHad, sliceTrk1, parts, col); } if (mixSetting.doMixEvent) { switch (mixSetting.mixingBinPolicy) { @@ -906,9 +932,12 @@ struct HfTaskCharmHadronsTrackFemtoDream { auto sliceCharmHad = partitionCharmHadronDstar->sliceByCached(aod::femtodreamparticle::fdCollisionId, col.globalIndex(), cache); if (fillTableWithCharm.value && sliceCharmHad.size() == 0) { continue; + } else { + fillTables(col, sliceTrk1, sliceCharmHad); + } + if (sliceCharmHad.size() > 0 && sliceTrk1.size() > 0) { + doSameEvent(sliceCharmHad, sliceTrk1, parts, col); } - fillTables(col, sliceTrk1, sliceCharmHad); - doSameEvent(sliceCharmHad, sliceTrk1, parts, col); } if (mixSetting.doMixEvent) { switch (mixSetting.mixingBinPolicy) { From 7b0742aa35d7d6ba8b6c5ec47530521c0f54479e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?BiaoZhang=20=28=E5=BC=A0=E5=BD=AA=29?= <52267892+zhangbiao-phy@users.noreply.github.com> Date: Sun, 28 Dec 2025 00:51:31 +0100 Subject: [PATCH 3/3] Update producerCharmHadronsTrackFemtoDream.cxx --- PWGHF/HFC/TableProducer/producerCharmHadronsTrackFemtoDream.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGHF/HFC/TableProducer/producerCharmHadronsTrackFemtoDream.cxx b/PWGHF/HFC/TableProducer/producerCharmHadronsTrackFemtoDream.cxx index 8dea6ca8cdc..dc75f4fbe07 100644 --- a/PWGHF/HFC/TableProducer/producerCharmHadronsTrackFemtoDream.cxx +++ b/PWGHF/HFC/TableProducer/producerCharmHadronsTrackFemtoDream.cxx @@ -586,7 +586,6 @@ struct HfProducerCharmHadronsTrackFemtoDream { bdtScoreFd); } else if constexpr (Channel == DecayChannel::D0ToPiK) { - LOG(info) << "trackPos1.sign(): " << trackPos1.sign() << " candFlag: " << candFlag; int signD0 = 0; if (candFlag == 0) { signD0 = +1; // D0