Skip to content

Commit 51e07a2

Browse files
victor-gonzalezVictor
andauthored
[PWGCF] DptDpt -- Tracking the ITS malfunctioning (#9283)
Co-authored-by: Victor <victor@cern.ch>
1 parent 660616f commit 51e07a2

File tree

1 file changed

+25
-19
lines changed

1 file changed

+25
-19
lines changed

PWGCF/TableProducer/dptdptfilter.h

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,13 @@ enum TpcExclusionMethod {
162162
/// \enum ItsDeadMapsCheckType
163163
/// \brief Check for the right level of ITS dead chips
164164
enum ItsDeadMapsCheckType {
165-
kNOCHECK = 0, ///< no check
166-
kGOODITSLAYER3, ///< check the 3 ITS layer
167-
kGOODITSLAYER0123, ///< check the 0,1,2,and 3 ITS layers
168-
kGOODITSLAYERALL ///< check the all ITS layers
165+
kNOCHECK = 0, ///< no check
166+
kGOODITSLAYER3, ///< check good the 3 ITS layer
167+
kGOODITSLAYER0123, ///< check good the 0,1,2,and 3 ITS layers
168+
kGOODITSLAYERALL, ///< check good all ITS layers
169+
kNOGOODITSLAYER3, ///< check no good the 3 ITS layer
170+
kNOGOODITSLAYER0123, ///< check no good the 0,1,2,and 3 ITS layers
171+
kNOGOODITSLAYERALL ///< check no good all ITS layers
169172
};
170173

171174
//============================================================================================
@@ -548,6 +551,12 @@ inline ItsDeadMapsCheckType getItsDeadMapCheck(const std::string& check)
548551
return kGOODITSLAYER0123;
549552
} else if (check == "goodItsAll") {
550553
return kGOODITSLAYERALL;
554+
} else if (check == "noGoodIts3") {
555+
return kNOGOODITSLAYER3;
556+
} else if (check == "noGoodIts0123") {
557+
return kNOGOODITSLAYER0123;
558+
} else if (check == "noGoodItsAll") {
559+
return kNOGOODITSLAYERALL;
551560
} else {
552561
LOGF(fatal, "ITS dead map check %s not implemented", check.c_str());
553562
return kNOCHECK;
@@ -1007,27 +1016,24 @@ inline bool occupancySelection<aod::McCollision>(aod::McCollision const&)
10071016
template <typename CollisionObject>
10081017
inline bool selectOnItsDeadMaps(CollisionObject coll)
10091018
{
1019+
auto checkFlag = [](auto flag, bool invert = false) {
1020+
return flag && !invert;
1021+
};
10101022
switch (fItsDeadMapCheck) {
10111023
case kNOCHECK:
10121024
return true;
10131025
case kGOODITSLAYER3:
1014-
if (coll.selection_bit(aod::evsel::kIsGoodITSLayer3)) {
1015-
return true;
1016-
} else {
1017-
return false;
1018-
}
1026+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayer3));
10191027
case kGOODITSLAYER0123:
1020-
if (coll.selection_bit(aod::evsel::kIsGoodITSLayer0123)) {
1021-
return true;
1022-
} else {
1023-
return false;
1024-
}
1028+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayer0123));
10251029
case kGOODITSLAYERALL:
1026-
if (coll.selection_bit(aod::evsel::kIsGoodITSLayersAll)) {
1027-
return true;
1028-
} else {
1029-
return false;
1030-
}
1030+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayersAll));
1031+
case kNOGOODITSLAYER3:
1032+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayer3), true);
1033+
case kNOGOODITSLAYER0123:
1034+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayer0123), true);
1035+
case kNOGOODITSLAYERALL:
1036+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayersAll), true);
10311037
default:
10321038
return false;
10331039
}

0 commit comments

Comments
 (0)