Skip to content

Commit b17176a

Browse files
author
Mark
committed
New seed extraction
1 parent 7ed18da commit b17176a

File tree

6 files changed

+596
-610
lines changed

6 files changed

+596
-610
lines changed

core/include/traccc/gbts_seeding/gbts_seeding_config.hpp

Lines changed: 42 additions & 11 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 = 1048;
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,33 @@ 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+
// m_J is stored in 30 + 1 bits
118+
// max qual = add_hit*max_length*qual_scale
119+
float qual_scale =
120+
0.01 * static_cast<float>(INT_MAX) /
121+
static_cast<float>(add_hit * traccc::device::gbts_consts::max_cca_iter);
122+
123+
float inv_max_curvature = 900.0f;
124+
float max_z0 = 160.0f;
125+
};
126+
99127
struct gbts_seedfinder_config {
100128
bool setLinkingScheme(
101129
const std::vector<std::pair<int, std::vector<int>>>& binTables,
@@ -112,15 +140,18 @@ struct gbts_seedfinder_config {
112140
std::vector<std::array<unsigned int, 2>> surfaceToLayerMap{};
113141

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

117147
// node making bin counts
118148
unsigned int n_eta_bins = 0; // calculated from input layerInfo
119149
unsigned int n_phi_bins = 128;
120150
// graph making maxiums
121-
unsigned char max_num_neighbours = 10;
122-
// graph extraction cuts
123-
int minLevel = 3; // equivlent to a cut of #seed edges or #spacepoints-1
151+
unsigned char max_num_neighbours = 6;
152+
// graph extraction minimum seed edge length
153+
// equivlent to a cut of #spacepoints-1
154+
int minLevel = 3;
124155
};
125156

126157
} // namespace traccc

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)