Skip to content

Commit 539367e

Browse files
committed
Feat: add rejection mask
1 parent 902fff5 commit 539367e

File tree

2 files changed

+18
-11
lines changed

2 files changed

+18
-11
lines changed

PWGCF/Femto/Core/partitions.h

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,22 @@
2424
(o2::aod::femtocollisions::magField >= static_cast<int8_t>(selection.magFieldMin) && o2::aod::femtocollisions::magField <= static_cast<int8_t>(selection.magFieldMax)) && \
2525
ncheckbit(o2::aod::femtocollisions::mask, selection.collisionMask)
2626

27+
// macro for track momentum, i.e. ||q|*pT/q| * cosh(eta)
28+
// there is no ncosh function, so we have to make our own, i.e. cosh(x) = (exp(x)+exp(-x))/2
29+
#define TRACK_MOMENTUM(chargeAbs, signedPt, eta) nabs((chargeAbs) * (signedPt)) * (nexp(eta) + nexp(-1.f * (eta))) / 2.f
30+
2731
// standard track partition
28-
#define MAKE_TRACK_PARTITION(selection) \
29-
ifnode(selection.chargeSign.node() != 0, ifnode(selection.chargeSign.node() > 0, o2::aod::femtobase::stored::signedPt > 0.f, o2::aod::femtobase::stored::signedPt < 0.f), true) && \
30-
(nabs(selection.chargeAbs.node() * o2::aod::femtobase::stored::signedPt) > selection.ptMin) && \
31-
(nabs(selection.chargeAbs.node() * o2::aod::femtobase::stored::signedPt) < selection.ptMax) && \
32-
(o2::aod::femtobase::stored::eta > selection.etaMin) && \
33-
(o2::aod::femtobase::stored::eta < selection.etaMax) && \
34-
(o2::aod::femtobase::stored::phi > selection.phiMin) && \
35-
(o2::aod::femtobase::stored::phi < selection.phiMax) && \
36-
ifnode(nabs(selection.chargeAbs.node() * o2::aod::femtobase::stored::signedPt) * (nexp(o2::aod::femtobase::stored::eta) + nexp(-1.f * o2::aod::femtobase::stored::eta)) / (2.f) <= selection.pidThres, \
37-
ncheckbit(o2::aod::femtotracks::mask, selection.maskLowMomentum), \
38-
ncheckbit(o2::aod::femtotracks::mask, selection.maskHighMomentum))
32+
#define MAKE_TRACK_PARTITION(selection) \
33+
ifnode(selection.chargeSign.node() != 0, ifnode(selection.chargeSign.node() > 0, o2::aod::femtobase::stored::signedPt > 0.f, o2::aod::femtobase::stored::signedPt < 0.f), true) && \
34+
(nabs(selection.chargeAbs.node() * o2::aod::femtobase::stored::signedPt) > selection.ptMin) && \
35+
(nabs(selection.chargeAbs.node() * o2::aod::femtobase::stored::signedPt) < selection.ptMax) && \
36+
(o2::aod::femtobase::stored::eta > selection.etaMin) && \
37+
(o2::aod::femtobase::stored::eta < selection.etaMax) && \
38+
(o2::aod::femtobase::stored::phi > selection.phiMin) && \
39+
(o2::aod::femtobase::stored::phi < selection.phiMax) && \
40+
ifnode(TRACK_MOMENTUM(selection.chargeAbs.node(), o2::aod::femtobase::stored::pt, o2::aod::femtobase::stored::eta) <= selection.pidThres, \
41+
ncheckbit(o2::aod::femtotracks::mask, selection.maskLowMomentum) && (o2::aod::femtotracks::mask & selection.rejectionMaskLowMomentum.node()) == 0u, \
42+
ncheckbit(o2::aod::femtotracks::mask, selection.maskHighMomentum) && (o2::aod::femtotracks::mask & selection.rejectionMaskHighMomentum.node()) == 0u)
3943

4044
// partition for phis and rhos, i.e. resonance that are their own antiparticle
4145
#define MAKE_RESONANCE_0_PARTITON(selection) \

PWGCF/Femto/Core/trackBuilder.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ struct ConfTrackSelection : public o2::framework::ConfigurableGroup {
146146
// track selection masks
147147
o2::framework::Configurable<o2::aod::femtodatatypes::TrackMaskType> maskLowMomentum{"maskLowMomentum", 0x2u, "Bitmask for selections below momentum threshold"};
148148
o2::framework::Configurable<o2::aod::femtodatatypes::TrackMaskType> maskHighMomentum{"maskHighMomentum", 0x1u, "Bitmask for selections above momentum threshold"};
149+
// track rejection masks
150+
o2::framework::Configurable<o2::aod::femtodatatypes::TrackMaskType> rejectionMaskLowMomentum{"rejectionMaskLowMomentum", 0x0u, "Bitmask for rejections below momentum threshold"};
151+
o2::framework::Configurable<o2::aod::femtodatatypes::TrackMaskType> rejectionMaskHighMomentum{"rejectionMaskHighMomentum", 0x0u, "Bitmask for rejections above momentum threshold"};
149152
// momentum threshold for PID usage
150153
o2::framework::Configurable<float> pidThres{"pidThres", 1.2f, "Momentum threshold for using TPCTOF/TOF pid for tracks with large momentum (GeV/c)"};
151154
};

0 commit comments

Comments
 (0)