@@ -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