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;
99  seg1 = 0;
100  seg2 = 0;
101  seg3 = 0;
102 
103  //tanl
104 
106 
107  //z0
108  iz0 = digitize_Signed(rZ0, NZ0Bits, 0, valLSBZ0);
109 
110  //chi2 has non-linear bins
111 
112  ichi2XY = 0;
113 
114  for (unsigned int ibin = 0; ibin < Nchi2; ++ibin) {
115  ichi2XY = ibin;
116  if (theChi2XY < chi2Bins[ibin])
117  break;
118  }
119 
120  //chi2Z has non-linear bins
121 
122  ichi2Z = 0;
123 
124  for (unsigned int ibin = 0; ibin < Nchi2; ++ibin) {
125  ichi2Z = ibin;
126  if (theChi2Z < chi2ZBins[ibin])
127  break;
128  }
129 
130  //phi
131  iphi = digitize_Signed(rPhi, NPhiBits, 0, valLSBPhi);
132 
133  //d0
134  id0 = digitize_Signed(rD0, ND0Bits, 0, valLSBD0);
135 
136  //Rinv
137  iRinv = digitize_Signed(theRinv, NCurvBits, 0, valLSBCurv);
138 
139  //bend chi2 - non-linear bins
140  iBendChi2 = 0;
141 
142  for (unsigned int ibin = 0; ibin < NBchi2; ++ibin) {
143  iBendChi2 = ibin;
144  if (theBendChi2 < Bchi2Bins[ibin])
145  break;
146  }
147 
148  ispare = iSpare;
149 
150  // spare bits
151  if (ispare > 0x3FFF)
152  ispare = 0x3FFF;
153 
154  iHitPattern = theHitPattern;
155 
156  //set bits
157  /*
158  Current packing scheme. Any changes here ripple everywhere!
159 
160  uint word1 = 16 (tanl) + 12 (z0) + 4 (chi2) = 32 bits
161  uint word2 = 12 (phi) + 13 (d0) + 7 (hitPattern) = 32 bits
162  uint word3 = 15 (pT) + 3 (bend chi2) + 14 (spare/TMVA) = 32 bits
163  */
164 
165  //now pack bits; leave hardcoded for now as am example of how this could work
166 
167  seg1 = (itanl << (nWordBits - (NTanlBits + 1))); // extra bit or bits is for sign //16
168  seg2 = (iz0 << (nWordBits - (NTanlBits + NZ0Bits + 2))); //4
169  seg3 = ichi2XY;
170 
171  //set bits
172 
173  TrackWord1 = seg1 + seg2 + seg3;
174  seg1 = 0;
175  seg2 = 0;
176  seg3 = 0;
177 
178  //second 32-bit word
179  seg1 = (iphi << (nWordBits - (NPhiBits + 1))); //20
180  seg2 = (id0 << (nWordBits - (NPhiBits + ND0Bits + 2))); //7
181 
182  //HitMask
183  seg3 = theHitPattern;
184 
185  //set bits
186 
187  TrackWord2 = seg1 + seg2 + seg3;
188  seg1 = 0;
189  seg2 = 0;
190  seg3 = 0;
191 
192  //third 32-bit word
193 
194  seg1 = (iRinv << (nWordBits - (NCurvBits + 1))); //17
195  seg2 = (iBendChi2 << (nWordBits - (NCurvBits + NBChi2Bits + 1))); //14
196  seg3 = (ichi2Z << (nWordBits - (NCurvBits + NBChi2Bits + NChi2Bits + 1))); //10
197  unsigned int seg4 = ispare;
198 
199  TrackWord3 = seg1 + seg2 + seg3 + seg4;
200 }
201 // unpack
202 
204  unsigned int bits = (TrackWord1 & maskTanL) >> (nWordBits - (NTanlBits + 1)); //16
205  float unpTanl = unpack_Signed(bits, NTanlBits, valLSBTanl);
206  return unpTanl;
207 }
208 
210  float unpTanl = unpack_Signed(itanl, NTanlBits, valLSBTanl);
211  return unpTanl;
212 }
213 
215  //unsigned int bits = (TrackWord1 & 0xFFFF0000) >> 16;
216  return itanl;
217 }
218 
220  unsigned int bits = (TrackWord1 & maskZ0) >> (nWordBits - (NTanlBits + NZ0Bits + 2)); //4
221  float unpZ0 = unpack_Signed(bits, NZ0Bits, valLSBZ0);
222  return unpZ0;
223 }
224 
226  float unpZ0 = unpack_Signed(iz0, NZ0Bits, valLSBZ0);
227  return unpZ0;
228 }
229 
231  //unsigned int bits = (TrackWord1 & 0x0000FFF0) >> 4;
232  return iz0;
233 }
234 
236  unsigned int bits = (TrackWord1 & maskChi2XY);
237  float unpChi2 = chi2Bins[bits];
238  return unpChi2;
239 }
240 
242  float unpChi2 = chi2Bins[ichi2XY];
243  return unpChi2;
244 }
245 
247  //unsigned int bits = (TrackWord1 & 0x0000000F);
248  return ichi2XY;
249 }
250 
252  unsigned int bits = (TrackWord2 & maskPhi) >> (nWordBits - (NPhiBits + 1)); //20
253  float unpPhi = unpack_Signed(bits, NPhiBits, valLSBPhi);
254  return unpPhi;
255 }
256 
258  float unpPhi = unpack_Signed(iphi, NPhiBits, valLSBPhi);
259  return unpPhi;
260 }
261 
263  //unsigned int bits = (TrackWord2 & 0xFFF00000) >> 20;
264  return iphi;
265 }
266 
268  unsigned int bits = (TrackWord2 & maskD0) >> (nWordBits - (NPhiBits + ND0Bits + 2)); //7
269  float unpD0 = unpack_Signed(bits, ND0Bits, valLSBD0);
270  return unpD0;
271 }
272 
274  float unpD0 = unpack_Signed(id0, ND0Bits, valLSBD0);
275  return unpD0;
276 }
277 
279  // unsigned int bits = (TrackWord2 & 0x000FFF80) >> 7;
280  return id0;
281 }
282 
284  unsigned int bits = (TrackWord2 & maskHitPat);
285  return bits;
286 }
287 
289 
291  unsigned int bits = (TrackWord3 & maskRinv) >> (nWordBits - (NCurvBits + 1)); //17
292  float unpCurv = unpack_Signed(bits, NCurvBits, valLSBCurv);
293  return unpCurv;
294 }
295 
297  float unpCurv = unpack_Signed(iRinv, NCurvBits, valLSBCurv);
298  return unpCurv;
299 }
300 
302  unsigned int bits = (TrackWord3 & maskBendChi2) >> (nWordBits - (NCurvBits + NBChi2Bits + 1)); //14
303  float unpBChi2 = Bchi2Bins[bits];
304  return unpBChi2;
305 }
306 
308  float unpBChi2 = Bchi2Bins[iBendChi2];
309  return unpBChi2;
310 }
311 
313  unsigned int bits = (TrackWord3 & maskBendChi2) >> (nWordBits - (NCurvBits + NBChi2Bits + 1)); //14
314  return bits;
315 }
316 
318  unsigned int bits = (TrackWord3 & maskChi2Z) >> (nWordBits - (NCurvBits + NBChi2Bits + NChi2Bits + 1)); //10
319  float unpChi2Z = chi2ZBins[bits];
320  return unpChi2Z;
321 }
322 
324  float unpChi2Z = chi2ZBins[ichi2Z];
325  return unpChi2Z;
326 }
327 
329  unsigned int bits = (TrackWord3 & maskSpare);
330  return bits;
331 }
332 
333 unsigned int TTTrack_TrackWord::get_ispare() { return ispare; }
334 
335 unsigned int TTTrack_TrackWord::digitize_Signed(float var, unsigned int maxBit, unsigned int minBit, float lsb) {
336  unsigned int nBits = (maxBit - minBit + 1);
337  unsigned int myVar = std::floor(fabs(var) / lsb);
338  unsigned int maxVal = (1 << (nBits - 1)) - 1;
339  if (myVar > maxVal)
340  myVar = maxVal;
341  if (var < 0)
342  myVar = (1 << nBits) - myVar; // two's complement encoding
343  unsigned int seg = myVar;
344  return seg;
345 }
346 
347 float TTTrack_TrackWord::unpack_Signed(unsigned int bits, unsigned int nBits, float lsb) {
348  int isign = 1;
349  unsigned int maxVal = (1 << nBits) - 1;
350  if (bits & (1 << nBits)) { //check sign
351  isign = -1;
352  bits = (1 << (nBits + 1)) - bits; // if negative, flip everything for two's complement encoding
353  }
354  float unpacked = (float(bits & maxVal) + 0.5) * lsb;
355  unpacked = isign * unpacked;
356  return unpacked;
357 }
358 
360  /* bits for packing, constants defined in TTTrack_TrackWord.h :
361 
362  signed quantities (one bit for sign):
363 
364  q/R = 14+1
365  phi = 11+1 (relative to sector center)
366  tanl = 15+1
367  z0 = 11+1
368  d0 = 12+1
369 
370  unsigned:
371 
372  chi2 = 4
373  BendChi2 = 3
374  hitPattern = 7
375  Spare = 10
376  chi2Z = 4
377 
378  */
379 
380  // define bits, 1<<N = 2^N
381 
382  unsigned int CurvBins = (1 << NCurvBits);
383  unsigned int phiBins = (1 << NPhiBits);
384  unsigned int tanlBins = (1 << NTanlBits);
385  unsigned int z0Bins = (1 << NZ0Bits);
386  unsigned int d0Bins = (1 << ND0Bits);
387 
388  Nchi2 = (1 << NChi2Bits);
389  NBchi2 = (1 << NBChi2Bits);
390 
391  valLSBCurv = maxCurv / float(CurvBins);
392  valLSBPhi = maxPhi / float(phiBins);
393  valLSBTanl = maxTanl / float(tanlBins);
394  valLSBZ0 = maxZ0 / float(z0Bins);
395  valLSBD0 = maxD0 / float(d0Bins);
396 
397  chi2Bins[0] = 0.25;
398  chi2Bins[1] = 0.5;
399  chi2Bins[2] = 1.0;
400  chi2Bins[3] = 2.;
401  chi2Bins[4] = 3.;
402  chi2Bins[5] = 5.;
403  chi2Bins[6] = 7.;
404  chi2Bins[7] = 10.;
405  chi2Bins[8] = 20.;
406  chi2Bins[9] = 40.;
407  chi2Bins[10] = 100.;
408  chi2Bins[11] = 200.;
409  chi2Bins[12] = 500.;
410  chi2Bins[13] = 1000.;
411  chi2Bins[14] = 3000.;
412 
413  chi2ZBins[0] = 0.25;
414  chi2ZBins[1] = 0.5;
415  chi2ZBins[2] = 1.0;
416  chi2ZBins[3] = 2.;
417  chi2ZBins[4] = 3.;
418  chi2ZBins[5] = 5.;
419  chi2ZBins[6] = 7.;
420  chi2ZBins[7] = 10.;
421  chi2ZBins[8] = 20.;
422  chi2ZBins[9] = 40.;
423  chi2ZBins[10] = 100.;
424  chi2ZBins[11] = 200.;
425  chi2ZBins[12] = 500.;
426  chi2ZBins[13] = 1000.;
427  chi2ZBins[14] = 3000.;
428 
429  Bchi2Bins[0] = 0.5;
430  Bchi2Bins[1] = 1.25;
431  Bchi2Bins[2] = 2.0;
432  Bchi2Bins[3] = 3.0;
433  Bchi2Bins[4] = 5.0;
434  Bchi2Bins[5] = 10.;
435  Bchi2Bins[6] = 50.;
436 };
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:273
TTTrack_TrackWord::get_hitPattern
unsigned int get_hitPattern()
Definition: TTTrack_TrackWord.cc:288
TTTrack_TrackWord::TrackWord2
unsigned int TrackWord2
Definition: TTTrack_TrackWord.h:170
TTTrack_TrackWord::get_ispare
unsigned int get_ispare()
Definition: TTTrack_TrackWord.cc:333
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:347
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:301
TTTrack_TrackWord::maskBendChi2
const unsigned int maskBendChi2
Definition: TTTrack_TrackWord.h:236
TTTrack_TrackWord::initialize
void initialize()
Definition: TTTrack_TrackWord.cc:359
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:230
TTTrack_TrackWord::get_iRinv
float get_iRinv()
Definition: TTTrack_TrackWord.cc:296
TTTrack_TrackWord::get_d0Bits
unsigned int get_d0Bits()
Definition: TTTrack_TrackWord.cc:278
TTTrack_TrackWord.h
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:267
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:317
TTTrack_TrackWord::get_ichi2XY
float get_ichi2XY()
Definition: TTTrack_TrackWord.cc:241
TTTrack_TrackWord::get_phiBits
unsigned int get_phiBits()
Definition: TTTrack_TrackWord.cc:262
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:225
TTTrack_TrackWord::maxPhi
const float maxPhi
Definition: TTTrack_TrackWord.h:221
TTTrack_TrackWord::get_itanl
float get_itanl()
Definition: TTTrack_TrackWord.cc:209
TTTrack_TrackWord::unpack_ispare
unsigned int unpack_ispare()
Definition: TTTrack_TrackWord.cc:328
TTTrack_TrackWord::unpack_iz0
float unpack_iz0()
Definition: TTTrack_TrackWord.cc:219
TTTrack_TrackWord::unpack_itanl
float unpack_itanl()
Definition: TTTrack_TrackWord.cc:203
TTTrack_TrackWord::NPhiBits
const unsigned int NPhiBits
Definition: TTTrack_TrackWord.h:208
TTTrack_TrackWord::unpack_ichi2XY
float unpack_ichi2XY()
Definition: TTTrack_TrackWord.cc:235
TTTrack_TrackWord::get_chi2XYBits
unsigned int get_chi2XYBits()
Definition: TTTrack_TrackWord.cc:246
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:257
TTTrack_TrackWord::maskTanL
const unsigned int maskTanL
Definition: TTTrack_TrackWord.h:231
bits
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
Definition: EventSelector-behavior.doc:35
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:335
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:323
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:290
TTTrack_TrackWord::get_iBendChi2
float get_iBendChi2()
Definition: TTTrack_TrackWord.cc:307
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:214
TTTrack_TrackWord::unpack_iphi
float unpack_iphi()
Definition: TTTrack_TrackWord.cc:251
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:283
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:312
TTTrack_TrackWord::ichi2XY
unsigned int ichi2XY
Definition: TTTrack_TrackWord.h:161