Skip to content

Commit 2fb6855

Browse files
author
Shirajum Monira
committed
added has TOF check for combined signa PID
1 parent 05c70b3 commit 2fb6855

File tree

1 file changed

+29
-13
lines changed

1 file changed

+29
-13
lines changed

PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackV0Extended.cxx

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -203,9 +203,9 @@ struct FemtoUniversePairTaskTrackV0Extended {
203203
std::unique_ptr<TH1> pEffHistp2;
204204
Service<o2::ccdb::BasicCCDBManager> ccdb;
205205

206-
bool isNSigmaCombined(float mom, float nsigmaTPCParticle, float nsigmaTOFParticle)
206+
bool isNSigmaCombined(float mom, float nsigmaTPCParticle, float nsigmaTOFParticle, bool hasTOF)
207207
{
208-
if (mom <= confmom) {
208+
if (mom <= confmom || hasTOF == 0) {
209209
return (std::abs(nsigmaTPCParticle) < confNsigmaTPCParticle);
210210
} else {
211211
return (std::hypot(nsigmaTOFParticle, nsigmaTPCParticle) < confNsigmaCombinedParticle);
@@ -236,7 +236,7 @@ struct FemtoUniversePairTaskTrackV0Extended {
236236
}
237237
}
238238

239-
bool isNSigmaTOF(float mom, float nsigmaTOFParticle, float hasTOF)
239+
bool isNSigmaTOF(float mom, float nsigmaTOFParticle, bool hasTOF)
240240
{
241241
// Cut only on daughter tracks, that have TOF signal
242242
if (mom > confmom && hasTOF == 1) {
@@ -256,7 +256,7 @@ struct FemtoUniversePairTaskTrackV0Extended {
256256
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())};
257257
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())};
258258

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

262262
template <typename T>
@@ -470,7 +470,7 @@ struct FemtoUniversePairTaskTrackV0Extended {
470470
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())};
471471
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())};
472472

473-
if (!isNSigmaCombined(part.p(), tpcNSigmas[ConfTrkSelection.confTrackChoicePartOne], tofNSigmas[ConfTrkSelection.confTrackChoicePartOne]))
473+
if (!isNSigmaCombined(part.p(), tpcNSigmas[ConfTrkSelection.confTrackChoicePartOne], tofNSigmas[ConfTrkSelection.confTrackChoicePartOne], (part.pidCut() & 512u) != 0))
474474
continue;
475475
if (part.sign() > 0) {
476476
qaRegistry.fill(HIST("Tracks_pos/nSigmaTPC"), part.p(), tpcNSigmas[ConfTrkSelection.confTrackChoicePartOne]);
@@ -1604,21 +1604,29 @@ struct FemtoUniversePairTaskTrackV0Extended {
16041604
registryMCreco.fill(HIST("plus/MCrecoAllPt"), mcpart.pt());
16051605
if (mcpart.pdgMCTruth() == kPiPlus) {
16061606
if constexpr (std::experimental::is_detected<hasSigma, typename PartType::iterator>::value) {
1607-
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePi()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePi())))
1607+
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePi()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePi()), (part.pidCut() & 512u) != 0))
16081608
continue;
16091609
} else {
1610-
if ((part.pidCut() & 128u) == 0) // 128 for pion combined
1610+
if ((part.pidCut() & 512u) != 0) {
1611+
if ((part.pidCut() & 128u) == 0) // 128 for pion combined
1612+
continue;
1613+
} else if ((part.pidCut() & 2u) == 0) {
16111614
continue;
1615+
}
16121616
}
16131617
registryMCreco.fill(HIST("plus/MCrecoPi"), mcpart.pt(), mcpart.eta());
16141618
registryMCreco.fill(HIST("plus/MCrecoPiPt"), mcpart.pt());
16151619
} else if (mcpart.pdgMCTruth() == kProton) {
16161620
if constexpr (std::experimental::is_detected<hasSigma, typename PartType::iterator>::value) {
1617-
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePr()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePr())))
1621+
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePr()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePr()), (part.pidCut() & 512u) != 0))
16181622
continue;
16191623
} else {
1620-
if ((part.pidCut() & 64u) == 0) // 64 for proton combined
1624+
if ((part.pidCut() & 512u) != 0) {
1625+
if ((part.pidCut() & 64u) == 0) // 64 for proton combined
1626+
continue;
1627+
} else if ((part.pidCut() & 1u) == 0) {
16211628
continue;
1629+
}
16221630
}
16231631
registryMCreco.fill(HIST("plus/MCrecoPr"), mcpart.pt(), mcpart.eta());
16241632
registryMCreco.fill(HIST("plus/MCrecoPrPt"), mcpart.pt());
@@ -1627,21 +1635,29 @@ struct FemtoUniversePairTaskTrackV0Extended {
16271635
registryMCreco.fill(HIST("minus/MCrecoAllPt"), mcpart.pt());
16281636
if (mcpart.pdgMCTruth() == kPiMinus) {
16291637
if constexpr (std::experimental::is_detected<hasSigma, typename PartType::iterator>::value) {
1630-
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePi()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePi())))
1638+
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePi()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePi()), (part.pidCut() & 512u) != 0))
16311639
continue;
16321640
} else {
1633-
if ((part.pidCut() & 128u) == 0) // 128 for pion combined
1641+
if ((part.pidCut() & 512u) != 0) {
1642+
if ((part.pidCut() & 128u) == 0) // 128 for pion combined
1643+
continue;
1644+
} else if ((part.pidCut() & 2u) == 0) {
16341645
continue;
1646+
}
16351647
}
16361648
registryMCreco.fill(HIST("minus/MCrecoPi"), mcpart.pt(), mcpart.eta());
16371649
registryMCreco.fill(HIST("minus/MCrecoPiPt"), mcpart.pt());
16381650
} else if (mcpart.pdgMCTruth() == kProtonBar) {
16391651
if constexpr (std::experimental::is_detected<hasSigma, typename PartType::iterator>::value) {
1640-
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePr()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePr())))
1652+
if (!isNSigmaCombined(part.p(), aod::pidtpc_tiny::binning::unPackInTable(part.tpcNSigmaStorePr()), aod::pidtof_tiny::binning::unPackInTable(part.tofNSigmaStorePr()), (part.pidCut() & 512u) != 0))
16411653
continue;
16421654
} else {
1643-
if ((part.pidCut() & 64u) == 0) // 64 for proton combined
1655+
if ((part.pidCut() & 512u) != 0) {
1656+
if ((part.pidCut() & 64u) == 0) // 64 for proton combined
1657+
continue;
1658+
} else if ((part.pidCut() & 1u) == 0) {
16441659
continue;
1660+
}
16451661
}
16461662
registryMCreco.fill(HIST("minus/MCrecoPr"), mcpart.pt(), mcpart.eta());
16471663
registryMCreco.fill(HIST("minus/MCrecoPrPt"), mcpart.pt());

0 commit comments

Comments
 (0)