Skip to content

Commit 7713020

Browse files
committed
GPU TPC: Add dEdxClusterRejectionFlagMask option
1 parent 513970b commit 7713020

File tree

4 files changed

+4
-1
lines changed

4 files changed

+4
-1
lines changed

GPU/GPUTracking/DataTypes/GPUSettings.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
#include "GPUCommonDef.h"
1919
#include "GPUDataTypes.h"
20+
#include "GPUTPCGMMergedTrackHit.h"
2021
#ifndef GPUCA_GPUCODE_DEVICE
2122
#include <vector>
2223
#include <string>

GPU/GPUTracking/DataTypes/GPUTPCGMMergedTrackHit.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ struct GPUTPCGMMergedTrackHit {
2626
uint8_t slice, row, leg, state;
2727

2828
// NOTE: the lower states must match those from ClusterNative!
29+
// TODO: take them directly from clusterNative header.
2930
enum hitState { flagSplitPad = 0x1,
3031
flagSplitTime = 0x2,
3132
flagSplit = 0x3,

GPU/GPUTracking/Definitions/GPUSettingsList.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ AddOptionRTC(dropSecondaryLegsInOutput, int8_t, 1, "", 0, "Do not store secondar
153153
AddOptionRTC(enablePID, int8_t, 1, "", 0, "Enable PID response")
154154
AddOptionRTC(PID_useNsigma, int8_t, 1, "", 0, "Use nSigma instead of absolute distance in PID response")
155155
AddOptionRTC(adddEdxSubThresholdClusters, int8_t, 1, "", 0, "Add sub threshold clusters in TPC dEdx computation")
156+
AddOptionRTC(dEdxClusterRejectionFlagMask, int8_t, o2::gpu::GPUTPCGMMergedTrackHit::flagEdge, "", 0, "OR mask of TPC flags that will reject the cluster in dEdx")
156157
AddOptionRTC(rejectEdgeClustersInSeeding, int8_t, 0, "", 0, "Reject edge clusters based on uncorrected track Y during seeding")
157158
AddOptionRTC(rejectEdgeClustersInTrackFit, int8_t, 0, "", 0, "Reject edge clusters based on uncorrected track Y during track fit")
158159
AddOptionArray(PID_remap, int8_t, 9, (0, 1, 2, 3, 4, 5, 6, 7, 8), "", 0, "Remap Ipid to PID_reamp[Ipid] (no remap if<0)") // BUG: CUDA cannot yet hand AddOptionArrayRTC

GPU/GPUTracking/Merger/GPUTPCGMTrackParam.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ GPUd() bool GPUTPCGMTrackParam::Fit(GPUTPCGMMerger* GPUrestrict() merger, int32_
366366
CADEBUG(printf("Reinit linearization\n"));
367367
prop.SetTrack(this, prop.GetAlpha());
368368
}
369-
if (param.par.dodEdx && param.dodEdxDownscaled && iWay == nWays - 1 && cluster.leg == clusters[maxN - 1].leg && !(clusterState & GPUTPCGMMergedTrackHit::flagEdge)) { // TODO: Costimize flag to remove, and option to remove double-clusters
369+
if (param.par.dodEdx && param.dodEdxDownscaled && iWay == nWays - 1 && cluster.leg == clusters[maxN - 1].leg && (clusterState & param.rec.tpc.dEdxClusterRejectionFlagMask) == 0) { // TODO: Costimize flag to remove, and option to remove double-clusters
370370
float qtot = 0, qmax = 0, pad = 0, relTime = 0;
371371
const int32_t clusterCount = (ihit - ihitMergeFirst) * wayDirection + 1;
372372
for (int32_t iTmp = ihitMergeFirst; iTmp != ihit + wayDirection; iTmp += wayDirection) {

0 commit comments

Comments
 (0)