Skip to content

Commit fffc2eb

Browse files
committed
Change usage of pt thresholds for PID in jetsHadronsPid.cxx
1 parent a8eec1b commit fffc2eb

1 file changed

Lines changed: 47 additions & 21 deletions

File tree

PWGJE/Tasks/jetHadronsPid.cxx

Lines changed: 47 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)