Skip to content

Commit 47b6a4a

Browse files
authored
add bitwise operations support to expressions (#5877)
1 parent 28cd0b9 commit 47b6a4a

6 files changed

Lines changed: 163 additions & 321 deletions

File tree

Analysis/Tutorials/src/filters.cxx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include "Framework/runDataProcessing.h"
1111
#include "Framework/AnalysisTask.h"
1212
#include "Framework/AnalysisDataModel.h"
13+
#include <arrow/util/config.h>
1314

1415
namespace o2::aod
1516
{
@@ -67,6 +68,10 @@ struct BTask {
6768

6869
Configurable<float> vtxZ{"vtxZ", 10.f, ""};
6970
Filter posZfilter = nabs(aod::collision::posZ) < vtxZ;
71+
#if ARROW_VERSION_MAJOR < 3
72+
#else
73+
Filter bitwiseFilter = (o2::aod::track::flags & static_cast<uint32_t>(o2::aod::track::TPCrefit)) != 0u;
74+
#endif
7075

7176
void process(soa::Filtered<aod::Collisions>::iterator const& collision, soa::Filtered<soa::Join<aod::Tracks, aod::TPhi>> const& tracks)
7277
{

Framework/Core/include/Framework/BasicOps.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ enum BasicOp : unsigned int {
1919
Subtraction,
2020
Division,
2121
Multiplication,
22+
BitwiseAnd,
23+
BitwiseOr,
24+
BitwiseXor,
2225
LessThan,
2326
LessThanOrEqual,
2427
GreaterThan,
@@ -36,7 +39,8 @@ enum BasicOp : unsigned int {
3639
Asin,
3740
Acos,
3841
Atan,
39-
Abs
42+
Abs,
43+
BitwiseNot
4044
};
4145
} // namespace o2::framework
4246

0 commit comments

Comments
 (0)