85 auto contributorsGID =
data.getSingleDetectorRefs(trackIndex);
86 auto src = trackIndex.getSource();
89 const auto& itsTrk =
data.getITSTrack(contributorsGID[
GID::ITS]);
90 int ITSnClusters = itsTrk.getNClusters();
91 float ITSchi2 = itsTrk.getChi2();
92 float itsChi2NCl = ITSnClusters != 0 ? ITSchi2 / (float)ITSnClusters : 0;
93 uint8_t itsClusterMap = itsTrk.getPattern();
94 if (itsTrk.getPt() <= mPtITSCut ||
95 std::abs(itsTrk.getEta()) > mEtaITSCut ||
96 ITSnClusters <= mMinNClustersITS ||
97 itsChi2NCl >= mMaxChi2PerClusterITS ||
104 const auto& tpcTrk =
data.getTPCTrack(contributorsGID[
GID::TPC]);
105 math_utils::Point3D<float>
v{};
106 std::array<float, 2> dca;
107 if (tpcTrk.getPt() < mPtTPCCut || std::abs(tpcTrk.getEta()) > mEtaTPCCut || tpcTrk.getNClusters() < mNTPCClustersCut) {
111 if (!trTmp.propagateParamToDCA(
v, mBz, &dca, mDCATPCCut) || std::abs(dca[0]) > mDCATPCCutY || std::hypot(dca[0], dca[1]) > mDCATPCCut) {
121 trk =
data.getTrackParam(trackIndex);
122 float trkEta = trk.getEta();
123 if (trk.getPt() < mMinPt || trk.getPt() > mMaxPt || trkEta < mMinEta || trkEta > mMaxEta) {