Skip to content

Commit 8be9cbe

Browse files
Update taskFlowCharmHadrons.cxx
1 parent d757a90 commit 8be9cbe

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

PWGHF/D2H/Tasks/taskFlowCharmHadrons.cxx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ struct HfTaskFlowCharmHadrons {
193193
ConfigurableAxis thnConfigAxisResoFT0cTPCtot{"thnConfigAxisResoFT0cTPCtot", {160, -8, 8}, ""};
194194
ConfigurableAxis thnConfigAxisResoFV0aTPCtot{"thnConfigAxisResoFV0aTPCtot", {160, -8, 8}, ""};
195195
ConfigurableAxis thnConfigAxisCandidateEta{"thnConfigAxisCandidateEta", {100, -5, 5}, ""};
196-
ConfigurableAxis thnConfigAxisSign{"thnConfigAxisSign", {2, -2.0, 2.0}, ""};
196+
ConfigurableAxis thnConfigAxisSign{"thnConfigAxisSign", {6, -3.0, 3.0}, ""};
197197

198198
HistogramRegistry registry{"registry", {}};
199199

@@ -525,13 +525,13 @@ struct HfTaskFlowCharmHadrons {
525525
float yQVec = qVecs[1];
526526
float const amplQVec = qVecs[2];
527527
float const evtPl = epHelper.GetEventPlane(xQVec, yQVec, harmonic);
528-
529528
for (const auto& candidate : candidates) {
530529
float massCand = 0.;
531530
float sign = 0.;
532531
std::vector<float> outputMl = {-999., -999.};
533-
532+
auto trackprong0 = candidate.template prong0_as<Trk>();
534533
if constexpr (std::is_same_v<T1, CandDsData> || std::is_same_v<T1, CandDsDataWMl>) {
534+
sign = trackprong0.sign();
535535
switch (Channel) {
536536
case DecayChannel::DsToKKPi:
537537
massCand = HfHelper::invMassDsToKKPi(candidate);
@@ -554,6 +554,7 @@ struct HfTaskFlowCharmHadrons {
554554
}
555555
} else if constexpr (std::is_same_v<T1, CandDplusData> || std::is_same_v<T1, CandDplusDataWMl>) {
556556
massCand = HfHelper::invMassDplusToPiKPi(candidate);
557+
sign = trackprong0.sign();
557558
if constexpr (std::is_same_v<T1, CandDplusDataWMl>) {
558559
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
559560
outputMl[iclass] = candidate.mlProbDplusToPiKPi()[classMl->at(iclass)];
@@ -562,6 +563,7 @@ struct HfTaskFlowCharmHadrons {
562563
} else if constexpr (std::is_same_v<T1, CandD0Data> || std::is_same_v<T1, CandD0DataWMl>) {
563564
switch (Channel) {
564565
case DecayChannel::D0ToPiK:
566+
sign = candidate.isSelD0bar() ? 3 : 1; // 3: reflected D0bar, 1: pure D0 excluding reflected D0bar
565567
massCand = HfHelper::invMassD0ToPiK(candidate);
566568
if constexpr (std::is_same_v<T1, CandD0DataWMl>) {
567569
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
@@ -571,6 +573,7 @@ struct HfTaskFlowCharmHadrons {
571573
break;
572574
case DecayChannel::D0ToKPi:
573575
massCand = HfHelper::invMassD0barToKPi(candidate);
576+
sign = candidate.isSelD0() ? 3 : 2; // 3: reflected D0, 2: pure D0bar excluding reflected D0
574577
if constexpr (std::is_same_v<T1, CandD0DataWMl>) {
575578
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
576579
outputMl[iclass] = candidate.mlProbD0bar()[classMl->at(iclass)];
@@ -581,6 +584,7 @@ struct HfTaskFlowCharmHadrons {
581584
break;
582585
}
583586
} else if constexpr (std::is_same_v<T1, CandLcData> || std::is_same_v<T1, CandLcDataWMl>) {
587+
sign = trackprong0.sign();
584588
switch (Channel) {
585589
case DecayChannel::LcToPKPi:
586590
massCand = HfHelper::invMassLcToPKPi(candidate);
@@ -602,6 +606,7 @@ struct HfTaskFlowCharmHadrons {
602606
break;
603607
}
604608
} else if constexpr (std::is_same_v<T1, CandXicData> || std::is_same_v<T1, CandXicDataWMl>) {
609+
sign = trackprong0.sign();
605610
switch (Channel) {
606611
case DecayChannel::XicToPKPi:
607612
massCand = HfHelper::invMassXicToPKPi(candidate);
@@ -624,6 +629,7 @@ struct HfTaskFlowCharmHadrons {
624629
}
625630
} else if constexpr (std::is_same_v<T1, CandXic0Data> || std::is_same_v<T1, CandXic0DataWMl>) {
626631
massCand = candidate.invMassCharmBaryon();
632+
sign = static_cast<float>(candidate.signDecay());
627633
if constexpr (std::is_same_v<T1, CandXic0DataWMl>) {
628634
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
629635
outputMl[iclass] = candidate.mlProbToXiPi()[classMl->at(iclass)];

0 commit comments

Comments
 (0)