91 const auto& trkSeed = isTPCTRD ? input.getTPCTracks()[trkIn.getRefGlobalTrackId()].getParamOut() : input.getTPCITSTracks()[trkIn.getRefGlobalTrackId()].getParamOut();
94 const auto isNegative = std::signbit(trkSeed.getSign());
95 const auto& trackletsRaw = input.getTRDTracklets();
96 float lei0{1.f}, lei1{1.f}, lei2{1.f}, lpi0{1.f}, lpi1{1.f}, lpi2{1.f};
98 int trkltId = trkIn.getTrackletIndex(iLayer);
102 const auto xCalib = input.getTRDCalibratedTracklets()[trkIn.getTrackletIndex(iLayer)].getX();
104 const auto tgl = trk.getTgl();
106 const auto& trklt = trackletsRaw[trkltId];
107 const auto [q0, q1, q2] =
getCharges(trklt, iLayer, trkIn, input, snp, tgl);
108 if constexpr (nDim == 1) {
109 auto lut = mLUTs.get(trk.getP(), isNegative);
111 ll1 = lut.Eval(q0 + q1 + q2);
114 }
else if (nDim == 2) {
115 auto lut1 = mLUTs.get(trk.getP(), isNegative, 0);
116 auto lut2 = mLUTs.get(trk.getP(), isNegative, 1);
119 ll1 = lut1.Eval(q0 + q2);
126 auto lut1 = mLUTs.get(trk.getP(), isNegative, 0);
127 auto lut2 = mLUTs.get(trk.getP(), isNegative, 1);
128 auto lut3 = mLUTs.get(trk.getP(), isNegative, 2);
144 return (lei0 * lei1 * lei2) / (lei0 * lei1 * lei2 + lpi0 * lpi1 * lpi2);