Skip to content

Commit cf08cd3

Browse files
authored
Refactor bit manipulation functions and simplify conditions
1 parent afe313e commit cf08cd3

1 file changed

Lines changed: 34 additions & 40 deletions

File tree

PWGCF/EbyEFluctuations/Tasks/nchCumulantsId.cxx

Lines changed: 34 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,15 @@ constexpr int McBitPR = 2;
6868
constexpr int McBitEL = 3;
6969
constexpr int McBitDE = 4;
7070

71-
#define BITSET(mask, ithBit) ((mask) |= (1 << (ithBit))) // avoid name bitset as std::bitset is already there
72-
#define BITCHECK(mask, ithBit) ((mask) & (1 << (ithBit))) // bit check will return int value, not bool, use BITCHECK != 0 in Analysi
71+
constexpr void BITSET(int& mask, int ithBit)
72+
{
73+
mask |= (1 << ithBit);
74+
}
75+
76+
constexpr bool BITCHECK(int mask, int ithBit)
77+
{
78+
return (mask & (1 << ithBit)) != 0;
79+
}
7380

7481
enum PidEnum {
7582
kCh = 0,
@@ -1014,54 +1021,44 @@ struct NchCumulantsId {
10141021
{
10151022
switch (pidMode) {
10161023
case kPi:
1017-
if (std::fabs(track.tpcNSigmaPi()) < nSigmaTPC &&
1018-
std::fabs(track.tofNSigmaPi()) < nSigmaTOF) {
1019-
return true;
1020-
}
1021-
break;
1024+
return std::fabs(track.tpcNSigmaPi()) < nSigmaTPC &&
1025+
std::fabs(track.tofNSigmaPi()) < nSigmaTOF;
1026+
10221027
case kKa:
1023-
if (std::fabs(track.tpcNSigmaKa()) < nSigmaTPC &&
1024-
std::fabs(track.tofNSigmaKa()) < nSigmaTOF) {
1025-
return true;
1026-
}
1027-
break;
1028+
return std::fabs(track.tpcNSigmaKa()) < nSigmaTPC &&
1029+
std::fabs(track.tofNSigmaKa()) < nSigmaTOF;
1030+
10281031
case kPr:
1029-
if (std::fabs(track.tpcNSigmaPr()) < nSigmaTPC &&
1030-
std::fabs(track.tofNSigmaPr()) < nSigmaTOF) {
1031-
return true;
1032-
}
1033-
break;
1032+
return std::fabs(track.tpcNSigmaPr()) < nSigmaTPC &&
1033+
std::fabs(track.tofNSigmaPr()) < nSigmaTOF;
1034+
10341035
default:
10351036
return false;
1036-
break;
10371037
}
1038-
return false;
10391038
}
10401039

10411040
template <int pidMode, typename T>
10421041
bool selIdEllipsoidalCut(const T& track, const float& nSigmaTPC, const float& nSigmaTOF)
10431042
{
10441043
switch (pidMode) {
10451044
case kPi:
1046-
if (std::pow(track.tpcNSigmaPi() / nSigmaTPC, 2) + std::pow(track.tofNSigmaPi() / nSigmaTOF, 2) < 1.0) {
1047-
return true;
1048-
}
1049-
break;
1045+
return std::pow(track.tpcNSigmaPi() / nSigmaTPC, 2) +
1046+
std::pow(track.tofNSigmaPi() / nSigmaTOF, 2) <
1047+
1.0;
1048+
10501049
case kKa:
1051-
if (std::pow(track.tpcNSigmaKa() / nSigmaTPC, 2) + std::pow(track.tofNSigmaKa() / nSigmaTOF, 2) < 1.0) {
1052-
return true;
1053-
}
1054-
break;
1050+
return std::pow(track.tpcNSigmaKa() / nSigmaTPC, 2) +
1051+
std::pow(track.tofNSigmaKa() / nSigmaTOF, 2) <
1052+
1.0;
1053+
10551054
case kPr:
1056-
if (std::pow(track.tpcNSigmaPr() / nSigmaTPC, 2) + std::pow(track.tofNSigmaPr() / nSigmaTOF, 2) < 1.0) {
1057-
return true;
1058-
}
1059-
break;
1055+
return std::pow(track.tpcNSigmaPr() / nSigmaTPC, 2) +
1056+
std::pow(track.tofNSigmaPr() / nSigmaTOF, 2) <
1057+
1.0;
1058+
10601059
default:
10611060
return false;
1062-
break;
10631061
}
1064-
return false;
10651062
}
10661063

10671064
template <int pidMode, typename T>
@@ -1202,13 +1199,10 @@ struct NchCumulantsId {
12021199
template <typename T>
12031200
bool selTrackForId(const T& track)
12041201
{
1205-
if (cfgIdElRejLowNSigma < track.tpcNSigmaEl() && track.tpcNSigmaEl() < cfgIdElRejHighNSigma &&
1206-
std::fabs(track.tpcNSigmaPi()) > cfgIdPiRejNSigma &&
1207-
std::fabs(track.tpcNSigmaKa()) > cfgIdKaRejNSigma &&
1208-
std::fabs(track.tpcNSigmaPr()) > cfgIdPrRejNSigma) {
1209-
return false;
1210-
}
1211-
return true;
1202+
return !(cfgIdElRejLowNSigma < track.tpcNSigmaEl() && track.tpcNSigmaEl() < cfgIdElRejHighNSigma &&
1203+
std::fabs(track.tpcNSigmaPi()) > cfgIdPiRejNSigma &&
1204+
std::fabs(track.tpcNSigmaKa()) > cfgIdKaRejNSigma &&
1205+
std::fabs(track.tpcNSigmaPr()) > cfgIdPrRejNSigma);
12121206
}
12131207

12141208
// Pion

0 commit comments

Comments
 (0)