Skip to content

Commit 65a0df5

Browse files
authored
Merge pull request #1176 from m-brettell/GBTS_new_seed_extraction
GBTS new seed extraction
1 parent 129e866 commit 65a0df5

6 files changed

Lines changed: 606 additions & 604 deletions

File tree

core/include/traccc/gbts_seeding/gbts_seeding_config.hpp

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ struct gbts_consts {
4848
static constexpr unsigned short max_cca_iter = 15;
4949
// shared memory allocation sizes
5050
static constexpr unsigned short node_buffer_length = 128;
51-
static constexpr unsigned short shared_state_buffer_size = 608;
51+
static constexpr unsigned short live_path_buffer = 1024;
5252

5353
// access into output graph
5454
static constexpr char node1 = 0;
@@ -61,7 +61,7 @@ struct gbts_consts {
6161

6262
namespace traccc {
6363

64-
struct gbts_algo_params {
64+
struct gbts_graph_building_params {
6565

6666
// edge making cuts
6767
float min_delta_phi = 0.015f;
@@ -73,13 +73,14 @@ struct gbts_algo_params {
7373

7474
float min_z0 = -160.0f;
7575
float max_z0 = 160.0f;
76-
float maxOuterRadius = 550.0f;
77-
float cut_zMinU = min_z0 - maxOuterRadius * 45;
78-
float cut_zMaxU = max_z0 + maxOuterRadius * 45; // how to get ROI dzdr
76+
float maxOuterRadius = 350.0f;
77+
// how to get ROI dzdr
78+
float cut_zMinU = min_z0 - maxOuterRadius * 45.0f;
79+
float cut_zMaxU = max_z0 + maxOuterRadius * 45.0f;
7980

8081
float max_Kappa = 3.75e-4f;
81-
float low_Kappa_d0 = 0.0f; // used to be 0.2f
82-
float high_Kappa_d0 = 0.0f; // used to be 1.0f
82+
float low_Kappa_d0 = 0.00f;
83+
float high_Kappa_d0 = 0.0f;
8384

8485
// tau prediction cut
8586
float tMin_slope = 6.7f;
@@ -96,6 +97,34 @@ struct gbts_algo_params {
9697
float cut_tau_ratio_max = 0.01f;
9798
};
9899

100+
struct gbts_seed_extraction_params {
101+
// for 900 MeV track at eta=0
102+
float sigmaMS = 0.016f;
103+
// 2.5% per layer
104+
float radLen = 0.025f;
105+
106+
float sigma_x = 0.08f;
107+
float sigma_y = 0.25f;
108+
109+
float weight_x = 0.5f;
110+
float weight_y = 0.5f;
111+
112+
float maxDChi2_x = 5.0f;
113+
float maxDChi2_y = 6.0f;
114+
// controls if seeds of shorter lengths
115+
// can win bidding against longer seeds
116+
float add_hit = 14.0f;
117+
// seed quality is an int scaled up from a float
118+
// max qual = add_hit*max_length*qual_scale
119+
float qual_scale =
120+
0.01f * static_cast<float>(INT_MAX) /
121+
(add_hit *
122+
static_cast<float>(traccc::device::gbts_consts::max_cca_iter));
123+
124+
float inv_max_curvature = 900.0f;
125+
float max_z0 = 160.0f;
126+
};
127+
99128
struct gbts_seedfinder_config {
100129
bool setLinkingScheme(
101130
const std::vector<std::pair<int, std::vector<int>>>& binTables,
@@ -112,7 +141,9 @@ struct gbts_seedfinder_config {
112141
std::vector<std::array<unsigned int, 2>> surfaceToLayerMap{};
113142

114143
// tuned for 900 MeV pT cut and scaled by input minPt
115-
gbts_algo_params algo_params{};
144+
gbts_graph_building_params graph_building_params{};
145+
146+
gbts_seed_extraction_params seed_extraction_params{};
116147

117148
// node making bin counts
118149
unsigned int n_eta_bins = 0; // calculated from input layerInfo

core/src/gbts_seeding/gbts_seeding_config.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,11 @@ bool gbts_seedfinder_config::setLinkingScheme(
103103
volumeToLayerMap[vLpair.second] = vLpair.first;
104104
// scale cuts
105105
float ptScale = 900.0f / minPt;
106-
algo_params.min_delta_phi *= ptScale;
107-
algo_params.dphi_coeff *= ptScale;
108-
algo_params.min_delta_phi_low_dr *= ptScale;
109-
algo_params.dphi_coeff_low_dr *= ptScale;
110-
algo_params.max_Kappa *= ptScale;
106+
graph_building_params.min_delta_phi *= ptScale;
107+
graph_building_params.dphi_coeff *= ptScale;
108+
graph_building_params.min_delta_phi_low_dr *= ptScale;
109+
graph_building_params.dphi_coeff_low_dr *= ptScale;
110+
graph_building_params.max_Kappa *= ptScale;
111111

112112
// contianers sizes
113113
nLayers = static_cast<unsigned int>(layerInfo.type.size());

0 commit comments

Comments
 (0)