34 memset((
void*)
this, 0,
sizeof(*
this));
40#ifdef GPUCA_TPC_GEOMETRY_O2
41 const float kErrorsY[4] = {0.06, 0.24, 0.12, 0.1};
42 const float kErrorsZ[4] = {0.06, 0.24, 0.15, 0.1};
47 const float kParamS0Par[2][3][6] =
49 { { 6.45913474727e-04, 2.51547407970e-05, 1.57551113516e-02, 1.99872811635e-08, -5.86769729853e-03, 9.16301505640e-05 },
50 { 9.71546804067e-04, 1.70938055817e-05, 2.17084009200e-02, 3.90275758377e-08, -1.68631039560e-03, 8.40498323669e-05 },
51 { 7.27469159756e-05, 2.63869314949e-05, 3.29690799117e-02, -2.19274429725e-08, 1.77378822118e-02, 3.26595727529e-05 }
53 { 1.46874145139e-03, 6.36232061879e-06, 1.28665426746e-02, 1.19409449439e-07, 1.15883778781e-02, 1.32179644424e-04 },
54 { 1.15970033221e-03, 1.30452335725e-05, 1.87015570700e-02, 5.39766737973e-08, 1.64790824056e-02, 1.44115634612e-04 },
55 { 6.27940462437e-04, 1.78520094778e-05, 2.83537860960e-02, 1.16867742150e-08, 5.02607785165e-02, 1.88510020962e-04 } }
57 const float kParamErrorsSeeding0[2][3][4] =
59 { { 4.17516864836e-02, 1.87623649254e-04, 5.63788712025e-02, 5.38373768330e-01, },
60 { 8.29434990883e-02, 2.03291710932e-04, 6.81538805366e-02, 9.70965325832e-01, },
61 { 8.67543518543e-02, 2.10733342101e-04, 1.38366967440e-01, 2.55089461803e-01, }
63 { 5.96254616976e-02, 8.62886518007e-05, 3.61776389182e-02, 4.79704320431e-01, },
64 { 6.12571723759e-02, 7.23929333617e-05, 3.93057651818e-02, 9.29222583771e-01, },
65 { 6.58465921879e-02, 1.03639606095e-04, 6.07583411038e-02, 9.90289509296e-01, } }
69 for (int32_t
i = 0;
i < 2;
i++) {
70 for (int32_t
j = 0;
j < 3;
j++) {
71 for (int32_t k = 0; k < 6; k++) {
77 for (int32_t
i = 0;
i < 2;
i++) {
78 for (int32_t
j = 0;
j < 3;
j++) {
79 for (int32_t k = 0; k < 4; k++) {
86 par.dAlpha = 0.349066f;
90 constexpr float plusZmin = 0.0529937;
91 constexpr float plusZmax = 249.778;
92 constexpr float minusZmin = -249.645;
93 constexpr float minusZmax = -0.0799937;
112 par.assumeConstantBz =
false;
113 par.toyMCEventsFlag =
false;
114 par.continuousTracking =
false;
118 par.earlyTpcTransform =
false;
125 par.assumeConstantBz =
g->constBz;
126 par.toyMCEventsFlag =
g->homemadeEvents;
127 par.continuousTracking =
g->grpContinuousMaxTimeBin != 0;
131 par.earlyTpcTransform =
rec.tpc.forceEarlyTransform == -1 ? (!
par.continuousTracking) :
rec.tpc.forceEarlyTransform;
134 par.debugLevel = p->debugLevel;
139 if (
par.dodEdx && p && p->tpcDownscaledEdx != 0) {
175#ifdef GPUCA_TPC_GEOMETRY_O2
176 for (int32_t yz = 0; yz < 2; yz++) {
177 const float*
param = yz ? zErrorParam : yErrorParam;
178 for (int32_t rowType = 0; rowType < 4; rowType++) {
179 constexpr int32_t regionMap[4] = {0, 4, 6, 8};
180 ParamErrors[yz][rowType][0] =
param[0] *
param[0];
181 ParamErrors[yz][rowType][1] =
param[1] *
param[1] *
tpcGeometry.PadHeightByRegion(regionMap[rowType]);
183 ParamErrors[yz][rowType][3] =
param[3] *
param[3] *
rec.tpc.clusterErrorOccupancyScaler *
rec.tpc.clusterErrorOccupancyScaler;