@@ -646,52 +646,78 @@ struct JetHadronsPid {
646646 double const buffer = 999.0 ;
647647 double pt = track.pt ();
648648
649- double dPi = 0 ;
650- double dKa = 0 ;
651- double dPr = 0 ;
649+ double distForPionsPi = 0 ;
650+ double distForPionsKa = 0 ;
651+ double distForPionsPr = 0 ;
652+
653+ double distForKaonsPi = 0 ;
654+ double distForKaonsKa = 0 ;
655+ double distForKaonsPr = 0 ;
656+
657+ double distForProtonsPi = 0 ;
658+ double distForProtonsKa = 0 ;
659+ double distForProtonsPr = 0 ;
652660
653661 if (pt < cfg.ptThresholdPion ) {
654- dPi = std::abs (track.tpcNSigmaPi ());
662+ distForPionsPi = std::abs (track.tpcNSigmaPi ());
663+ distForPionsKa = std::abs (track.tpcNSigmaKa ());
664+ distForPionsPr = std::abs (track.tpcNSigmaPr ());
655665 } else {
656666 if (track.hasTOF ()) {
657- dPi = std::hypot (track.tofNSigmaPi (), track.tpcNSigmaPi ());
667+ distForPionsPi = std::hypot (track.tofNSigmaPi (), track.tpcNSigmaPi ());
668+ distForPionsKa = std::hypot (track.tofNSigmaKa (), track.tpcNSigmaKa ());
669+ distForPionsPr = std::hypot (track.tofNSigmaPr (), track.tpcNSigmaPr ());
658670 } else {
659- dPi = buffer;
671+ distForPionsPi = buffer;
672+ distForPionsKa = buffer;
673+ distForPionsPr = buffer;
660674 }
661675 }
662676
663677 if (pt < cfg.ptThresholdKaon ) {
664- dKa = std::abs (track.tpcNSigmaKa ());
678+ distForKaonsPi = std::abs (track.tpcNSigmaPi ());
679+ distForKaonsKa = std::abs (track.tpcNSigmaKa ());
680+ distForKaonsPr = std::abs (track.tpcNSigmaPr ());
665681 } else {
666682 if (track.hasTOF ()) {
667- dKa = std::hypot (track.tofNSigmaKa (), track.tpcNSigmaKa ());
683+ distForKaonsPi = std::hypot (track.tofNSigmaPi (), track.tpcNSigmaPi ());
684+ distForKaonsKa = std::hypot (track.tofNSigmaKa (), track.tpcNSigmaKa ());
685+ distForKaonsPr = std::hypot (track.tofNSigmaPr (), track.tpcNSigmaPr ());
668686 } else {
669- dKa = buffer;
687+ distForKaonsPi = buffer;
688+ distForKaonsKa = buffer;
689+ distForKaonsPr = buffer;
670690 }
671691 }
672692
673693 if (pt < cfg.ptThresholdProton ) {
674- dPr = std::abs (track.tpcNSigmaPr ());
694+ distForProtonsPi = std::abs (track.tpcNSigmaPi ());
695+ distForProtonsKa = std::abs (track.tpcNSigmaKa ());
696+ distForProtonsPr = std::abs (track.tpcNSigmaPr ());
675697 } else {
676698 if (track.hasTOF ()) {
677- dPr = std::hypot (track.tofNSigmaPr (), track.tpcNSigmaPr ());
699+ distForProtonsPi = std::hypot (track.tofNSigmaPi (), track.tpcNSigmaPi ());
700+ distForProtonsKa = std::hypot (track.tofNSigmaKa (), track.tpcNSigmaKa ());
701+ distForProtonsPr = std::hypot (track.tofNSigmaPr (), track.tpcNSigmaPr ());
678702 } else {
679- dPr = buffer;
703+ distForProtonsPi = buffer;
704+ distForProtonsKa = buffer;
705+ distForProtonsPr = buffer;
680706 }
681707 }
682708
683- bool isPiMatch = (dPi <= cfg.nSigmaCut );
684- bool isKaMatch = (dKa <= cfg.nSigmaCut );
685- bool isPrMatch = (dPr <= cfg.nSigmaCut );
709+ bool isPiMatch = (distForPionsPi <= cfg.nSigmaCut );
710+ bool isKaMatch = (distForKaonsKa <= cfg.nSigmaCut );
711+ bool isPrMatch = (distForProtonsPr <= cfg.nSigmaCut );
686712
687713 PidResult res{.isPion = false , .isKaon = false , .isProton = false };
688714
689715 if (cfg.pidMethod == ClosestMatch) {
690- if (isPiMatch && dPi < dKa && dPi < dPr ) {
716+ if (isPiMatch && distForPionsPi < distForPionsKa && distForPionsPi < distForPionsPr ) {
691717 res.isPion = true ;
692- } else if (isKaMatch && dKa < dPi && dKa < dPr ) {
718+ } else if (isKaMatch && distForKaonsKa < distForKaonsPi && distForKaonsKa < distForKaonsPr ) {
693719 res.isKaon = true ;
694- } else if (isPrMatch && dPr < dPi && dPr < dKa ) {
720+ } else if (isPrMatch && distForProtonsPr < distForProtonsPi && distForProtonsPr < distForProtonsKa ) {
695721 res.isProton = true ;
696722 }
697723 } else if (cfg.pidMethod == ExclusiveMatch) {
@@ -703,11 +729,11 @@ struct JetHadronsPid {
703729 res.isProton = true ;
704730 }
705731 } else if (cfg.pidMethod == RejectionBased) {
706- if (isPiMatch && dKa > cfg.rejectionSigma && dPr > cfg.rejectionSigma ) {
732+ if (isPiMatch && distForPionsKa > cfg.rejectionSigma && distForPionsPr > cfg.rejectionSigma ) {
707733 res.isPion = true ;
708- } else if (isKaMatch && dPi > cfg.rejectionSigma && dPr > cfg.rejectionSigma ) {
734+ } else if (isKaMatch && distForKaonsPi > cfg.rejectionSigma && distForKaonsPr > cfg.rejectionSigma ) {
709735 res.isKaon = true ;
710- } else if (isPrMatch && dPi > cfg.rejectionSigma && dKa > cfg.rejectionSigma ) {
736+ } else if (isPrMatch && distForProtonsPi > cfg.rejectionSigma && distForProtonsKa > cfg.rejectionSigma ) {
711737 res.isProton = true ;
712738 }
713739 }
0 commit comments