Skip to content

Commit fa6e238

Browse files
committed
GPU: Remove obsolete mergerCovSource and dropSecondaryLegsInOutput, rename TZOffset to TOffset and similar
1 parent 6ee6319 commit fa6e238

File tree

14 files changed

+80
-92
lines changed

14 files changed

+80
-92
lines changed

GPU/GPUTracking/Definitions/GPUSettingsList.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,12 +148,10 @@ AddOptionRTC(compressionSortOrder, uint8_t, o2::gpu::GPUSettings::SortTime, "",
148148
AddOptionRTC(sigBitsCharge, uint8_t, 4, "", 0, "Number of significant bits for TPC cluster charge in compression mode 1")
149149
AddOptionRTC(sigBitsWidth, uint8_t, 3, "", 0, "Number of significant bits for TPC cluster width in compression mode 1")
150150
AddOptionRTC(dropLoopers, uint8_t, 0, "", 0, "Drop looping tracks starting from second loop")
151-
AddOptionRTC(mergerCovSource, uint8_t, 2, "", 0, "Method to obtain covariance in track merger: 0 = simple filterErrors method, 1 = use cov from track following, 2 = refit (default)")
152151
AddOptionRTC(mergerInterpolateErrors, uint8_t, 1, "", 0, "Use interpolation instead of extrapolation for chi2 based cluster rejection")
153152
AddOptionRTC(mergerInterpolateRejectAlsoOnCurrentPosition, uint8_t, 1, "", 0, "When using mergerInterpolateErrors, reject based on chi2 twice computed with interpolated and current track position")
154153
AddOptionRTC(mergeCE, uint8_t, 1, "", 0, "Merge tracks accross the central electrode")
155154
AddOptionRTC(retryRefit, int8_t, 1, "", 0, "Retry refit with seeding errors and without cluster rejection when fit fails (=2 means retry in same kernel, =1 for separate kernel")
156-
AddOptionRTC(dropSecondaryLegsInOutput, int8_t, 1, "", 0, "Do not store secondary legs of looping track in TrackTPC")
157155
AddOptionRTC(enablePID, int8_t, 1, "", 0, "Enable PID response")
158156
AddOptionRTC(PID_useNsigma, int8_t, 1, "", 0, "Use nSigma instead of absolute distance in PID response")
159157
AddOptionRTC(adddEdxSubThresholdClusters, int8_t, 1, "", 0, "Add sub threshold clusters in TPC dEdx computation")

GPU/GPUTracking/Global/GPUChainTrackingTRD.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ int32_t GPUChainTracking::RunTRDTrackingInternal()
6969
GPUTRDTrackerGPU::HelperTrackAttributes trkAttribs, *trkAttribsPtr{nullptr};
7070
if (!isTriggeredEvent) {
7171
const float tpcTBinMUS = 0.199606f;
72-
trkAttribs.mTime = trk.GetParam().GetTZOffset() * tpcTBinMUS;
72+
trkAttribs.mTime = trk.GetParam().GetTOffset() * tpcTBinMUS;
7373
trkAttribs.mTimeAddMax = 50.f; // half of a TPC drift time in us
7474
trkAttribs.mTimeSubMax = 50.f; // half of a TPC drift time in us
7575
if (!trk.CCE()) {

GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx

Lines changed: 29 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -514,8 +514,8 @@ GPUd() int32_t GPUTPCGMMerger::RefitSectorTrack(GPUTPCGMSectorTrack& sectorTrack
514514
trk.SinPhi() = inTrack->Param().GetSinPhi();
515515
trk.DzDs() = inTrack->Param().GetDzDs();
516516
trk.QPt() = inTrack->Param().GetQPt();
517-
trk.TZOffset() = GetConstantMem()->calibObjects.fastTransformHelper->getCorrMap()->convZOffsetToVertexTime(sector, inTrack->Param().GetZOffset(), Param().continuousMaxTimeBin);
518-
const auto tmp = sectorTrack.ClusterZTN() > sectorTrack.ClusterZT0() ? std::array<float, 2>{sectorTrack.ClusterZTN(), sectorTrack.ClusterZT0()} : std::array<float, 2>{sectorTrack.ClusterZT0(), sectorTrack.ClusterZTN()};
517+
trk.TOffset() = GetConstantMem()->calibObjects.fastTransformHelper->getCorrMap()->convZOffsetToVertexTime(sector, inTrack->Param().GetZOffset(), Param().continuousMaxTimeBin);
518+
const auto tmp = sectorTrack.ClusterTN() > sectorTrack.ClusterT0() ? std::array<float, 2>{sectorTrack.ClusterTN(), sectorTrack.ClusterT0()} : std::array<float, 2>{sectorTrack.ClusterT0(), sectorTrack.ClusterTN()};
519519
trk.ShiftZ(this, sector, tmp[0], tmp[1], inTrack->Param().GetX()); // We do not store the inner / outer cluster X, so we just use the track X instead
520520
sectorTrack.SetX2(0.f);
521521
for (int32_t way = 0; way < 2; way++) {
@@ -537,7 +537,7 @@ GPUd() int32_t GPUTPCGMMerger::RefitSectorTrack(GPUTPCGMSectorTrack& sectorTrack
537537
row = ic.RowIndex();
538538
const ClusterNative& cl = GetConstantMem()->ioPtrs.clustersNative->clustersLinear[GetConstantMem()->ioPtrs.clustersNative->clusterOffset[sector][0] + clusterIndex];
539539
flags = cl.getFlags();
540-
GetConstantMem()->calibObjects.fastTransformHelper->Transform(sector, row, cl.getPad(), cl.getTime(), x, y, z, trk.TZOffset());
540+
GetConstantMem()->calibObjects.fastTransformHelper->Transform(sector, row, cl.getPad(), cl.getTime(), x, y, z, trk.TOffset());
541541
if (prop.PropagateToXAlpha(x, alpha, way == 0)) {
542542
return way == 0;
543543
}
@@ -556,15 +556,15 @@ GPUd() int32_t GPUTPCGMMerger::RefitSectorTrack(GPUTPCGMSectorTrack& sectorTrack
556556
return 0;
557557
}
558558

559-
GPUd() void GPUTPCGMMerger::SetTrackClusterZT(GPUTPCGMSectorTrack& track, int32_t iSector, const GPUTPCTrack* sectorTr)
559+
GPUd() void GPUTPCGMMerger::SetTrackClusterT(GPUTPCGMSectorTrack& track, int32_t iSector, const GPUTPCTrack* sectorTr)
560560
{
561561
const GPUTPCTracker& trk = GetConstantMem()->tpcTrackers[iSector];
562562
const GPUTPCHitId& ic1 = trk.TrackHits()[sectorTr->FirstHitID()];
563563
const GPUTPCHitId& ic2 = trk.TrackHits()[sectorTr->FirstHitID() + sectorTr->NHits() - 1];
564564
int32_t clusterIndex1 = trk.Data().ClusterDataIndex(trk.Data().Row(ic1.RowIndex()), ic1.HitIndex());
565565
int32_t clusterIndex2 = trk.Data().ClusterDataIndex(trk.Data().Row(ic2.RowIndex()), ic2.HitIndex());
566566
const ClusterNative* cl = GetConstantMem()->ioPtrs.clustersNative->clustersLinear + GetConstantMem()->ioPtrs.clustersNative->clusterOffset[iSector][0];
567-
track.SetClusterZT(cl[clusterIndex1].getTime(), cl[clusterIndex2].getTime());
567+
track.SetClusterT(cl[clusterIndex1].getTime(), cl[clusterIndex2].getTime());
568568
}
569569

570570
GPUd() void GPUTPCGMMerger::UnpackSaveNumber(int32_t id)
@@ -587,7 +587,7 @@ GPUd() void GPUTPCGMMerger::UnpackSectorGlobal(int32_t nBlocks, int32_t nThreads
587587
}
588588
uint32_t myTrack = CAMath::AtomicAdd(&mMemory->nUnpackedTracks, 1u);
589589
GPUTPCGMSectorTrack& track = mSectorTrackInfos[myTrack];
590-
SetTrackClusterZT(track, iSector, sectorTr);
590+
SetTrackClusterT(track, iSector, sectorTr);
591591
track.Set(this, sectorTr, alpha, iSector);
592592
track.SetGlobalSectorTrackCov();
593593
track.SetPrevNeighbour(-1);
@@ -618,22 +618,12 @@ GPUd() void GPUTPCGMMerger::RefitSectorTracks(int32_t nBlocks, int32_t nThreads,
618618
for (uint32_t itr = iBlock * nThreads + iThread; itr < nLocalTracks; itr += nBlocks * nThreads) {
619619
sectorTr = &trk.Tracks()[itr];
620620
GPUTPCGMSectorTrack track;
621-
SetTrackClusterZT(track, iSector, sectorTr);
622-
if (Param().rec.tpc.mergerCovSource == 0) {
623-
track.Set(this, sectorTr, alpha, iSector);
621+
SetTrackClusterT(track, iSector, sectorTr);
622+
if (RefitSectorTrack(track, sectorTr, alpha, iSector)) {
623+
track.Set(this, sectorTr, alpha, iSector); // TODO: Why does the refit fail, it shouldn't, this workaround should be removed
624624
if (!track.FilterErrors(this, iSector, GPUCA_MAX_SIN_PHI, 0.1f)) {
625625
continue;
626626
}
627-
} else if (Param().rec.tpc.mergerCovSource == 1) {
628-
track.Set(this, sectorTr, alpha, iSector);
629-
track.CopyBaseTrackCov();
630-
} else if (Param().rec.tpc.mergerCovSource == 2) {
631-
if (RefitSectorTrack(track, sectorTr, alpha, iSector)) {
632-
track.Set(this, sectorTr, alpha, iSector); // TODO: Why does the refit fail, it shouldn't, this workaround should be removed
633-
if (!track.FilterErrors(this, iSector, GPUCA_MAX_SIN_PHI, 0.1f)) {
634-
continue;
635-
}
636-
}
637627
}
638628

639629
CADEBUG(GPUInfo("INPUT Sector %d, Track %u, QPt %f DzDs %f", iSector, itr, track.QPt(), track.DzDs()));
@@ -709,7 +699,7 @@ GPUd() void GPUTPCGMMerger::MergeSectorsPrepareStep2(int32_t nBlocks, int32_t nT
709699
}
710700
trackTmp = *trackMin;
711701
track = &trackTmp;
712-
if (Param().rec.tpc.mergerCovSource == 2 && trackTmp.X2() != 0.f) {
702+
if (trackTmp.X2() != 0.f) {
713703
trackTmp.UseParam2();
714704
} else {
715705
trackTmp.Set(this, trackMin->OrigTrack(), trackMin->Alpha(), trackMin->Sector());
@@ -1222,17 +1212,17 @@ GPUd() void GPUTPCGMMerger::ResolveMergeSectors(GPUResolveSharedMemory& smem, in
12221212
}
12231213

12241214
float z1min, z1max, z2min, z2max;
1225-
z1min = track1->MinClusterZT();
1226-
z1max = track1->MaxClusterZT();
1227-
z2min = track2->MinClusterZT();
1228-
z2max = track2->MaxClusterZT();
1215+
z1min = track1->MinClusterT();
1216+
z1max = track1->MaxClusterT();
1217+
z2min = track2->MinClusterT();
1218+
z2max = track2->MaxClusterT();
12291219
if (track1 != track1Base) {
1230-
z1min = CAMath::Min(z1min, track1Base->MinClusterZT());
1231-
z1max = CAMath::Max(z1max, track1Base->MaxClusterZT());
1220+
z1min = CAMath::Min(z1min, track1Base->MinClusterT());
1221+
z1max = CAMath::Max(z1max, track1Base->MaxClusterT());
12321222
}
12331223
if (track2 != track2Base) {
1234-
z2min = CAMath::Min(z2min, track2Base->MinClusterZT());
1235-
z2max = CAMath::Max(z2max, track2Base->MaxClusterZT());
1224+
z2min = CAMath::Min(z2min, track2Base->MinClusterT());
1225+
z2max = CAMath::Max(z2max, track2Base->MaxClusterT());
12361226
}
12371227
bool goUp = z2max - z1min > z1max - z2min;
12381228

@@ -1399,8 +1389,8 @@ GPUd() void GPUTPCGMMerger::MergeCE(int32_t nBlocks, int32_t nThreads, int32_t i
13991389
&mClusters[trk[0]->FirstClusterRef()], &mClusters[trk[0]->FirstClusterRef() + trk[0]->NClusters() - 1],
14001390
&mClusters[trk[1]->FirstClusterRef()], &mClusters[trk[1]->FirstClusterRef() + trk[1]->NClusters() - 1], clsmax);
14011391
const float offset = CAMath::Max(tmax - mConstantMem->calibObjects.fastTransformHelper->getCorrMap()->getMaxDriftTime(clsmax->sector, clsmax->row, cls[clsmax->num].getPad()), 0.f);
1402-
trk[1]->Param().Z() += mConstantMem->calibObjects.fastTransformHelper->getCorrMap()->convDeltaTimeToDeltaZinTimeFrame(trk[1]->CSide() * NSECTORS / 2, trk[1]->Param().TZOffset() - offset);
1403-
trk[1]->Param().TZOffset() = offset;
1392+
trk[1]->Param().Z() += mConstantMem->calibObjects.fastTransformHelper->getCorrMap()->convDeltaTimeToDeltaZinTimeFrame(trk[1]->CSide() * NSECTORS / 2, trk[1]->Param().TOffset() - offset);
1393+
trk[1]->Param().TOffset() = offset;
14041394
}
14051395
int32_t pos = newRef;
14061396
#pragma unroll
@@ -1503,19 +1493,19 @@ GPUd() void GPUTPCGMMerger::CollectMergedTracks(int32_t nBlocks, int32_t nThread
15031493
jtr = mSectorTrackInfos[jtr].NextNeighbour();
15041494
}
15051495

1506-
float mainZT = 1e9;
1496+
float mainT = 1e9;
15071497
revertSegments = true;
15081498
for (uint32_t k = 0; k < 2; k++) { // --------------- check if first or last segment is primary ---------------
15091499
int32_t ichk = k ? lasttr : itr;
15101500
const GPUTPCGMSectorTrack* trchk = &mSectorTrackInfos[ichk];
15111501
while (true) {
1512-
float zt = -trchk->MinClusterZT();
1513-
if (zt < mainZT) {
1502+
float t = -trchk->MinClusterT();
1503+
if (t < mainT) {
15141504
if (k) {
15151505
revertSegments = false;
15161506
break;
15171507
}
1518-
mainZT = zt;
1508+
mainT = t;
15191509
}
15201510
int32_t next = trchk->NextSegmentNeighbour();
15211511
if (next < 0 || next == ichk) {
@@ -1544,7 +1534,7 @@ GPUd() void GPUTPCGMMerger::CollectMergedTracks(int32_t nBlocks, int32_t nThread
15441534
}
15451535
trchk = &mSectorTrackInfos[next];
15461536
}
1547-
revertInSegment = longest->ClusterZT0() < longest->ClusterZTN();
1537+
revertInSegment = longest->ClusterT0() < longest->ClusterTN();
15481538
}
15491539
}
15501540
lastMergedSegment = -1;
@@ -1735,7 +1725,7 @@ GPUd() void GPUTPCGMMerger::CollectMergedTracks(int32_t nBlocks, int32_t nThread
17351725
p1.Z() = p2.Z();
17361726
p1.SinPhi() = p2.SinPhi();
17371727
}
1738-
p1.TZOffset() = p2.TZOffset();
1728+
p1.TOffset() = p2.TOffset();
17391729
p1.DzDs() = p2.DzDs();
17401730
p1.QPt() = p2.QPt();
17411731
mergedTrack.SetAlpha(p2.Alpha());
@@ -1823,7 +1813,7 @@ GPUd() void GPUTPCGMMerger::PrepareForFit1(int32_t nBlocks, int32_t nThreads, in
18231813
break;
18241814
}
18251815
updTrk = next;
1826-
updTrk->Param().TZOffset() = trk.Param().TZOffset();
1816+
updTrk->Param().TOffset() = trk.Param().TOffset();
18271817
}
18281818
}
18291819
}
@@ -1901,7 +1891,7 @@ GPUd() void GPUTPCGMMerger::MergeLoopersInit(int32_t nBlocks, int32_t nThreads,
19011891
const float qptabs = CAMath::Abs(p.GetQPt());
19021892
if (trk.NClusters() && qptabs * Param().qptB5Scaler > 5.f && qptabs * Param().qptB5Scaler <= lowPtThresh) {
19031893
const int32_t sector = mClusters[trk.FirstClusterRef() + trk.NClusters() - 1].sector;
1904-
const float refz = p.GetZ() + GetConstantMem()->calibObjects.fastTransformHelper->getCorrMap()->convVertexTimeToZOffset(sector, p.GetTZOffset(), Param().continuousMaxTimeBin) + (trk.CSide() ? -100 : 100);
1894+
const float refz = p.GetZ() + GetConstantMem()->calibObjects.fastTransformHelper->getCorrMap()->convVertexTimeToZOffset(sector, p.GetTOffset(), Param().continuousMaxTimeBin) + (trk.CSide() ? -100 : 100);
19051895
float sinA, cosA;
19061896
CAMath::SinCos(trk.GetAlpha(), sinA, cosA);
19071897
float gx = cosA * p.GetX() - sinA * p.GetY();
@@ -1925,7 +1915,7 @@ GPUd() void GPUTPCGMMerger::MergeLoopersInit(int32_t nBlocks, int32_t nThreads,
19251915
for (uint32_t k = 0;k < trk.NClusters();k++) {
19261916
float xx, yy, zz;
19271917
const ClusterNative& GPUrestrict() cl = GetConstantMem()->ioPtrs.clustersNative->clustersLinear[mClusters[trk.FirstClusterRef() + k].num];
1928-
GetConstantMem()->calibObjects.fastTransformHelper->Transform(mClusters[trk.FirstClusterRef() + k].sector, mClusters[trk.FirstClusterRef() + k].row, cl.getPad(), cl.getTime(), xx, yy, zz, p.GetTZOffset());
1918+
GetConstantMem()->calibObjects.fastTransformHelper->Transform(mClusters[trk.FirstClusterRef() + k].sector, mClusters[trk.FirstClusterRef() + k].row, cl.getPad(), cl.getTime(), xx, yy, zz, p.GetTOffset());
19291919
float sa2, ca2;
19301920
CAMath::SinCos(Param().Alpha(mClusters[trk.FirstClusterRef() + k].sector), sa2, ca2);
19311921
float cx = ca2 * xx - sa2 * yy;

GPU/GPUTracking/Merger/GPUTPCGMMerger.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ class GPUTPCGMMerger : public GPUProcessor
151151
GPUd() uint16_t MemoryResOutputO2Scratch() const { return mMemoryResOutputO2Scratch; }
152152

153153
GPUd() int32_t RefitSectorTrack(GPUTPCGMSectorTrack& sectorTrack, const GPUTPCTrack* inTrack, float alpha, int32_t sector);
154-
GPUd() void SetTrackClusterZT(GPUTPCGMSectorTrack& track, int32_t iSector, const GPUTPCTrack* sectorTr);
154+
GPUd() void SetTrackClusterT(GPUTPCGMSectorTrack& track, int32_t iSector, const GPUTPCTrack* sectorTr);
155155

156156
int32_t CheckSectors();
157157
GPUd() void RefitSectorTracks(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, int32_t iSector);

GPU/GPUTracking/Merger/GPUTPCGMMergerDump.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ void GPUTPCGMMerger::DumpSectorTracks(std::ostream& out) const
5151
out << " Track type " << iGlobal << "\n";
5252
for (int32_t j = mSectorTrackInfoIndex[iSector + NSECTORS * iGlobal]; j < mSectorTrackInfoIndex[iSector + NSECTORS * iGlobal + 1]; j++) {
5353
const auto& trk = mSectorTrackInfos[j];
54-
out << " Track " << j << ": LocalId " << (iGlobal ? (trk.LocalTrackId() >> 24) : -1) << "/" << (iGlobal ? (trk.LocalTrackId() & 0xFFFFFF) : -1) << " X " << trk.X() << " offsetz " << trk.TZOffset() << " A " << trk.Alpha() << " Y " << trk.Y() << " Z " << trk.Z() << " SinPhi " << trk.SinPhi() << " CosPhi " << trk.CosPhi() << " SecPhi " << trk.SecPhi() << " Tgl " << trk.DzDs() << " QPt " << trk.QPt() << "\n";
54+
out << " Track " << j << ": LocalId " << (iGlobal ? (trk.LocalTrackId() >> 24) : -1) << "/" << (iGlobal ? (trk.LocalTrackId() & 0xFFFFFF) : -1) << " X " << trk.X() << " offsetz " << trk.TOffset() << " A " << trk.Alpha() << " Y " << trk.Y() << " Z " << trk.Z() << " SinPhi " << trk.SinPhi() << " CosPhi " << trk.CosPhi() << " SecPhi " << trk.SecPhi() << " Tgl " << trk.DzDs() << " QPt " << trk.QPt() << "\n";
5555
}
5656
}
5757
}
@@ -140,7 +140,7 @@ void GPUTPCGMMerger::DumpCollected(std::ostream& out) const
140140
for (uint32_t i = 0; i < mMemory->nMergedTracks; i++) {
141141
const auto& trk = mMergedTracks[i];
142142
const auto& p = trk.GetParam();
143-
out << " Track " << i << ": Loop " << trk.Looper() << " Alpha " << trk.GetAlpha() << " X " << p.GetX() << " offset " << p.GetTZOffset() << " Y " << p.GetY() << " Z " << p.GetZ() << " SPhi " << p.GetSinPhi() << " Tgl " << p.GetDzDs() << " QPt " << p.GetQPt() << " NCl " << trk.NClusters() << "\n";
143+
out << " Track " << i << ": Loop " << trk.Looper() << " Alpha " << trk.GetAlpha() << " X " << p.GetX() << " offset " << p.GetTOffset() << " Y " << p.GetY() << " Z " << p.GetZ() << " SPhi " << p.GetSinPhi() << " Tgl " << p.GetDzDs() << " QPt " << p.GetQPt() << " NCl " << trk.NClusters() << "\n";
144144
}
145145
out << std::setprecision(ss);
146146
}
@@ -201,7 +201,7 @@ void GPUTPCGMMerger::DumpRefit(std::ostream& out) const
201201
}
202202
const auto& p = trk.GetParam();
203203
const auto& po = trk.OuterParam();
204-
out << " Track " << i << ": OK " << trk.OK() << " Alpha " << trk.GetAlpha() << " X " << p.GetX() << " offset " << p.GetTZOffset() << " Y " << p.GetY() << " Z " << p.GetZ() << " SPhi " << p.GetSinPhi() << " Tgl " << p.GetDzDs() << " QPt " << p.GetQPt() << " NCl " << trk.NClusters() << " / " << trk.NClustersFitted() << " Cov " << p.GetErr2Y() << "/" << p.GetErr2Z()
204+
out << " Track " << i << ": OK " << trk.OK() << " Alpha " << trk.GetAlpha() << " X " << p.GetX() << " offset " << p.GetTOffset() << " Y " << p.GetY() << " Z " << p.GetZ() << " SPhi " << p.GetSinPhi() << " Tgl " << p.GetDzDs() << " QPt " << p.GetQPt() << " NCl " << trk.NClusters() << " / " << trk.NClustersFitted() << " Cov " << p.GetErr2Y() << "/" << p.GetErr2Z()
205205
<< " dEdx " << (trk.OK() && Param().dodEdxEnabled ? mMergedTracksdEdx[i].dEdxTotTPC : -1.f) << "/" << (trk.OK() && Param().dodEdxEnabled ? mMergedTracksdEdx[i].dEdxMaxTPC : -1.f)
206206
<< " Outer " << po.P[0] << "/" << po.P[1] << "/" << po.P[2] << "/" << po.P[3] << "/" << po.P[4]
207207
<< " NFitted " << trk.NClustersFitted() << " flags " << (int)trk.Flags() << "\n";

GPU/GPUTracking/Merger/GPUTPCGMO2Output.cxx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ using namespace o2::tpc;
3333
using namespace o2::tpc::constants;
3434

3535
GPUdi() static constexpr uint8_t getFlagsReject() { return GPUTPCGMMergedTrackHit::flagReject | GPUTPCGMMergedTrackHit::flagHighIncl; }
36-
GPUdi() static uint32_t getFlagsRequired(const GPUSettingsRec& rec) { return rec.tpc.dropSecondaryLegsInOutput ? gputpcgmmergertypes::attachGoodLeg : gputpcgmmergertypes::attachZero; }
36+
GPUdi() static uint32_t getFlagsRequired(const GPUSettingsRec& rec) { return gputpcgmmergertypes::attachGoodLeg; }
3737

3838
namespace o2::gpu::internal
3939
{
@@ -65,7 +65,7 @@ GPUdii() void GPUTPCGMO2Output::Thread<GPUTPCGMO2Output::prepare>(int32_t nBlock
6565
if (!tracks[i].OK()) {
6666
continue;
6767
}
68-
if (merger.Param().rec.tpc.dropSecondaryLegsInOutput && tracks[i].MergedLooper()) {
68+
if (tracks[i].MergedLooper()) {
6969
continue;
7070
}
7171

@@ -79,7 +79,7 @@ GPUdii() void GPUTPCGMO2Output::Thread<GPUTPCGMO2Output::prepare>(int32_t nBlock
7979
if (nCl == 0) {
8080
continue;
8181
}
82-
if (merger.Param().rec.tpc.dropSecondaryLegsInOutput && nCl + 2 < GPUCA_TRACKLET_SELECTOR_MIN_HITS_B5(tracks[i].GetParam().GetQPt() * merger.Param().qptB5Scaler)) { // Give 2 hits tolerance in the primary leg, compared to the full fit of the looper
82+
if (nCl + 2 < GPUCA_TRACKLET_SELECTOR_MIN_HITS_B5(tracks[i].GetParam().GetQPt() * merger.Param().qptB5Scaler)) { // Give 2 hits tolerance in the primary leg, compared to the full fit of the looper
8383
continue;
8484
}
8585
if (merger.Param().rec.tpc.minNClustersFinalTrack != -1 && nCl < (uint32_t)merger.Param().rec.tpc.minNClustersFinalTrack) {
@@ -90,7 +90,7 @@ GPUdii() void GPUTPCGMO2Output::Thread<GPUTPCGMO2Output::prepare>(int32_t nBlock
9090
}
9191
uint32_t myId = CAMath::AtomicAdd(&merger.Memory()->nO2Tracks, 1u);
9292
tmpData[i] = {nCl, CAMath::AtomicAdd(&merger.Memory()->nO2ClusRefs, nCl + (nCl + 1) / 2)};
93-
trackSort[myId] = {i, tracks[i].CSide() ? tracks[i].GetParam().GetTZOffset() : -tracks[i].GetParam().GetTZOffset()};
93+
trackSort[myId] = {i, tracks[i].CSide() ? tracks[i].GetParam().GetTOffset() : -tracks[i].GetParam().GetTOffset()};
9494
}
9595
}
9696

@@ -228,7 +228,7 @@ GPUdii() void GPUTPCGMO2Output::Thread<GPUTPCGMO2Output::output>(int32_t nBlocks
228228
bool cce = track.CCE() && ((sector1 < MAXSECTOR / 2) ^ (sector2 < MAXSECTOR / 2));
229229
float time0 = 0.f, tFwd = 0.f, tBwd = 0.f;
230230
if (merger.Param().par.continuousTracking) {
231-
time0 = track.GetParam().GetTZOffset();
231+
time0 = track.GetParam().GetTOffset();
232232
if (cce) {
233233
bool lastSide = trackClusters[track.FirstClusterRef()].sector < MAXSECTOR / 2;
234234
float delta = 0.f;

0 commit comments

Comments
 (0)