You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: GPU/GPUTracking/Definitions/GPUDefConstantsAndSettings.h
+7-6Lines changed: 7 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -30,17 +30,17 @@
30
30
#error Invalid Compile Definitions, need to build for either AliRoot or O2 or Standalone
31
31
#endif
32
32
33
-
#defineGPUCA_TRACKLET_SELECTOR_MIN_HITS(QPT) (CAMath::Abs(QPT) > 10 ? 10 : (CAMath::Abs(QPT) > 5 ? 15 : 29)) // Minimum hits should depend on Pt, low Pt tracks can have few hits. 29 Hits default, 15 for < 200 mev, 10 for < 100 mev
33
+
#defineGPUCA_TRACKLET_SELECTOR_MIN_HITS_B5(QPTB5) (CAMath::Abs(QPTB5) > 10 ? 10 : (CAMath::Abs(QPTB5) > 5 ? 15 : 29)) // Minimum hits should depend on Pt, low Pt tracks can have few hits. 29 Hits default, 15 for < 200 mev, 10 for < 100 mev
34
34
35
35
#defineGPUCA_GLOBAL_TRACKING_RANGE 45 // Number of rows from the upped/lower limit to search for global track candidates in for
36
-
#defineGPUCA_GLOBAL_TRACKING_Y_RANGE_UPPER 0.85 // Inner portion of y-range in slice that is not used in searching for global track candidates
37
-
#defineGPUCA_GLOBAL_TRACKING_Y_RANGE_LOWER 0.85
36
+
#defineGPUCA_GLOBAL_TRACKING_Y_RANGE_UPPER 0.85f // Inner portion of y-range in slice that is not used in searching for global track candidates
37
+
#defineGPUCA_GLOBAL_TRACKING_Y_RANGE_LOWER 0.85f
38
38
#defineGPUCA_GLOBAL_TRACKING_MIN_ROWS 10 // Min num of rows an additional global track must span over
39
39
#defineGPUCA_GLOBAL_TRACKING_MIN_HITS 8 // Min num of hits for an additional global track
40
40
41
41
#defineGPUCA_MERGER_CE_ROWLIMIT 5 //Distance from first / last row in order to attempt merging accross CE
42
-
#defineGPUCA_MERGER_LOOPER_QPT_LIMIT 4 // Min Q/Pt to run special looper merging procedure
43
-
#defineGPUCA_MERGER_HORIZONTAL_DOUBLE_QPT_LIMIT 2 // Min Q/Pt to attempt second horizontal merge between slices after a vertical merge was found
42
+
#defineGPUCA_MERGER_LOOPER_QPTB5_LIMIT 4 // Min Q/Pt (@B=0.5T) to run special looper merging procedure
43
+
#defineGPUCA_MERGER_HORIZONTAL_DOUBLE_QPTB5_LIMIT 2 // Min Q/Pt (@B=0.5T) to attempt second horizontal merge between slices after a vertical merge was found
44
44
#defineGPUCA_MERGER_MAX_TRACK_CLUSTERS 1000 // Maximum number of clusters a track may have after merging
45
45
46
46
#defineGPUCA_Y_FACTOR 4 // Weight of y residual vs z residual in tracklet constructor
@@ -49,7 +49,8 @@
49
49
#defineGPUCA_TRACKLET_CONSTRUCTOR_MAX_ROW_GAP_SEED 2 // Same, but during fit of seed
50
50
#defineGPUCA_MERGER_MAXN_MISSED_HARD 10 // Hard limit for number of missed rows in fit / propagation
51
51
#defineGPUCA_MERGER_COV_LIMIT 1000 // Abort fit when y/z cov exceed the limit
52
-
#defineGPUCA_MIN_TRACK_PT_DEFAULT 0.010 // Default setting for minimum track Pt at some places
52
+
#defineGPUCA_MIN_TRACK_PTB5_DEFAULT 0.010 // Default setting for minimum track Pt at some places (at B=0.5T)
53
+
#defineGPUCA_MIN_TRACK_PTB5_REJECT 0.050f // Default setting for Pt (at B=0.5T) where tracks are rejected
53
54
54
55
#defineGPUCA_MAX_SIN_PHI_LOW 0.99f // Limits for maximum sin phi during fit
55
56
#defineGPUCA_MAX_SIN_PHI 0.999f // Must be preprocessor define because c++ pre 11 cannot use static constexpr for initializes
AddOptionRTC(maxTrackQPt, float, 1.f / GPUCA_MIN_TRACK_PT_DEFAULT, "", 0, "required max Q/Pt (==min Pt) of tracks")
94
+
AddOptionRTC(maxTrackQPt, float, 1.f / GPUCA_MIN_TRACK_PTB5_DEFAULT, "", 0, "required max Q/Pt (==min Pt) of tracks")
95
95
AddOptionRTC(nonConsecutiveIDs, char, false, "", 0, "Non-consecutive cluster IDs as in HLT, disables features that need access to slice data in TPC merger")
96
96
AddOptionRTC(fwdTPCDigitsAsClusters, unsignedchar, 0, "", 0, "Forward TPC digits as clusters (if they pass the ZS threshold)")
97
97
AddOptionRTC(bz0Pt, unsignedchar, 60, "", 0, "Nominal Pt to set when bz = 0 (in 10 MeV)")
@@ -167,6 +167,7 @@ AddOption(clearO2OutputFromGPU, bool, false, "", 0, "Free the GPU memory used fo
167
167
AddOption(ignoreNonFatalGPUErrors, bool, false, "", 0, "Continue running after having received non fatal GPU errors, e.g. abort due to overflow")
168
168
AddOption(tpcIncreasedMinClustersPerRow, unsignedint, 0, "", 0, "Impose a minimum buffer size for the clustersPerRow during TPC clusterization")
169
169
AddOption(noGPUMemoryRegistration, bool, false, "", 0, "Do not register input / output memory for GPU dma transfer")
170
+
AddOption(automaticQPtThresholds, bool, true, "", 0, "Update the QPt thresholde at initialization accoding to the B field (i.e. lower to 40% for B=0.2T)")
Copy file name to clipboardExpand all lines: GPU/GPUTracking/Merger/GPUTPCGMO2Output.cxx
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -53,7 +53,7 @@ GPUdii() void GPUTPCGMO2Output::Thread<GPUTPCGMO2Output::prepare>(int nBlocks, i
53
53
if (nCl == 0) {
54
54
continue;
55
55
}
56
-
if (merger.Param().rec.tpc.dropSecondaryLegsInOutput && nCl + 2 < GPUCA_TRACKLET_SELECTOR_MIN_HITS(tracks[i].GetParam().GetQPt())) { // Give 2 hits tolerance in the primary leg, compared to the full fit of the looper
56
+
if (merger.Param().rec.tpc.dropSecondaryLegsInOutput && nCl + 2 < GPUCA_TRACKLET_SELECTOR_MIN_HITS_B5(tracks[i].GetParam().GetQPt() * merger.Param().par.qptB5Scaler)) { // Give 2 hits tolerance in the primary leg, compared to the full fit of the looper
0 commit comments