Skip to content

Commit 8ed4e7e

Browse files
committed
GPU: When dropping secondary legs, remove attachment of clusters that belong to the primary leg of a different track
1 parent a27c7af commit 8ed4e7e

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

GPU/GPUTracking/Merger/GPUTPCGMO2Output.cxx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,13 @@ GPUdii() void GPUTPCGMO2Output::Thread<GPUTPCGMO2Output::prepare>(int nBlocks, i
4747
for (unsigned int i = get_global_id(0); i < nTracks; i += get_global_size(0)) {
4848
unsigned int nCl = 0;
4949
for (unsigned int j = 0; j < tracks[i].NClusters(); j++) {
50-
if (!((trackClusters[tracks[i].FirstClusterRef() + j].state & flagsReject) || (merger.ClusterAttachment()[trackClusters[tracks[i].FirstClusterRef() + j].num] & flagsRequired) != flagsRequired)) {
51-
nCl++;
50+
if ((trackClusters[tracks[i].FirstClusterRef() + j].state & flagsReject) || (merger.ClusterAttachment()[trackClusters[tracks[i].FirstClusterRef() + j].num] & flagsRequired) != flagsRequired) {
51+
continue;
52+
}
53+
if (merger.Param().rec.tpc.dropSecondaryLegsInOutput && trackClusters[tracks[i].FirstClusterRef() + j].leg != trackClusters[tracks[i].FirstClusterRef() + tracks[i].NClusters() - 1].leg) {
54+
continue;
5255
}
56+
nCl++;
5357
}
5458
if (nCl == 0) {
5559
continue;
@@ -148,6 +152,9 @@ GPUdii() void GPUTPCGMO2Output::Thread<GPUTPCGMO2Output::output>(int nBlocks, in
148152
if ((trackClusters[tracks[i].FirstClusterRef() + j].state & flagsReject) || (merger.ClusterAttachment()[trackClusters[tracks[i].FirstClusterRef() + j].num] & flagsRequired) != flagsRequired) {
149153
continue;
150154
}
155+
if (merger.Param().rec.tpc.dropSecondaryLegsInOutput && trackClusters[tracks[i].FirstClusterRef() + j].leg != trackClusters[tracks[i].FirstClusterRef() + tracks[i].NClusters() - 1].leg) {
156+
continue;
157+
}
151158
int clusterIdGlobal = trackClusters[tracks[i].FirstClusterRef() + j].num;
152159
int sector = trackClusters[tracks[i].FirstClusterRef() + j].slice;
153160
int globalRow = trackClusters[tracks[i].FirstClusterRef() + j].row;

0 commit comments

Comments
 (0)