|
24 | 24 | (o2::aod::femtocollisions::magField >= static_cast<int8_t>(selection.magFieldMin) && o2::aod::femtocollisions::magField <= static_cast<int8_t>(selection.magFieldMax)) && \ |
25 | 25 | ncheckbit(o2::aod::femtocollisions::mask, selection.collisionMask) |
26 | 26 |
|
| 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 | + |
27 | 31 | // 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 * o2::aod::femtobase::stored::signedPt) > selection.ptMin) && \ |
| 35 | + (nabs(selection.chargeAbs * 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, o2::aod::femtobase::stored::signedPt, o2::aod::femtobase::stored::eta) <= selection.pidThres, \ |
| 41 | + ncheckbit(o2::aod::femtotracks::mask, selection.maskLowMomentum) && \ |
| 42 | + (o2::aod::femtotracks::mask & selection.rejectionMaskLowMomentum) == static_cast<o2::aod::femtodatatypes::TrackMaskType>(0), \ |
| 43 | + ncheckbit(o2::aod::femtotracks::mask, selection.maskHighMomentum) && \ |
| 44 | + (o2::aod::femtotracks::mask & selection.rejectionMaskHighMomentum) == static_cast<o2::aod::femtodatatypes::TrackMaskType>(0)) |
39 | 45 |
|
40 | 46 | // partition for phis and rhos, i.e. resonance that are their own antiparticle |
41 | 47 | #define MAKE_RESONANCE_0_PARTITON(selection) \ |
|
0 commit comments