CbmRoot
L1TrackExtender.cxx
Go to the documentation of this file.
1 #include "L1AddMaterial.h"
2 #include "L1Algo.h"
3 #include "L1Branch.h"
4 #include "L1Extrapolation.h"
5 #include "L1Filtration.h"
6 #include "L1HitArea.h"
7 #include "L1HitPoint.h"
8 #include "L1Track.h"
9 #include "L1TrackPar.h"
10 
11 #include <iostream>
12 
13 // using namespace std;
14 using std::cout;
15 using std::endl;
16 using std::vector;
17 
18 
26  L1TrackPar& T,
27  const bool dir,
28  const fvec qp0,
29  const bool initParams) {
30  L1_assert(t.NHits >= 3);
31 
32  // get hits of current track
33  const std::vector<THitI>& hits =
34  t.StsHits; // array of indeses of hits of current track
35  const int nHits = t.NHits;
36 
37  const signed short int step =
38  -2 * static_cast<int>(dir) + 1; // increment for station index
39  const int iFirstHit = (dir) ? nHits - 1 : 0;
40  const int iLastHit = (dir) ? 0 : nHits - 1;
41 
42  const L1StsHit& hit0 = (*vStsHits)[hits[iFirstHit]];
43  const L1StsHit& hit1 = (*vStsHits)[hits[iFirstHit + step]];
44  const L1StsHit& hit2 = (*vStsHits)[hits[iFirstHit + 2 * step]];
45 
46  int ista0 = GetFStation((*vSFlag)[hit0.f]);
47  int ista1 = GetFStation((*vSFlag)[hit1.f]);
48  int ista2 = GetFStation((*vSFlag)[hit2.f]);
49 
50  L1Station& sta0 = vStations[ista0];
51  L1Station& sta1 = vStations[ista1];
52  L1Station& sta2 = vStations[ista2];
53 
54  fvec u0 = static_cast<fscal>((*vStsStrips)[hit0.f]);
55  fvec v0 = static_cast<fscal>((*vStsStripsB)[hit0.b]);
56  fvec x0, y0;
57  StripsToCoor(u0, v0, x0, y0, sta0);
58  fvec z0 = (*vStsZPos)[hit0.iz];
59 
60  fvec u1 = static_cast<fscal>((*vStsStrips)[hit1.f]);
61  fvec v1 = static_cast<fscal>((*vStsStripsB)[hit1.b]);
62  fvec x1, y1;
63  StripsToCoor(u1, v1, x1, y1, sta1);
64  fvec z1 = (*vStsZPos)[hit1.iz];
65 
66  fvec u2 = static_cast<fscal>((*vStsStrips)[hit2.f]);
67  fvec v2 = static_cast<fscal>((*vStsStripsB)[hit2.b]);
68  fvec x2, y2;
69  StripsToCoor(u2, v2, x2, y2, sta2);
70  // fvec z2 = (*vStsZPos)[hit2.iz];
71 
72  fvec dzi = 1. / (z1 - z0);
73 
74  const fvec vINF = .1;
75  T.x = x0;
76  T.y = y0;
77  if (initParams) {
78  T.tx = (x1 - x0) * dzi;
79  T.ty = (y1 - y0) * dzi;
80  T.qp = qp0;
81  }
82 
83  T.z = z0;
84  T.t = hit0.t_reco;
85 
86  // T.t[0]=(hit0.t_reco+hit1.t_reco+hit2.t_reco)/3;
87  T.chi2 = 0.;
88  T.NDF = 2.;
89  T.C00 = sta0.XYInfo.C00;
90  T.C10 = sta0.XYInfo.C10;
91  T.C11 = sta0.XYInfo.C11;
92 
93 #ifdef HitErrors
94  T.C00 = hit0.dx * hit0.dx;
95  T.C10 = hit0.dxy;
96  T.C11 = hit0.dy * hit0.dy;
97 #endif
98 
99  T.C20 = T.C21 = 0;
100  T.C30 = T.C31 = T.C32 = 0;
101  T.C40 = T.C41 = T.C42 = T.C43 = 0;
102  T.C50 = T.C51 = T.C52 = T.C53 = T.C54 = 0;
103  T.C22 = T.C33 = vINF;
104  T.C44 = 1.;
105  T.C55 = hit0.t_er * hit0.t_er;
106 
107  L1FieldValue fB0, fB1, fB2 _fvecalignment;
109  fvec fz0 = sta1.z; // suppose field is smoth
110  fvec fz1 = sta2.z;
111  fvec fz2 = sta0.z;
112 
113 
114  sta1.fieldSlice.GetFieldValue(x1, y1, fB0);
115  sta2.fieldSlice.GetFieldValue(x2, y2, fB1);
116  sta0.fieldSlice.GetFieldValue(x0, y0, fB2);
117 
118  fld.Set(fB2, fz2, fB1, fz1, fB0, fz0);
119 
120  int ista_prev = ista1;
121  int ista = ista2;
122 
123  for (int i = iFirstHit + step; step * i <= step * iLastHit; i += step) {
124  const L1StsHit& hit = (*vStsHits)[hits[i]];
125  ista_prev = ista;
126  ista = GetFStation((*vSFlag)[hit.f]);
127 
128  L1Station& sta = vStations[ista];
129 
130  float z_sta = (*vStsZPos)[hit.iz];
131 
132  fvec dz = z_sta - T.z;
133 
134 #if defined(mCBM) || defined(GLOBAL)
135  L1ExtrapolateLine(T, (*vStsZPos)[hit.iz]);
136 #else
137  L1Extrapolate(T, (*vStsZPos)[hit.iz], qp0, fld);
138 #endif
139  L1ExtrapolateTime(T, dz);
140 
141  L1AddMaterial(T, sta.materialInfo, qp0);
142  if ((step * ista <= step * (NMvdStations + (step + 1) / 2 - 1))
143  && (step * ista_prev
144  >= step * (NMvdStations + (step + 1) / 2 - 1 - step)))
145  L1AddPipeMaterial(T, qp0);
146 
147  fvec u = static_cast<fscal>((*vStsStrips)[hit.f]);
148  fvec v = static_cast<fscal>((*vStsStripsB)[hit.b]);
149 
150  L1UMeasurementInfo info = sta.frontInfo;
151 
152 #ifdef HitErrors
153  info.sigma2 = hit.du * hit.du;
154 #endif
155  L1Filter(T, info, u);
156 
157  info = sta.backInfo;
158 
159 #ifdef HitErrors
160  info.sigma2 = hit.dv * hit.dv;
161 #endif
162  L1Filter(T, info, v);
163 
164  FilterTime(T, hit.t_reco, hit.t_er);
165 
166  fB0 = fB1;
167  fB1 = fB2;
168  fz0 = fz1;
169  fz1 = fz2;
170  fvec x, y;
171  StripsToCoor(u, v, x, y, sta);
172  sta.fieldSlice.GetFieldValue(x, y, fB2);
173 
174  fz2 = sta.z;
175  fld.Set(fB2, fz2, fB1, fz1, fB0, fz0);
176  } // i
177 
178 } // void L1Algo::BranchFitterFast
179 
182  L1TrackPar& T,
183  const bool dir,
184  const fvec qp0,
185  const bool initParams) {
186  BranchFitterFast(t, T, dir, qp0, initParams);
187  for (int i = 0; i < 1; i++) {
188  BranchFitterFast(t, T, !dir, T.qp, false);
189  BranchFitterFast(t, T, dir, T.qp, false);
190  }
191 } // void L1Algo::BranchFitter
192 
200  L1TrackPar& T,
201  const bool dir,
202  const fvec qp0) // TODO take into account pipe
203 {
204  std::vector<THitI> newHits;
205  newHits.clear();
206  newHits.reserve(5);
207 
208  const signed short int step =
209  -2 * static_cast<int>(dir) + 1; // increment for station index
210  const int iFirstHit = (dir) ? 2 : t.NHits - 3;
211  // int ista = GetFStation((*vSFlag)[(*vStsHits)[t.StsHits[iFirstHit]].f]) + 2*step; // current station. set to the end of track
212 
213  const L1StsHit& hit0 = (*vStsHits)[t.StsHits[iFirstHit]]; // optimize
214  const L1StsHit& hit1 = (*vStsHits)[t.StsHits[iFirstHit + step]];
215  const L1StsHit& hit2 = (*vStsHits)[t.StsHits[iFirstHit + 2 * step]];
216 
217  const int ista0 = GetFStation((*vSFlag)[hit0.f]);
218  const int ista1 = GetFStation((*vSFlag)[hit1.f]);
219  const int ista2 = GetFStation((*vSFlag)[hit2.f]);
220 
221  const L1Station& sta0 = vStations[ista0];
222  const L1Station& sta1 = vStations[ista1];
223  const L1Station& sta2 = vStations[ista2];
224 
225  fvec u0 = static_cast<fscal>((*vStsStrips)[hit0.f]);
226  fvec v0 = static_cast<fscal>((*vStsStripsB)[hit0.b]);
227  fvec x0, y0;
228 
229 
230  StripsToCoor(u0, v0, x0, y0, sta0);
231 
232 
233  fvec u1 = static_cast<fscal>((*vStsStrips)[hit1.f]);
234  fvec v1 = static_cast<fscal>((*vStsStripsB)[hit1.b]);
235  fvec x1, y1;
236  StripsToCoor(u1, v1, x1, y1, sta1);
237 
238 
239  fvec u2 = static_cast<fscal>((*vStsStrips)[hit2.f]);
240  fvec v2 = static_cast<fscal>((*vStsStripsB)[hit2.b]);
241  fvec x2, y2;
242  StripsToCoor(u2, v2, x2, y2, sta2);
243 
244 
245  L1FieldValue fB0, fB1, fB2 _fvecalignment;
247  fvec fz0 = sta1.z;
248  fvec fz1 = sta2.z;
249  fvec fz2 = sta0.z;
250 
251  sta1.fieldSlice.GetFieldValue(x1, y1, fB0);
252  sta2.fieldSlice.GetFieldValue(x2, y2, fB1);
253  sta0.fieldSlice.GetFieldValue(x0, y0, fB2);
254 
255  fld.Set(fB2, fz2, fB1, fz1, fB0, fz0);
256 
257  int ista =
258  ista2
259  + 2 * step; // skip one station. if there would be hit it has to be found on previous stap
260 
261  if (ista2 == FIRSTCASTATION) ista = ista2 + step;
262 
263  const fvec Pick_gather2 = Pick_gather * Pick_gather;
264 
265  for (; (ista < NStations) && (ista >= 0);
266  ista += step) { // CHECKME why ista2?
267 
268  L1Station& sta = vStations[ista];
269 
270  fvec dz = sta.z - T.z;
271 
272  L1ExtrapolateTime(T, dz);
273 
274 #if defined(mCBM) || defined(GLOBAL)
275  L1ExtrapolateLine(T, sta.z);
276 #else
277  L1Extrapolate(T, sta.z, qp0, fld);
278 #endif
279 
280  fscal r2_best = 1e8; // best distance to hit
281  int iHit_best = -1; // index of the best hit
282 
283  const fscal iz = 1 / T.z[0];
284 
285 
286  L1HitAreaTime area(
287  vGridTime[ista],
288  T.x[0] * iz,
289  T.y[0] * iz,
290  (sqrt(Pick_gather * (T.C00 + sta.XYInfo.C00)) + MaxDZ * fabs(T.tx))[0]
291  * iz,
292  (sqrt(Pick_gather * (T.C11 + sta.XYInfo.C11)) + MaxDZ * fabs(T.ty))[0]
293  * iz,
294  T.t[0],
295  sqrt(T.C55[0]));
296 
297  THitI ih = 0;
298  while (area.GetNext(ih)) {
299 
300  ih += StsHitsUnusedStartIndex[ista];
301  const L1StsHit& hit = (*vStsHitsUnused)[ih];
302  if (fabs(hit.t_reco - T.t[0]) > sqrt(T.C55[0] + hit.t_er) * 5) continue;
303 
304  if (GetFUsed((*vSFlag)[hit.f] | (*vSFlagB)[hit.b])) continue; // if used
305 
306  fscal xh, yh, zh;
307  GetHitCoor(hit, xh, yh, zh, sta); // faster
308 
309  fvec y, C11;
310  L1ExtrapolateYC11Line(T, zh, y, C11);
311 
312  // fscal dym_est = ( Pick_gather*sqrt(fabs(C11[0]+sta.XYInfo.C11[0])) );
313  // fscal y_minus_new = y[0] - dym_est;
314  // if (yh < y_minus_new) continue; // CHECKME take into account overlaping?
315 
316  fvec x, C00;
317  L1ExtrapolateXC00Line(T, zh, x, C00);
318 
319  fscal d_x = xh - x[0];
320  fscal d_y = yh - y[0];
321  fscal d2 = d_x * d_x + d_y * d_y;
322  if (d2 > r2_best) continue;
323 
324  fscal dxm_est2 = (Pick_gather2 * (fabs(C00 + sta.XYInfo.C00)))[0];
325  if (d_x * d_x > dxm_est2) continue;
326 
327  r2_best = d2;
328  iHit_best = ih;
329  }
330  if (iHit_best < 0) break;
331 
332  newHits.push_back((*RealIHitP)[iHit_best]);
333 
334  const L1StsHit& hit = (*vStsHitsUnused)[iHit_best];
335  fvec u = static_cast<fvec>((*vStsStrips)[hit.f]);
336  fvec v = static_cast<fvec>((*vStsStripsB)[hit.b]);
337  fvec x, y, z;
338  StripsToCoor(u, v, x, y, sta);
339  z = (*vStsZPos)[hit.iz];
340 
341  fvec dz1 = z - T.z;
342 
343  L1ExtrapolateTime(T, dz1);
344 
345  L1ExtrapolateLine(T, z);
346  L1AddMaterial(T, sta.materialInfo, qp0);
347 
348  L1UMeasurementInfo info = sta.frontInfo;
349 
350 #ifdef HitErrors
351  info.sigma2 = hit.du * hit.du;
352 #endif
353  L1Filter(T, info, u);
354 
355  info = sta.backInfo;
356 
357 #ifdef HitErrors
358  info.sigma2 = hit.dv * hit.dv;
359 #endif
360  L1Filter(T, info, v);
361 
362  FilterTime(T, hit.t_reco, hit.t_er);
363 
364  fB0 = fB1;
365  fB1 = fB2;
366  fz0 = fz1;
367  fz1 = fz2;
368  sta.fieldSlice.GetFieldValue(x, y, fB2);
369  fz2 = sta.z;
370  fld.Set(fB2, fz2, fB1, fz1, fB0, fz0);
371  }
372 
373  // save hits
374  if (dir) { // backward
375  const unsigned int NOldHits = t.NHits;
376  const unsigned int NNewHits = newHits.size();
377  // t.StsHits.resize(NNewHits + NOldHits);
378  t.NHits = (NNewHits + NOldHits);
379  for (int i = NOldHits - 1; i >= 0; i--) {
380  t.StsHits[NNewHits + i] = t.StsHits[i];
381  }
382  for (unsigned int i = 0, ii = NNewHits - 1; i < NNewHits; i++, ii--) {
383  t.StsHits[i] = newHits[ii];
384  }
385  } else { // forward
386  const unsigned int NOldHits = t.NHits;
387  t.NHits = (newHits.size() + NOldHits);
388  for (unsigned int i = 0; i < newHits.size(); i++) {
389  t.StsHits[NOldHits + i] = (newHits[i]);
390  }
391  }
392 
393 } // void L1Algo::FindMoreHits
394 
397 {
398  // const unsigned int minNHits = 3;
399 
400  L1TrackPar T;
401 
402  // forward
403  bool dir = 0;
404 
405  BranchFitter(t, T, dir);
406  // BranchFitterFast (t, T, dir, 0, true);
407 
408  // if (t.NHits < minNHits) return T.chi2[0];
409  FindMoreHits(t, T, dir, T.qp);
410 
411  // backward
412  dir = 1;
413  BranchFitterFast(t, T, dir, T.qp, false); // 577
414 
415 
416  FindMoreHits(t, T, dir, T.qp);
417 
418  return T.chi2[0];
419 }
L1Algo::vStsZPos
const vector< fscal > * vStsZPos
Definition: L1Algo.h:342
L1ExtrapolateLine
void L1ExtrapolateLine(L1TrackPar &T, fvec z_out)
Definition: L1Extrapolation.h:814
L1TrackPar::C54
fvec C54
Definition: L1TrackPar.h:10
L1Algo::vStsHits
const vector< L1StsHit > * vStsHits
Definition: L1Algo.h:344
L1TrackPar::C10
fvec C10
Definition: L1TrackPar.h:9
fscal
float fscal
Definition: L1/vectors/P4_F32vec4.h:250
L1TrackPar::qp
fvec qp
Definition: L1TrackPar.h:9
L1TrackPar::t
fvec t
Definition: L1TrackPar.h:9
L1Algo::vGridTime
L1Grid vGridTime[MaxNStations]
Definition: L1Algo.h:347
L1Algo.h
L1TrackPar::C20
fvec C20
Definition: L1TrackPar.h:9
F32vec4
Definition: L1/vectors/P4_F32vec4.h:47
L1Station::materialInfo
L1MaterialInfo materialInfo
Definition: L1Station.h:29
L1Algo::FindMoreHits
void FindMoreHits(L1Branch &t, L1TrackPar &T, const bool dir, const fvec qp0=0.0)
Definition: L1TrackExtender.cxx:199
L1XYMeasurementInfo::C11
fvec C11
Definition: L1XYMeasurementInfo.h:11
L1XYMeasurementInfo::C10
fvec C10
Definition: L1XYMeasurementInfo.h:11
L1TrackPar::C41
fvec C41
Definition: L1TrackPar.h:10
L1Algo::StripsToCoor
void StripsToCoor(const fscal &u, const fscal &v, fscal &x, fscal &y, const L1Station &sta) const
Definition: L1Algo.cxx:249
L1TrackPar::C51
fvec C51
Definition: L1TrackPar.h:10
L1Station
Definition: L1Station.h:9
L1Station::fieldSlice
L1FieldSlice fieldSlice
Definition: L1Station.h:30
sqrt
friend F32vec4 sqrt(const F32vec4 &a)
Definition: L1/vectors/P4_F32vec4.h:41
L1TrackPar::C30
fvec C30
Definition: L1TrackPar.h:9
L1TrackPar::C31
fvec C31
Definition: L1TrackPar.h:9
L1Algo::Pick_gather
float Pick_gather
parameters which are different for different iterations. Set in the begin of CAL1TrackFinder
Definition: L1Algo.h:922
L1TrackPar::C53
fvec C53
Definition: L1TrackPar.h:10
FilterTime
void FilterTime(L1TrackPar &T, fvec t0, fvec dt0, fvec w=1.)
Definition: L1Filtration.h:13
L1Extrapolate
void L1Extrapolate(L1TrackPar &T, fvec z_out, fvec qp0, const L1FieldRegion &F, fvec *w=0)
Definition: L1Extrapolation.h:314
L1Branch::StsHits
L1Vector< THitI > StsHits
Definition: L1Branch.h:50
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
L1TrackPar::C42
fvec C42
Definition: L1TrackPar.h:10
L1Algo::MaxDZ
fvec MaxDZ
Definition: L1Algo.h:918
L1HitAreaTime::GetNext
bool GetNext(THitI &i)
Definition: L1HitArea.h:194
L1Station::backInfo
L1UMeasurementInfo backInfo
Definition: L1Station.h:31
L1TrackPar::z
fvec z
Definition: L1TrackPar.h:9
L1UMeasurementInfo::sigma2
fvec sigma2
Definition: L1UMeasurementInfo.h:12
L1StsHit
Definition: L1StsHit.h:12
L1Algo::StsHitsUnusedStartIndex
THitI StsHitsUnusedStartIndex[MaxNStations+1]
Definition: L1Algo.h:426
L1StsHit::t_er
float t_er
Definition: L1StsHit.h:18
L1TrackPar::ty
fvec ty
Definition: L1TrackPar.h:9
L1TrackPar::C32
fvec C32
Definition: L1TrackPar.h:9
L1AddMaterial
void L1AddMaterial(L1TrackPar &T, fvec radThick, fvec qp0, fvec w=1, fvec mass2=0.10565f *0.10565f)
Definition: L1AddMaterial.h:559
L1HitArea.h
L1Track.h
L1StsHit::b
TStripI b
Definition: L1StsHit.h:15
L1Algo::BranchExtender
fscal BranchExtender(L1Branch &t)
Try to extrapolate and find additional hits on other stations.
Definition: L1TrackExtender.cxx:396
L1TrackPar::y
fvec y
Definition: L1TrackPar.h:9
L1StsHit::du
float du
Definition: L1StsHit.h:16
L1ExtrapolateTime
void L1ExtrapolateTime(L1TrackPar &T, fvec dz)
Definition: L1Extrapolation.h:781
L1_assert
#define L1_assert(v)
Definition: CbmL1Def.h:56
THitI
unsigned int THitI
Definition: L1StsHit.h:8
L1Algo::vSFlagB
const vector< unsigned char > * vSFlagB
Definition: L1Algo.h:351
L1Algo::NStations
int NStations
Definition: L1Algo.h:333
L1TrackPar::C44
fvec C44
Definition: L1TrackPar.h:10
L1Branch::NHits
char NHits
Definition: L1Branch.h:44
L1FieldRegion
Definition: L1Field.h:85
L1Station::z
fvec z
Definition: L1Station.h:28
L1AddPipeMaterial
void L1AddPipeMaterial(L1TrackPar &T, fvec qp0, fvec w=1, fvec mass2=0.10565f *0.10565f)
Definition: L1AddMaterial.h:737
L1TrackPar::chi2
fvec chi2
Definition: L1TrackPar.h:10
L1ExtrapolateXC00Line
void L1ExtrapolateXC00Line(const L1TrackPar &T, fvec z_out, fvec &x, fvec &C00)
Definition: L1Extrapolation.h:842
L1Filter
void L1Filter(L1TrackPar &T, L1UMeasurementInfo &info, fvec u, fvec w=1.)
Definition: L1Filtration.h:80
L1TrackPar::NDF
fvec NDF
Definition: L1TrackPar.h:10
L1StsHit::dv
float dv
Definition: L1StsHit.h:16
L1ExtrapolateYC11Line
void L1ExtrapolateYC11Line(const L1TrackPar &T, fvec z_out, fvec &y, fvec &C11)
Definition: L1Extrapolation.h:849
L1TrackPar::tx
fvec tx
Definition: L1TrackPar.h:9
L1TrackPar.h
L1HitPoint.h
L1TrackPar::C50
fvec C50
Definition: L1TrackPar.h:10
L1HitAreaTime
Definition: L1HitArea.h:104
L1TrackPar::C21
fvec C21
Definition: L1TrackPar.h:9
L1Algo::vSFlag
const vector< unsigned char > * vSFlag
Definition: L1Algo.h:350
L1Branch
Definition: L1Branch.h:27
L1Algo::BranchFitter
void BranchFitter(const L1Branch &t, L1TrackPar &T, const bool dir, const fvec qp0=0., const bool initParams=true)
Fit track. more precise than FitterFast.
Definition: L1TrackExtender.cxx:181
L1TrackPar::x
fvec x
Definition: L1TrackPar.h:9
L1TrackPar::C00
fvec C00
Definition: L1TrackPar.h:9
L1StsHit::t_reco
float t_reco
Definition: L1StsHit.h:17
L1Algo::FIRSTCASTATION
Tindex FIRSTCASTATION
================================= DATA PART =================================
Definition: L1Algo.h:865
L1FieldSlice::GetFieldValue
void GetFieldValue(const fvec &x, const fvec &y, L1FieldValue &B) const
Definition: L1Field.h:41
L1Extrapolation.h
L1UMeasurementInfo
Definition: L1UMeasurementInfo.h:7
L1TrackPar::C33
fvec C33
Definition: L1TrackPar.h:9
L1TrackPar::C52
fvec C52
Definition: L1TrackPar.h:10
L1Algo::RealIHitP
vector< THitI > * RealIHitP
Definition: L1Algo.h:422
L1Algo::NMvdStations
int NMvdStations
Definition: L1Algo.h:334
v
__m128 v
Definition: L1/vectors/P4_F32vec4.h:1
L1Algo::_fvecalignment
L1Station vStations[MaxNStations] _fvecalignment
Definition: L1Algo.h:336
L1AddMaterial.h
x
Double_t x
Definition: CbmMvdSensorDigiToHitTask.cxx:68
L1TrackPar
Definition: L1TrackPar.h:6
fabs
friend F32vec4 fabs(const F32vec4 &a)
Definition: L1/vectors/P4_F32vec4.h:60
L1TrackPar::C55
fvec C55
Definition: L1TrackPar.h:10
y
Double_t y
Definition: CbmMvdSensorDigiToHitTask.cxx:68
L1TrackPar::C40
fvec C40
Definition: L1TrackPar.h:10
NS_L1TrackFitter::vINF
const fvec vINF
Definition: L1TrackFitter.cxx:34
hits
static vector< vector< QAHit > > hits
Definition: CbmTofHitFinderTBQA.cxx:114
L1TrackPar::C11
fvec C11
Definition: L1TrackPar.h:9
L1Branch.h
z1
Double_t z1[nSects1]
Definition: pipe_v16a_mvdsts100.h:6
L1TrackPar::C43
fvec C43
Definition: L1TrackPar.h:10
L1Algo::GetHitCoor
void GetHitCoor(const L1StsHit &_h, fscal &_x, fscal &_y, fscal &_z, const L1Station &sta)
--— Hit-point-strips conversion routines ---—
Definition: L1Algo.cxx:235
L1FieldValue
Definition: L1Field.h:11
L1XYMeasurementInfo::C00
fvec C00
Definition: L1XYMeasurementInfo.h:11
L1StsHit::f
TStripI f
Definition: L1StsHit.h:15
L1StsHit::iz
TZPosI iz
Definition: L1StsHit.h:24
L1Filtration.h
L1Station::frontInfo
L1UMeasurementInfo frontInfo
Definition: L1Station.h:31
L1Algo::BranchFitterFast
void BranchFitterFast(const L1Branch &t, L1TrackPar &T, const bool dir, const fvec qp0=0., const bool initParams=true)
Definition: L1TrackExtender.cxx:25
L1TrackPar::C22
fvec C22
Definition: L1TrackPar.h:9
L1Station::XYInfo
L1XYMeasurementInfo XYInfo
Definition: L1Station.h:32