Skip to content

Commit 0c8eb7c

Browse files
author
Shirajum Monira
committed
hasTOF check for combined simga
1 parent ef0039e commit 0c8eb7c

File tree

1 file changed

+36
-11
lines changed

1 file changed

+36
-11
lines changed

PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackCascadeExtended.cxx

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,9 @@ struct femtoUniversePairTaskTrackCascadeExtended {
198198
}
199199
}
200200

201-
bool isNSigmaCombined(float mom, float nsigmaTPCParticle, float nsigmaTOFParticle)
201+
bool isNSigmaCombined(float mom, float nsigmaTPCParticle, float nsigmaTOFParticle, bool hasTOF)
202202
{
203-
if (mom <= confmom) {
203+
if (mom <= confmom || hasTOF == 0) {
204204
return (std::abs(nsigmaTPCParticle) < confNsigmaTPCParticle);
205205
} else {
206206
return (TMath::Hypot(nsigmaTOFParticle, nsigmaTPCParticle) < confNsigmaCombinedParticle);
@@ -231,7 +231,7 @@ struct femtoUniversePairTaskTrackCascadeExtended {
231231
const float tpcNSigmas[3] = {aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePr()), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePi()), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStoreKa())};
232232
const float tofNSigmas[3] = {aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePr()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePi()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStoreKa())};
233233

234-
return isNSigmaCombined(part.p(), tpcNSigmas[id], tofNSigmas[id]);
234+
return isNSigmaCombined(part.p(), tpcNSigmas[id], tofNSigmas[id], (part.pidCut() & 512u) != 0);
235235
}
236236

237237
void init(InitContext const&)
@@ -462,13 +462,13 @@ struct femtoUniversePairTaskTrackCascadeExtended {
462462
rXiQA.fill(HIST("hInvMpTmult"), part.pt(), part.mLambda(), multCol);
463463
}
464464

465-
if constexpr (std::experimental::is_detected<hasSigma, typename TableType::iterator>::value) {
466-
for (const auto& part : groupPartsOne) {
465+
for (const auto& part : groupPartsOne) {
466+
if constexpr (std::experimental::is_detected<hasSigma, typename TableType::iterator>::value) {
467467
/// PID plot for track particle
468468
const float tpcNSigmas[3] = {aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePr()), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePi()), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStoreKa())};
469469
const float tofNSigmas[3] = {aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePr()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePi()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStoreKa())};
470470

471-
if (!isNSigmaCombined(part.p(), tpcNSigmas[confTrackChoicePartOne], tofNSigmas[confTrackChoicePartOne]))
471+
if (!isNSigmaCombined(part.p(), tpcNSigmas[confTrackChoicePartOne], tofNSigmas[confTrackChoicePartOne], (part.pidCut() & 512u) != 0))
472472
continue;
473473

474474
if (part.mAntiLambda() > 0) {
@@ -480,8 +480,21 @@ struct femtoUniversePairTaskTrackCascadeExtended {
480480
qaRegistry.fill(HIST("Tracks_neg/nSigmaTOF"), part.p(), tofNSigmas[confTrackChoicePartOne]);
481481
trackHistoPartOneNeg.fillQA<false, false>(part);
482482
}
483+
} else {
484+
if ((part.pidCut() & 512u) != 0) {
485+
if ((part.pidCut() & (64u << confTrackChoicePartOne)) == 0)
486+
continue;
487+
} else if ((part.pidCut() & (1u << confTrackChoicePartOne)) == 0) {
488+
continue;
489+
}
490+
if (part.mAntiLambda() > 0) {
491+
trackHistoPartOnePos.fillQA<false, false>(part);
492+
} else if (part.mAntiLambda() < 0) {
493+
trackHistoPartOneNeg.fillQA<false, false>(part);
494+
}
483495
}
484496
}
497+
485498
for (const auto& [p1, p2] : combinations(CombinationsFullIndexPolicy(groupPartsOne, groupPartsTwo))) {
486499
// Cascade inv mass cut (mLambda stores Xi mass, mAntiLambda stores Omega mass)
487500
if (!invMCascade(p2.mLambda(), p2.mAntiLambda(), confCascType1))
@@ -491,8 +504,12 @@ struct femtoUniversePairTaskTrackCascadeExtended {
491504
if (!isParticleCombined(p1, confTrackChoicePartOne))
492505
continue;
493506
} else {
494-
if ((p1.pidCut() & (64u << confTrackChoicePartOne)) == 0)
507+
if ((p1.pidCut() & 512u) != 0) {
508+
if ((p1.pidCut() & (64u << confTrackChoicePartOne)) == 0)
509+
continue;
510+
} else if ((p1.pidCut() & (1u << confTrackChoicePartOne)) == 0) {
495511
continue;
512+
}
496513
}
497514
// track cleaning
498515
if (!pairCleaner.isCleanPair(p1, p2, parts)) {
@@ -1144,11 +1161,15 @@ struct femtoUniversePairTaskTrackCascadeExtended {
11441161
if (mcpart.pdgMCTruth() != kProton)
11451162
continue;
11461163
if constexpr (std::experimental::is_detected<hasSigma, typename TableType::iterator>::value) {
1147-
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePr()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePr())))
1164+
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePr()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePr()), (part.pidCut() & 512u) != 0))
11481165
continue;
11491166
} else {
1150-
if ((part.pidCut() & 64u) == 0)
1167+
if ((part.pidCut() & 512u) != 0) {
1168+
if ((part.pidCut() & 64u) == 0)
1169+
continue;
1170+
} else if ((part.pidCut() & 1u) == 0) {
11511171
continue;
1172+
}
11521173
}
11531174
registryMCreco.fill(HIST("plus/MCrecoPr"), mcpart.pt(), mcpart.eta());
11541175
registryMCreco.fill(HIST("plus/MCrecoPrPt"), mcpart.pt());
@@ -1157,11 +1178,15 @@ struct femtoUniversePairTaskTrackCascadeExtended {
11571178
if (mcpart.pdgMCTruth() != kProtonBar)
11581179
continue;
11591180
if constexpr (std::experimental::is_detected<hasSigma, typename TableType::iterator>::value) {
1160-
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePr()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePr())))
1181+
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePr()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePr()), (part.pidCut() & 512u) != 0))
11611182
continue;
11621183
} else {
1163-
if ((part.pidCut() & 64u) == 0)
1184+
if ((part.pidCut() & 512u) != 0) {
1185+
if ((part.pidCut() & 64u) == 0)
1186+
continue;
1187+
} else if ((part.pidCut() & 1u) == 0) {
11641188
continue;
1189+
}
11651190
}
11661191
registryMCreco.fill(HIST("minus/MCrecoPr"), mcpart.pt(), mcpart.eta());
11671192
registryMCreco.fill(HIST("minus/MCrecoPrPt"), mcpart.pt());

0 commit comments

Comments
 (0)