CMS 3D CMS Logo

TTTrack_TrackWord.cc
Go to the documentation of this file.
1 //
3 // class to store the 96-bit track word produced by the L1 Track Trigger. Intended to be inherited by L1 TTTrack.
4 // packing scheme given below.
5 //
6 // author: Mike Hildreth
7 // date: April 9, 2019
8 //
10 
12 #include <iostream>
13 #include <bitset>
14 #include <string>
15 
16 //Constructor - turn track parameters into 96-bit word
17 
19  const GlobalPoint& POCA,
20  double theRinv,
21  double theChi2XY,
22  double theChi2Z,
23  double theBendChi2,
24  unsigned int theHitPattern,
25  unsigned int iSpare) {
26  setTrackWord(Momentum, POCA, theRinv, theChi2XY, theChi2Z, theBendChi2, theHitPattern, iSpare);
27 }
28 
30  unsigned int phi0,
31  unsigned int tanl,
32  unsigned int z0,
33  unsigned int d0,
34  unsigned int theChi2XY,
35  unsigned int theChi2Z,
36  unsigned int theBendChi2,
37  unsigned int theHitPattern,
38  unsigned int iSpare)
39  : iRinv(theRinv),
40  iphi(phi0),
41  itanl(tanl),
42  iz0(z0),
43  id0(d0),
44  ichi2XY(theChi2XY), //revert to other packing? Or will be unpacked wrong
45  ichi2Z(theChi2Z), //revert to other packing? Or will be unpacked wrong
46  iBendChi2(theBendChi2), // revert to ogher packing? Or will be unpacked wrong
47  ispare(iSpare),
48  iHitPattern(theHitPattern) {
49  initialize();
50 }
51 
52 // one for already-digitized values:
53 
54 void TTTrack_TrackWord::setTrackWord(unsigned int theRinv,
55  unsigned int phi0,
56  unsigned int tanl,
57  unsigned int z0,
58  unsigned int d0,
59  unsigned int theChi2XY,
60  unsigned int theChi2Z,
61  unsigned int theBendChi2,
62  unsigned int theHitPattern,
63  unsigned int iSpare) {
64  iRinv = theRinv;
65  iphi = phi0;
66  itanl = tanl;
67  iz0 = z0;
68  id0 = d0;
69  ichi2XY = theChi2XY; //revert to other packing? Or will be unpacked wrong
70  ichi2Z = theChi2Z; //revert to other packing? Or will be unpacked wrong
71  iBendChi2 = theBendChi2; // revert to ogher packing? Or will be unpacked wrong
72  ispare = iSpare;
73  iHitPattern = theHitPattern;
74 
75  initialize();
76 }
77 
78 // one for floats:
80  const GlobalPoint& POCA,
81  double theRinv,
82  double theChi2XY,
83  double theChi2Z,
84  double theBendChi2,
85  unsigned int theHitPattern,
86  unsigned int iSpare) {
87  initialize();
88 
89  // first, derive quantities to be packed
90 
91  float rPhi = Momentum.phi(); // this needs to be phi relative to center of sector ****
92  float rTanl = Momentum.z() / Momentum.perp();
93  float rZ0 = POCA.z();
94  float rD0 = POCA.perp();
95 
96  // bin, convert to integers, and pack
97 
98  unsigned int seg1, seg2, seg3, seg4;
99 
100  //tanl
102 
103  //z0
104  iz0 = digitize_Signed(rZ0, NZ0Bits, 0, valLSBZ0);
105 
106  //chi2 has non-linear bins
107  ichi2XY = 0;
108  for (unsigned int ibin = 0; ibin < Nchi2; ++ibin) {
109  ichi2XY = ibin;
110  if (theChi2XY < chi2Bins[ibin])
111  break;
112  }
113 
114  //chi2Z has non-linear bins
115  ichi2Z = 0;
116  for (unsigned int ibin = 0; ibin < Nchi2; ++ibin) {
117  ichi2Z = ibin;
118  if (theChi2Z < chi2ZBins[ibin])
119  break;
120  }
121 
122  //phi
123  iphi = digitize_Signed(rPhi, NPhiBits, 0, valLSBPhi);
124 
125  //d0
126  id0 = digitize_Signed(rD0, ND0Bits, 0, valLSBD0);
127 
128  //Rinv
129  iRinv = digitize_Signed(theRinv, NCurvBits, 0, valLSBCurv);
130 
131  //bend chi2 - non-linear bins
132  iBendChi2 = 0;
133  for (unsigned int ibin = 0; ibin < NBchi2; ++ibin) {
134  iBendChi2 = ibin;
135  if (theBendChi2 < Bchi2Bins[ibin])
136  break;
137  }
138 
139  ispare = iSpare;
140 
141  // spare bits
142  if (ispare > 0x3FFF)
143  ispare = 0x3FFF;
144 
145  iHitPattern = theHitPattern;
146 
147  //set bits
148  /*
149  Current packing scheme. Any changes here ripple everywhere!
150 
151  uint word1 = 16 (tanl) + 12 (z0) + 4 (chi2) = 32 bits
152  uint word2 = 12 (phi) + 13 (d0) + 7 (hitPattern) = 32 bits
153  uint word3 = 15 (pT) + 3 (bend chi2) + 14 (spare/TMVA) = 32 bits
154  */
155 
156  //now pack bits; leave hardcoded for now as am example of how this could work
157 
158  seg1 = (itanl << (nWordBits - (NTanlBits + 1))); // extra bit or bits is for sign //16
159  seg2 = (iz0 << (nWordBits - (NTanlBits + NZ0Bits + 2))); //4
160  seg3 = ichi2XY;
161 
162  //set bits
163 
164  TrackWord1 = seg1 + seg2 + seg3;
165 
166  //second 32-bit word
167 
168  seg1 = (iphi << (nWordBits - (NPhiBits + 1))); //20
169  seg2 = (id0 << (nWordBits - (NPhiBits + ND0Bits + 2))); //7
170 
171  //HitMask
172  seg3 = theHitPattern;
173 
174  //set bits
175 
176  TrackWord2 = seg1 + seg2 + seg3;
177 
178  //third 32-bit word
179 
180  seg1 = (iRinv << (nWordBits - (NCurvBits + 1))); //17
181  seg2 = (iBendChi2 << (nWordBits - (NCurvBits + NBChi2Bits + 1))); //14
182  seg3 = (ichi2Z << (nWordBits - (NCurvBits + NBChi2Bits + NChi2Bits + 1))); //10
183  seg4 = ispare;
184 
185  TrackWord3 = seg1 + seg2 + seg3 + seg4;
186 }
187 // unpack
188 
190  unsigned int bits = (TrackWord1 & maskTanL) >> (nWordBits - (NTanlBits + 1)); //16
191  float unpTanl = unpack_Signed(bits, NTanlBits, valLSBTanl);
192  return unpTanl;
193 }
194 
196  float unpTanl = unpack_Signed(itanl, NTanlBits, valLSBTanl);
197  return unpTanl;
198 }
199 
201  //unsigned int bits = (TrackWord1 & 0xFFFF0000) >> 16;
202  return itanl;
203 }
204 
206  unsigned int bits = (TrackWord1 & maskZ0) >> (nWordBits - (NTanlBits + NZ0Bits + 2)); //4
207  float unpZ0 = unpack_Signed(bits, NZ0Bits, valLSBZ0);
208  return unpZ0;
209 }
210 
212  float unpZ0 = unpack_Signed(iz0, NZ0Bits, valLSBZ0);
213  return unpZ0;
214 }
215 
217  //unsigned int bits = (TrackWord1 & 0x0000FFF0) >> 4;
218  return iz0;
219 }
220 
222  unsigned int bits = (TrackWord1 & maskChi2XY);
223  float unpChi2 = chi2Bins[bits];
224  return unpChi2;
225 }
226 
228  float unpChi2 = chi2Bins[ichi2XY];
229  return unpChi2;
230 }
231 
233  //unsigned int bits = (TrackWord1 & 0x0000000F);
234  return ichi2XY;
235 }
236 
238  unsigned int bits = (TrackWord2 & maskPhi) >> (nWordBits - (NPhiBits + 1)); //20
239  float unpPhi = unpack_Signed(bits, NPhiBits, valLSBPhi);
240  return unpPhi;
241 }
242 
244  float unpPhi = unpack_Signed(iphi, NPhiBits, valLSBPhi);
245  return unpPhi;
246 }
247 
249  //unsigned int bits = (TrackWord2 & 0xFFF00000) >> 20;
250  return iphi;
251 }
252 
254  unsigned int bits = (TrackWord2 & maskD0) >> (nWordBits - (NPhiBits + ND0Bits + 2)); //7
255  float unpD0 = unpack_Signed(bits, ND0Bits, valLSBD0);
256  return unpD0;
257 }
258 
260  float unpD0 = unpack_Signed(id0, ND0Bits, valLSBD0);
261  return unpD0;
262 }
263 
265  // unsigned int bits = (TrackWord2 & 0x000FFF80) >> 7;
266  return id0;
267 }
268 
270  unsigned int bits = (TrackWord2 & maskHitPat);
271  return bits;
272 }
273 
275 
277  unsigned int bits = (TrackWord3 & maskRinv) >> (nWordBits - (NCurvBits + 1)); //17
278  float unpCurv = unpack_Signed(bits, NCurvBits, valLSBCurv);
279  return unpCurv;
280 }
281 
283  float unpCurv = unpack_Signed(iRinv, NCurvBits, valLSBCurv);
284  return unpCurv;
285 }
286 
288  unsigned int bits = (TrackWord3 & maskBendChi2) >> (nWordBits - (NCurvBits + NBChi2Bits + 1)); //14
289  float unpBChi2 = Bchi2Bins[bits];
290  return unpBChi2;
291 }
292 
294  float unpBChi2 = Bchi2Bins[iBendChi2];
295  return unpBChi2;
296 }
297 
299  unsigned int bits = (TrackWord3 & maskBendChi2) >> (nWordBits - (NCurvBits + NBChi2Bits + 1)); //14
300  return bits;
301 }
302 
304  unsigned int bits = (TrackWord3 & maskChi2Z) >> (nWordBits - (NCurvBits + NBChi2Bits + NChi2Bits + 1)); //10
305  float unpChi2Z = chi2ZBins[bits];
306  return unpChi2Z;
307 }
308 
310  float unpChi2Z = chi2ZBins[ichi2Z];
311  return unpChi2Z;
312 }
313 
315  unsigned int bits = (TrackWord3 & maskSpare);
316  return bits;
317 }
318 
319 unsigned int TTTrack_TrackWord::get_ispare() { return ispare; }
320 
321 unsigned int TTTrack_TrackWord::digitize_Signed(float var, unsigned int maxBit, unsigned int minBit, float lsb) {
322  unsigned int nBits = (maxBit - minBit + 1);
323  unsigned int myVar = std::floor(fabs(var) / lsb);
324  unsigned int maxVal = (1 << (nBits - 1)) - 1;
325  if (myVar > maxVal)
326  myVar = maxVal;
327  if (var < 0)
328  myVar = (1 << nBits) - myVar; // two's complement encoding
329  unsigned int seg = myVar;
330  return seg;
331 }
332 
333 float TTTrack_TrackWord::unpack_Signed(unsigned int bits, unsigned int nBits, float lsb) {
334  int isign = 1;
335  unsigned int maxVal = (1 << nBits) - 1;
336  if (bits & (1 << nBits)) { //check sign
337  isign = -1;
338  bits = (1 << (nBits + 1)) - bits; // if negative, flip everything for two's complement encoding
339  }
340  float unpacked = (float(bits & maxVal) + 0.5) * lsb;
341  unpacked = isign * unpacked;
342  return unpacked;
343 }
344 
346  /* bits for packing, constants defined in TTTrack_TrackWord.h :
347 
348  signed quantities (one bit for sign):
349 
350  q/R = 14+1
351  phi = 11+1 (relative to sector center)
352  tanl = 15+1
353  z0 = 11+1
354  d0 = 12+1
355 
356  unsigned:
357 
358  chi2 = 4
359  BendChi2 = 3
360  hitPattern = 7
361  Spare = 10
362  chi2Z = 4
363 
364  */
365 
366  // define bits, 1<<N = 2^N
367 
368  unsigned int CurvBins = (1 << NCurvBits);
369  unsigned int phiBins = (1 << NPhiBits);
370  unsigned int tanlBins = (1 << NTanlBits);
371  unsigned int z0Bins = (1 << NZ0Bits);
372  unsigned int d0Bins = (1 << ND0Bits);
373 
374  Nchi2 = (1 << NChi2Bits);
375  NBchi2 = (1 << NBChi2Bits);
376 
377  valLSBCurv = maxCurv / float(CurvBins);
378  valLSBPhi = maxPhi / float(phiBins);
379  valLSBTanl = maxTanl / float(tanlBins);
380  valLSBZ0 = maxZ0 / float(z0Bins);
381  valLSBD0 = maxD0 / float(d0Bins);
382 
383  chi2Bins[0] = 0.25;
384  chi2Bins[1] = 0.5;
385  chi2Bins[2] = 1.0;
386  chi2Bins[3] = 2.;
387  chi2Bins[4] = 3.;
388  chi2Bins[5] = 5.;
389  chi2Bins[6] = 7.;
390  chi2Bins[7] = 10.;
391  chi2Bins[8] = 20.;
392  chi2Bins[9] = 40.;
393  chi2Bins[10] = 100.;
394  chi2Bins[11] = 200.;
395  chi2Bins[12] = 500.;
396  chi2Bins[13] = 1000.;
397  chi2Bins[14] = 3000.;
398 
399  chi2ZBins[0] = 0.25;
400  chi2ZBins[1] = 0.5;
401  chi2ZBins[2] = 1.0;
402  chi2ZBins[3] = 2.;
403  chi2ZBins[4] = 3.;
404  chi2ZBins[5] = 5.;
405  chi2ZBins[6] = 7.;
406  chi2ZBins[7] = 10.;
407  chi2ZBins[8] = 20.;
408  chi2ZBins[9] = 40.;
409  chi2ZBins[10] = 100.;
410  chi2ZBins[11] = 200.;
411  chi2ZBins[12] = 500.;
412  chi2ZBins[13] = 1000.;
413  chi2ZBins[14] = 3000.;
414 
415  Bchi2Bins[0] = 0.5;
416  Bchi2Bins[1] = 1.25;
417  Bchi2Bins[2] = 2.0;
418  Bchi2Bins[3] = 3.0;
419  Bchi2Bins[4] = 5.0;
420  Bchi2Bins[5] = 10.;
421  Bchi2Bins[6] = 50.;
422 };
Vector3DBase
Definition: Vector3DBase.h:8
TTTrack_TrackWord::TrackWord3
unsigned int TrackWord3
Definition: TTTrack_TrackWord.h:171
TTTrack_TrackWord::TrackWord1
unsigned int TrackWord1
Definition: TTTrack_TrackWord.h:169
TTTrack_TrackWord::get_id0
float get_id0()
Definition: TTTrack_TrackWord.cc:259
TTTrack_TrackWord::get_hitPattern
unsigned int get_hitPattern()
Definition: TTTrack_TrackWord.cc:274
TTTrack_TrackWord::TrackWord2
unsigned int TrackWord2
Definition: TTTrack_TrackWord.h:170
TTTrack_TrackWord::get_ispare
unsigned int get_ispare()
Definition: TTTrack_TrackWord.cc:319
TTTrack_TrackWord::NCurvBits
const unsigned int NCurvBits
Definition: TTTrack_TrackWord.h:207
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
TTTrack_TrackWord::NBchi2
unsigned int NBchi2
Definition: TTTrack_TrackWord.h:186
TTTrack_TrackWord::valLSBPhi
float valLSBPhi
Definition: TTTrack_TrackWord.h:176
TTTrack_TrackWord::unpack_Signed
float unpack_Signed(unsigned int bits, unsigned int nBits, float lsb)
Definition: TTTrack_TrackWord.cc:333
TTTrack_TrackWord::valLSBCurv
float valLSBCurv
Definition: TTTrack_TrackWord.h:175
TTTrack_TrackWord::valLSBTanl
float valLSBTanl
Definition: TTTrack_TrackWord.h:177
TTTrack_TrackWord::unpack_iBendChi2
float unpack_iBendChi2()
Definition: TTTrack_TrackWord.cc:287
TTTrack_TrackWord::maskBendChi2
const unsigned int maskBendChi2
Definition: TTTrack_TrackWord.h:236
TTTrack_TrackWord::initialize
void initialize()
Definition: TTTrack_TrackWord.cc:345
TTTrack_TrackWord::valLSBD0
float valLSBD0
Definition: TTTrack_TrackWord.h:179
TTTrack_TrackWord::setTrackWord
void setTrackWord(const GlobalVector &Momentum, const GlobalPoint &POCA, double Rinv, double Chi2XY, double Chi2Z, double BendChi2, unsigned int HitPattern, unsigned int iSpare)
Definition: TTTrack_TrackWord.cc:79
TTTrack_TrackWord::maxD0
const float maxD0
Definition: TTTrack_TrackWord.h:224
TTTrack_TrackWord::get_z0Bits
unsigned int get_z0Bits()
Definition: TTTrack_TrackWord.cc:216
TTTrack_TrackWord::get_iRinv
float get_iRinv()
Definition: TTTrack_TrackWord.cc:282
TTTrack_TrackWord::get_d0Bits
unsigned int get_d0Bits()
Definition: TTTrack_TrackWord.cc:264
TTTrack_TrackWord.h
hgcalVFEProducer_cfi.lsb
lsb
Definition: hgcalVFEProducer_cfi.py:80
TTTrack_TrackWord::ichi2Z
unsigned int ichi2Z
Definition: TTTrack_TrackWord.h:162
TTTrack_TrackWord::maxTanl
const float maxTanl
Definition: TTTrack_TrackWord.h:222
TTTrack_TrackWord::valLSBZ0
float valLSBZ0
Definition: TTTrack_TrackWord.h:178
TTTrack_TrackWord::unpack_id0
float unpack_id0()
Definition: TTTrack_TrackWord.cc:253
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
trigObjTnPSource_cfi.var
var
Definition: trigObjTnPSource_cfi.py:21
TTTrack_TrackWord::maskChi2Z
const unsigned int maskChi2Z
Definition: TTTrack_TrackWord.h:235
TTTrack_TrackWord::unpack_ichi2Z
float unpack_ichi2Z()
Definition: TTTrack_TrackWord.cc:303
TTTrack_TrackWord::get_ichi2XY
float get_ichi2XY()
Definition: TTTrack_TrackWord.cc:227
TTTrack_TrackWord::get_phiBits
unsigned int get_phiBits()
Definition: TTTrack_TrackWord.cc:248
TTTrack_TrackWord::maxCurv
const float maxCurv
Definition: TTTrack_TrackWord.h:220
TTTrack_TrackWord::id0
unsigned int id0
Definition: TTTrack_TrackWord.h:160
TTTrack_TrackWord::NTanlBits
const unsigned int NTanlBits
Definition: TTTrack_TrackWord.h:209
TTTrack_TrackWord::nWordBits
const unsigned int nWordBits
Definition: TTTrack_TrackWord.h:240
TTTrack_TrackWord::NChi2Bits
const unsigned int NChi2Bits
Definition: TTTrack_TrackWord.h:214
TTTrack_TrackWord::iBendChi2
unsigned int iBendChi2
Definition: TTTrack_TrackWord.h:163
TTTrack_TrackWord::chi2Bins
float chi2Bins[16]
Definition: TTTrack_TrackWord.h:181
TTTrack_TrackWord::NZ0Bits
const unsigned int NZ0Bits
Definition: TTTrack_TrackWord.h:210
TTTrack_TrackWord::iz0
unsigned int iz0
Definition: TTTrack_TrackWord.h:159
TTTrack_TrackWord::maskZ0
const unsigned int maskZ0
Definition: TTTrack_TrackWord.h:233
HLTMuonOfflineAnalyzer_cfi.z0
z0
Definition: HLTMuonOfflineAnalyzer_cfi.py:98
Point3DBase< float, GlobalTag >
TTTrack_TrackWord::get_iz0
float get_iz0()
Definition: TTTrack_TrackWord.cc:211
TTTrack_TrackWord::maxPhi
const float maxPhi
Definition: TTTrack_TrackWord.h:221
TTTrack_TrackWord::get_itanl
float get_itanl()
Definition: TTTrack_TrackWord.cc:195
TTTrack_TrackWord::unpack_ispare
unsigned int unpack_ispare()
Definition: TTTrack_TrackWord.cc:314
TTTrack_TrackWord::unpack_iz0
float unpack_iz0()
Definition: TTTrack_TrackWord.cc:205
TTTrack_TrackWord::unpack_itanl
float unpack_itanl()
Definition: TTTrack_TrackWord.cc:189
TTTrack_TrackWord::NPhiBits
const unsigned int NPhiBits
Definition: TTTrack_TrackWord.h:208
TTTrack_TrackWord::unpack_ichi2XY
float unpack_ichi2XY()
Definition: TTTrack_TrackWord.cc:221
TTTrack_TrackWord::get_chi2XYBits
unsigned int get_chi2XYBits()
Definition: TTTrack_TrackWord.cc:232
TTTrack_TrackWord::TTTrack_TrackWord
TTTrack_TrackWord()
Definition: TTTrack_TrackWord.h:23
TTTrack_TrackWord::maskSpare
const unsigned int maskSpare
Definition: TTTrack_TrackWord.h:238
TTTrack_TrackWord::Bchi2Bins
float Bchi2Bins[8]
Definition: TTTrack_TrackWord.h:183
TTTrack_TrackWord::get_iphi
float get_iphi()
Definition: TTTrack_TrackWord.cc:243
TTTrack_TrackWord::maskTanL
const unsigned int maskTanL
Definition: TTTrack_TrackWord.h:231
TTTrack_TrackWord::NBChi2Bits
const unsigned int NBChi2Bits
Definition: TTTrack_TrackWord.h:215
TTTrack_TrackWord::iHitPattern
unsigned int iHitPattern
Definition: TTTrack_TrackWord.h:165
TTTrack_TrackWord::maskPhi
const unsigned int maskPhi
Definition: TTTrack_TrackWord.h:230
TTTrack_TrackWord::digitize_Signed
unsigned int digitize_Signed(float var, unsigned int maxBit, unsigned int minBit, float lsb)
Definition: TTTrack_TrackWord.cc:321
TTTrack_TrackWord::iphi
unsigned int iphi
Definition: TTTrack_TrackWord.h:157
TTTrack_TrackWord::maxZ0
const float maxZ0
Definition: TTTrack_TrackWord.h:223
TTTrack_TrackWord::Nchi2
unsigned int Nchi2
Definition: TTTrack_TrackWord.h:185
TTTrack_TrackWord::maskRinv
const unsigned int maskRinv
Definition: TTTrack_TrackWord.h:229
TTTrack_TrackWord::ispare
unsigned int ispare
Definition: TTTrack_TrackWord.h:164
TTTrack_TrackWord::get_ichi2Z
float get_ichi2Z()
Definition: TTTrack_TrackWord.cc:309
TTTrack_TrackWord::maskChi2XY
const unsigned int maskChi2XY
Definition: TTTrack_TrackWord.h:234
TTTrack_TrackWord::iRinv
unsigned int iRinv
Definition: TTTrack_TrackWord.h:156
TTTrack_TrackWord::unpack_iRinv
float unpack_iRinv()
Definition: TTTrack_TrackWord.cc:276
TTTrack_TrackWord::get_iBendChi2
float get_iBendChi2()
Definition: TTTrack_TrackWord.cc:293
d0
static constexpr float d0
Definition: L1EGammaCrystalsEmulatorProducer.cc:85
TTTrack_TrackWord::chi2ZBins
float chi2ZBins[16]
Definition: TTTrack_TrackWord.h:182
TTTrack_TrackWord::get_tanlBits
unsigned int get_tanlBits()
Definition: TTTrack_TrackWord.cc:200
TTTrack_TrackWord::unpack_iphi
float unpack_iphi()
Definition: TTTrack_TrackWord.cc:237
TTTrack_TrackWord::maskD0
const unsigned int maskD0
Definition: TTTrack_TrackWord.h:232
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
TTTrack_TrackWord::unpack_hitPattern
unsigned int unpack_hitPattern()
Definition: TTTrack_TrackWord.cc:269
TTTrack_TrackWord::maskHitPat
const unsigned int maskHitPat
Definition: TTTrack_TrackWord.h:237
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
TTTrack_TrackWord::itanl
unsigned int itanl
Definition: TTTrack_TrackWord.h:158
TTTrack_TrackWord::ND0Bits
const unsigned int ND0Bits
Definition: TTTrack_TrackWord.h:211
TTTrack_TrackWord::get_BendChi2Bits
unsigned int get_BendChi2Bits()
Definition: TTTrack_TrackWord.cc:298
TTTrack_TrackWord::ichi2XY
unsigned int ichi2XY
Definition: TTTrack_TrackWord.h:161