@@ -68,6 +68,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
6868 struct : o2::framework::ConfigurableGroup {
6969 Configurable<float > ConfNsigmaCombined{" ConfNsigmaCombined" , 3 .0f , " TPC and TOF Pion Sigma (combined) for momentum > ConfTOFPtMin" };
7070 Configurable<float > ConfNsigmaTPC{" ConfNsigmaTPC" , 3 .0f , " TPC Pion Sigma for momentum < ConfTOFPtMin" };
71+ Configurable<float > ConfNsigmaTPCElReject{" ConfNsigmaTPCElReject" , 2 .0f , " TPC Electron Sigma for momentum < ConfTOFPtMin" };
7172 Configurable<float > ConfTOFPtMin{" ConfTOFPtMin" , 0 .5f , " Min. Pt for which TOF is required for PID." };
7273 Configurable<float > ConfEtaMax{" ConfEtaMax" , 0 .8f , " Higher limit for |Eta| (the same for both particles)" };
7374
@@ -306,7 +307,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
306307 }
307308 }
308309
309- bool IsPionNSigma (float mom, float nsigmaTPCPi, float nsigmaTOFPi)
310+ bool IsPionNSigma (float mom, float nsigmaTPCPi, float nsigmaTOFPi, float nsigmaTPCElReject )
310311 {
311312 // |nsigma_TPC| < 3 for p < 0.5 GeV/c
312313 // |nsigma_combined| < 3 for p > 0.5
@@ -317,7 +318,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
317318 // ConfNsigmaCombined -> TPC and TOF Pion Sigma (combined) for momentum > 0.5
318319 if (true ) {
319320 if (mom < twotracksconfigs.ConfTOFPtMin ) {
320- if (std::abs (nsigmaTPCPi) < twotracksconfigs.ConfNsigmaTPC ) {
321+ if (( std::abs (nsigmaTPCPi) < twotracksconfigs.ConfNsigmaTPC ) && ( std::abs (nsigmaTPCElReject) > twotracksconfigs. ConfNsigmaTPCElReject ) ) {
321322 return true ;
322323 } else {
323324 return false ;
@@ -333,7 +334,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
333334 return false ;
334335 }
335336
336- bool IsParticleNSigma (int8_t particle_number, float mom, float nsigmaTPCPr, float nsigmaTOFPr, float nsigmaTPCPi, float nsigmaTOFPi, float nsigmaTPCK, float nsigmaTOFK)
337+ bool IsParticleNSigma (int8_t particle_number, float mom, float nsigmaTPCPr, float nsigmaTOFPr, float nsigmaTPCPi, float nsigmaTOFPi, float nsigmaTPCK, float nsigmaTOFK, float nsigmaTPCElReject )
337338 {
338339 if (particle_number == 1 ) {
339340 switch (trackonefilter.ConfPDGCodePartOne ) {
@@ -343,7 +344,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
343344 break ;
344345 case 211 : // Pion+
345346 case -211 : // Pion-
346- return IsPionNSigma (mom, nsigmaTPCPi, nsigmaTOFPi);
347+ return IsPionNSigma (mom, nsigmaTPCPi, nsigmaTOFPi, nsigmaTPCElReject );
347348 break ;
348349 case 321 : // Kaon+
349350 case -321 : // Kaon-
@@ -361,7 +362,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
361362 break ;
362363 case 211 : // Pion+
363364 case -211 : // Pion-
364- return IsPionNSigma (mom, nsigmaTPCPi, nsigmaTOFPi);
365+ return IsPionNSigma (mom, nsigmaTPCPi, nsigmaTOFPi, nsigmaTPCElReject );
365366 break ;
366367 case 321 : // Kaon+
367368 case -321 : // Kaon-
@@ -468,7 +469,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
468469 // / Histogramming same event
469470 if ((ContType == 1 || ContType == 2 ) && fillQA) {
470471 for (const auto & part : groupPartsOne) {
471- if (!IsParticleNSigma ((int8_t )1 , part.p (), trackCuts.getNsigmaTPC (part, o2::track::PID::Proton), trackCuts.getNsigmaTOF (part, o2::track::PID::Proton), trackCuts.getNsigmaTPC (part, o2::track::PID::Pion), trackCuts.getNsigmaTOF (part, o2::track::PID::Pion), trackCuts.getNsigmaTPC (part, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (part, o2::track::PID::Kaon))) {
472+ if (!IsParticleNSigma ((int8_t )1 , part.p (), trackCuts.getNsigmaTPC (part, o2::track::PID::Proton), trackCuts.getNsigmaTOF (part, o2::track::PID::Proton), trackCuts.getNsigmaTPC (part, o2::track::PID::Pion), trackCuts.getNsigmaTOF (part, o2::track::PID::Pion), trackCuts.getNsigmaTPC (part, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (part, o2::track::PID::Kaon), trackCuts. getNsigmaTPC (part, o2::track::PID::Electron) )) {
472473 continue ;
473474 }
474475 trackHistoPartOne.fillQA <isMC, true >(part);
@@ -478,7 +479,7 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
478479
479480 if ((ContType == 1 || ContType == 3 ) && fillQA) {
480481 for (const auto & part : groupPartsTwo) {
481- if (!IsParticleNSigma ((int8_t )2 , part.p (), trackCuts.getNsigmaTPC (part, o2::track::PID::Proton), trackCuts.getNsigmaTOF (part, o2::track::PID::Proton), trackCuts.getNsigmaTPC (part, o2::track::PID::Pion), trackCuts.getNsigmaTOF (part, o2::track::PID::Pion), trackCuts.getNsigmaTPC (part, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (part, o2::track::PID::Kaon))) {
482+ if (!IsParticleNSigma ((int8_t )2 , part.p (), trackCuts.getNsigmaTPC (part, o2::track::PID::Proton), trackCuts.getNsigmaTOF (part, o2::track::PID::Proton), trackCuts.getNsigmaTPC (part, o2::track::PID::Pion), trackCuts.getNsigmaTOF (part, o2::track::PID::Pion), trackCuts.getNsigmaTPC (part, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (part, o2::track::PID::Kaon), trackCuts. getNsigmaTPC (part, o2::track::PID::Electron) )) {
482483 continue ;
483484 }
484485 trackHistoPartTwo.fillQA <isMC, true >(part);
@@ -490,11 +491,11 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
490491 // / Now build the combinations for non-identical particle pairs
491492 for (const auto & [p1, p2] : combinations (CombinationsFullIndexPolicy (groupPartsOne, groupPartsTwo))) {
492493
493- if (!IsParticleNSigma ((int8_t )1 , p1.p (), trackCuts.getNsigmaTPC (p1, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p1, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p1, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p1, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p1, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p1, o2::track::PID::Kaon))) {
494+ if (!IsParticleNSigma ((int8_t )1 , p1.p (), trackCuts.getNsigmaTPC (p1, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p1, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p1, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p1, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p1, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p1, o2::track::PID::Kaon), trackCuts. getNsigmaTPC (p1, o2::track::PID::Electron) )) {
494495 continue ;
495496 }
496497
497- if (!IsParticleNSigma ((int8_t )2 , p2.p (), trackCuts.getNsigmaTPC (p2, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p2, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p2, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p2, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p2, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p2, o2::track::PID::Kaon))) {
498+ if (!IsParticleNSigma ((int8_t )2 , p2.p (), trackCuts.getNsigmaTPC (p2, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p2, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p2, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p2, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p2, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p2, o2::track::PID::Kaon), trackCuts. getNsigmaTPC (p2, o2::track::PID::Electron) )) {
498499 continue ;
499500 }
500501
@@ -520,11 +521,11 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
520521 } else {
521522 for (const auto & [p1, p2] : combinations (CombinationsStrictlyUpperIndexPolicy (groupPartsOne, groupPartsOne))) {
522523
523- if (!IsParticleNSigma ((int8_t )2 , p1.p (), trackCuts.getNsigmaTPC (p1, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p1, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p1, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p1, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p1, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p1, o2::track::PID::Kaon))) {
524+ if (!IsParticleNSigma ((int8_t )2 , p1.p (), trackCuts.getNsigmaTPC (p1, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p1, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p1, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p1, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p1, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p1, o2::track::PID::Kaon), trackCuts. getNsigmaTPC (p1, o2::track::PID::Electron) )) {
524525 continue ;
525526 }
526527
527- if (!IsParticleNSigma ((int8_t )2 , p2.p (), trackCuts.getNsigmaTPC (p2, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p2, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p2, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p2, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p2, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p2, o2::track::PID::Kaon))) {
528+ if (!IsParticleNSigma ((int8_t )2 , p2.p (), trackCuts.getNsigmaTPC (p2, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p2, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p2, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p2, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p2, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p2, o2::track::PID::Kaon), trackCuts. getNsigmaTPC (p2, o2::track::PID::Electron) )) {
528529 continue ;
529530 }
530531
@@ -700,11 +701,11 @@ struct femtoUniversePairTaskTrackTrackSpherHarMultKtExtended {
700701
701702 for (const auto & [p1, p2] : combinations (CombinationsFullIndexPolicy (groupPartsOne, groupPartsTwo))) {
702703
703- if (!IsParticleNSigma ((int8_t )2 , p1.p (), trackCuts.getNsigmaTPC (p1, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p1, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p1, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p1, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p1, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p1, o2::track::PID::Kaon))) {
704+ if (!IsParticleNSigma ((int8_t )2 , p1.p (), trackCuts.getNsigmaTPC (p1, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p1, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p1, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p1, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p1, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p1, o2::track::PID::Kaon), trackCuts. getNsigmaTPC (p1, o2::track::PID::Electron) )) {
704705 continue ;
705706 }
706707
707- if (!IsParticleNSigma ((int8_t )2 , p2.p (), trackCuts.getNsigmaTPC (p2, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p2, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p2, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p2, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p2, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p2, o2::track::PID::Kaon))) {
708+ if (!IsParticleNSigma ((int8_t )2 , p2.p (), trackCuts.getNsigmaTPC (p2, o2::track::PID::Proton), trackCuts.getNsigmaTOF (p2, o2::track::PID::Proton), trackCuts.getNsigmaTPC (p2, o2::track::PID::Pion), trackCuts.getNsigmaTOF (p2, o2::track::PID::Pion), trackCuts.getNsigmaTPC (p2, o2::track::PID::Kaon), trackCuts.getNsigmaTOF (p2, o2::track::PID::Kaon), trackCuts. getNsigmaTPC (p2, o2::track::PID::Electron) )) {
708709 continue ;
709710 }
710711
0 commit comments