Skip to content

Commit 96e8e1b

Browse files
mfagginMattia Faggin
andauthored
[PWGHF] add flag to store only soft-pi tracking info. (#17766)
Co-authored-by: Mattia Faggin <mfaggin@cern.ch>
1 parent 97b5df1 commit 96e8e1b

1 file changed

Lines changed: 43 additions & 6 deletions

File tree

PWGHF/D2H/Tasks/taskSigmac.cxx

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ struct HfTaskSigmac {
6969
Configurable<bool> addMassDiffAbsLambdaCToSigmacSparse{"addMassDiffAbsLambdaCToSigmacSparse", false, "enable the filling of |M(pkpi, piKp) - M(LambdaC)| in the Σc0,++ THnSparse"};
7070
Configurable<float> deltaMassSigmacRecoMax{"deltaMassSigmacRecoMax", 1000, "Maximum allowed value for Sigmac deltaMass. Conceived to reduce the output size (i.e. reject background above a certain threshold)"};
7171
Configurable<float> ptMinSc{"ptMinSc", -1.f, "Minimum accepted value for SigmaC-hadron pt (GeV/c)"};
72+
Configurable<bool> trackingInfo4SoftPiOnly{"trackingInfo4SoftPiOnly", false, "Flag to enable the storage of tracking info about the soft pion only"};
7273

7374
bool isMc{};
7475
bool storeTrackProp{};
@@ -578,7 +579,13 @@ struct HfTaskSigmac {
578579
const auto& trackLcProng0 = candidateLc.template prong0_as<TRK>();
579580
const auto& trackLcProng1 = candidateLc.template prong1_as<TRK>();
580581
const auto& trackLcProng2 = candidateLc.template prong2_as<TRK>();
581-
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
582+
if (trackingInfo4SoftPiOnly) {
583+
/// soft pion info only
584+
getTrackingInfo(std::vector{trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
585+
} else {
586+
/// info from soft pion and also Lc daughters
587+
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
588+
}
582589
}
583590
if (addSoftPiDcaToSigmacSparse) {
584591
/// dcaXY,Z of soft pion track stored
@@ -745,7 +752,13 @@ struct HfTaskSigmac {
745752
const auto& trackLcProng0 = candidateLc.template prong0_as<TRK>();
746753
const auto& trackLcProng1 = candidateLc.template prong1_as<TRK>();
747754
const auto& trackLcProng2 = candidateLc.template prong2_as<TRK>();
748-
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
755+
if (trackingInfo4SoftPiOnly) {
756+
/// soft pion info only
757+
getTrackingInfo(std::vector{trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
758+
} else {
759+
/// info from soft pion and also Lc daughters
760+
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
761+
}
749762
}
750763
if (addSoftPiDcaToSigmacSparse) {
751764
/// dcaXY,Z of soft pion track stored
@@ -1301,7 +1314,13 @@ struct HfTaskSigmac {
13011314
const auto& trackLcProng1 = candidateLc.template prong1_as<TRK>();
13021315
const auto& trackLcProng2 = candidateLc.template prong2_as<TRK>();
13031316
const auto& trackSoftPi = candSc.template prong1_as<TRK>();
1304-
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1317+
if (trackingInfo4SoftPiOnly) {
1318+
/// soft pion info only
1319+
getTrackingInfo(std::vector{trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1320+
} else {
1321+
/// info from soft pion and also Lc daughters
1322+
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1323+
}
13051324
}
13061325
if (addSoftPiDcaToSigmacSparse) {
13071326
/// dcaXY,Z of soft pion track stored
@@ -1470,7 +1489,13 @@ struct HfTaskSigmac {
14701489
const auto& trackLcProng1 = candidateLc.template prong1_as<TRK>();
14711490
const auto& trackLcProng2 = candidateLc.template prong2_as<TRK>();
14721491
const auto& trackSoftPi = candSc.template prong1_as<TRK>();
1473-
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1492+
if (trackingInfo4SoftPiOnly) {
1493+
/// soft pion info only
1494+
getTrackingInfo(std::vector{trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1495+
} else {
1496+
/// info from soft pion and also Lc daughters
1497+
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1498+
}
14741499
}
14751500
if (addSoftPiDcaToSigmacSparse) {
14761501
/// dcaXY,Z of soft pion track stored
@@ -1676,7 +1701,13 @@ struct HfTaskSigmac {
16761701
const auto& trackLcProng1 = candidateLc.template prong1_as<TRK>();
16771702
const auto& trackLcProng2 = candidateLc.template prong2_as<TRK>();
16781703
const auto& trackSoftPi = candSc.template prong1_as<TRK>();
1679-
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1704+
if (trackingInfo4SoftPiOnly) {
1705+
/// soft pion info only
1706+
getTrackingInfo(std::vector{trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1707+
} else {
1708+
/// info from soft pion and also Lc daughters
1709+
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1710+
}
16801711
}
16811712
if (addSoftPiDcaToSigmacSparse) {
16821713
/// dcaXY,Z of soft pion track stored
@@ -1843,7 +1874,13 @@ struct HfTaskSigmac {
18431874
const auto& trackLcProng1 = candidateLc.template prong1_as<TRK>();
18441875
const auto& trackLcProng2 = candidateLc.template prong2_as<TRK>();
18451876
const auto& trackSoftPi = candSc.template prong1_as<TRK>();
1846-
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1877+
if (trackingInfo4SoftPiOnly) {
1878+
/// soft pion info only
1879+
getTrackingInfo(std::vector{trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1880+
} else {
1881+
/// info from soft pion and also Lc daughters
1882+
getTrackingInfo(std::vector{trackLcProng0, trackLcProng1, trackLcProng2, trackSoftPi}, absEtaTrackMin, numItsClsMin, numTpcClsMin);
1883+
}
18471884
}
18481885
if (addSoftPiDcaToSigmacSparse) {
18491886
/// dcaXY,Z of soft pion track stored

0 commit comments

Comments
 (0)