CMS 3D CMS Logo

Tracklet.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTracklet_interface_Tracklet_h
2 #define L1Trigger_TrackFindingTracklet_interface_Tracklet_h
3 
4 #include <iostream>
5 #include <fstream>
6 #include <cassert>
7 #include <cmath>
8 #include <vector>
9 #include <set>
10 
21 
22 namespace trklet {
23 
24  class Settings;
25  class Stub;
26  class Track;
27 
28  class Tracklet {
29  public:
30  Tracklet(Settings const& settings,
31  const L1TStub* innerStub,
32  const L1TStub* middleStub,
33  const L1TStub* outerStub,
34  const Stub* innerFPGAStub,
35  const Stub* middleFPGAStub,
36  const Stub* outerFPGAStub,
37  double rinv,
38  double phi0,
39  double d0,
40  double z0,
41  double t,
42  double rinvapprox,
43  double phi0approx,
44  double d0approx,
45  double z0approx,
46  double tapprox,
47  int irinv,
48  int iphi0,
49  int id0,
50  int iz0,
51  int it,
52  LayerProjection layerprojs[N_PROJ],
53  DiskProjection diskprojs[N_PROJ],
54  bool disk,
55  bool overlap = false);
56 
57  ~Tracklet() = default;
58 
59  //Find tp corresponding to seed.
60  //Will require 'tight match' such that tp is part of each of the four clustes returns 0 if no tp matches
61  int tpseed();
62 
63  bool stubtruthmatch(const L1TStub* stub);
64 
65  const L1TStub* innerStub() { return innerStub_; }
66  const Stub* innerFPGAStub() { return innerFPGAStub_; }
67 
68  const L1TStub* middleStub() { return middleStub_; }
69  const Stub* middleFPGAStub() { return middleFPGAStub_; }
70 
71  const L1TStub* outerStub() { return outerStub_; }
72  const Stub* outerFPGAStub() { return outerFPGAStub_; }
73 
75 
76  //Tracklet parameters print out
78 
79  std::string vmstrlayer(int layer, unsigned int allstubindex);
80 
81  std::string vmstrdisk(int disk, unsigned int allstubindex);
82 
85 
88 
89  bool validProj(int layer) const {
90  assert(layer > 0 && layer <= N_LAYER);
91  return layerproj_[layer - 1].valid();
92  }
93 
94  const FPGAWord& fpgaphiprojder(int layer) const {
95  assert(layer > 0 && layer <= N_LAYER);
96  return layerproj_[layer - 1].fpgaphiprojder();
97  }
98 
99  const FPGAWord& fpgazproj(int layer) const {
100  assert(layer > 0 && layer <= N_LAYER);
101  return layerproj_[layer - 1].fpgazproj();
102  }
103 
104  const FPGAWord& fpgaphiproj(int layer) const {
105  assert(layer > 0 && layer <= N_LAYER);
106  return layerproj_[layer - 1].fpgaphiproj();
107  }
108 
109  const FPGAWord& fpgazprojder(int layer) const {
110  assert(layer > 0 && layer <= N_LAYER);
111  return layerproj_[layer - 1].fpgazprojder();
112  }
113 
114  int zbin1projvm(int layer) const {
115  assert(layer > 0 && layer <= N_LAYER);
116  return layerproj_[layer - 1].fpgazbin1projvm().value();
117  }
118 
119  int zbin2projvm(int layer) const {
120  assert(layer > 0 && layer <= N_LAYER);
121  return layerproj_[layer - 1].fpgazbin2projvm().value();
122  }
123 
124  int finezvm(int layer) const {
125  assert(layer > 0 && layer <= N_LAYER);
126  return layerproj_[layer - 1].fpgafinezvm().value();
127  }
128 
129  int rbin1projvm(int disk) const {
130  assert(disk > 0 && disk <= N_DISK);
131  return diskproj_[disk - 1].fpgarbin1projvm().value();
132  }
133 
134  int rbin2projvm(int disk) const {
135  assert(disk > 0 && disk <= N_DISK);
136  return diskproj_[disk - 1].fpgarbin2projvm().value();
137  }
138 
139  int finervm(int disk) const {
140  assert(disk > 0 && disk <= N_DISK);
141  return diskproj_[disk - 1].fpgafinervm().value();
142  }
143 
144  int phiprojvm(int layer) const {
145  assert(layer > 0 && layer <= N_LAYER);
146  return layerproj_[layer - 1].fpgaphiprojvm().value();
147  }
148 
149  int zprojvm(int layer) const {
150  assert(layer > 0 && layer <= N_LAYER);
151  return layerproj_[layer - 1].fpgazprojvm().value();
152  }
153 
154  double phiproj(int layer) const {
155  assert(layer > 0 && layer <= N_LAYER);
156  return layerproj_[layer - 1].phiproj();
157  }
158 
159  double phiprojder(int layer) const {
160  assert(layer > 0 && layer <= N_LAYER);
161  return layerproj_[layer - 1].phiprojder();
162  }
163 
164  double zproj(int layer) const {
165  assert(layer > 0 && layer <= N_LAYER);
166  return layerproj_[layer - 1].zproj();
167  }
168 
169  double zprojder(int layer) const {
170  assert(layer > 0 && layer <= N_LAYER);
171  return layerproj_[layer - 1].zprojder();
172  }
173 
174  double zprojapprox(int layer) const {
175  assert(layer > 0 && layer <= N_LAYER);
176  return layerproj_[layer - 1].zprojapprox();
177  }
178 
179  double zprojderapprox(int layer) const {
180  assert(layer > 0 && layer <= N_LAYER);
181  return layerproj_[layer - 1].zprojderapprox();
182  }
183 
184  double phiprojapprox(int layer) const {
185  assert(layer > 0 && layer <= N_LAYER);
186  return layerproj_[layer - 1].phiprojapprox();
187  }
188 
189  double phiprojderapprox(int layer) const {
190  assert(layer > 0 && layer <= N_LAYER);
191  return layerproj_[layer - 1].phiprojderapprox();
192  }
193 
194  double rproj(int layer) const {
195  assert(layer > 0 && layer <= N_LAYER);
196  return layerproj_[layer - 1].rproj();
197  }
198 
199  double rstub(int layer) {
200  assert(layer > 0 && layer <= N_LAYER);
201  return layerresid_[layer - 1].rstub();
202  }
203 
204  //Disks residuals
205 
206  bool validProjDisk(int disk) const {
207  assert(abs(disk) <= N_DISK);
208  return diskproj_[abs(disk) - 1].valid();
209  }
210 
212  assert(abs(disk) <= N_DISK);
213  return diskresid_[abs(disk) - 1].fpgaphiresid();
214  }
215 
217  assert(abs(disk) <= N_DISK);
218  return diskresid_[abs(disk) - 1].fpgarresid();
219  }
220 
221  double phiresiddisk(int disk) {
222  assert(abs(disk) <= N_DISK);
223  return diskresid_[abs(disk) - 1].phiresid();
224  }
225 
226  double rresiddisk(int disk) {
227  assert(abs(disk) <= N_DISK);
228  return diskresid_[abs(disk) - 1].rresid();
229  }
230 
231  double phiresidapproxdisk(int disk) {
232  assert(abs(disk) <= N_DISK);
233  return diskresid_[abs(disk) - 1].phiresidapprox();
234  }
235 
236  double rresidapproxdisk(int disk) {
237  assert(abs(disk) <= N_DISK);
238  return diskresid_[abs(disk) - 1].rresidapprox();
239  }
240 
241  double zstubdisk(int disk) {
242  assert(abs(disk) <= N_DISK);
243  return diskresid_[abs(disk) - 1].zstub();
244  }
245 
246  void setBendIndex(int bendIndex, int disk) {
247  assert(abs(disk) <= N_DISK);
248  diskproj_[abs(disk) - 1].setBendIndex(bendIndex);
249  }
250 
251  const FPGAWord& getBendIndex(int disk) const {
252  assert(abs(disk) <= N_DISK);
253  return diskproj_[abs(disk) - 1].getBendIndex();
254  }
255 
256  double alphadisk(int disk) const {
257  assert(abs(disk) <= N_DISK);
258  return diskresid_[abs(disk) - 1].alpha();
259  }
260 
261  const FPGAWord& ialphadisk(int disk) const {
262  assert(abs(disk) <= N_DISK);
263  return diskresid_[abs(disk) - 1].ialpha();
264  }
265 
266  const FPGAWord& fpgaphiprojdisk(int disk) const {
267  assert(abs(disk) <= N_DISK);
268  return diskproj_[abs(disk) - 1].fpgaphiproj();
269  }
270 
271  const FPGAWord& fpgaphiprojderdisk(int disk) const {
272  assert(abs(disk) <= N_DISK);
273  return diskproj_[abs(disk) - 1].fpgaphiprojder();
274  }
275 
276  const FPGAWord& fpgarprojdisk(int disk) const {
277  assert(abs(disk) <= N_DISK);
278  return diskproj_[abs(disk) - 1].fpgarproj();
279  }
280 
281  const FPGAWord& fpgarprojderdisk(int disk) const {
282  assert(abs(disk) <= N_DISK);
283  return diskproj_[abs(disk) - 1].fpgarprojder();
284  }
285 
286  double phiprojapproxdisk(int disk) const {
287  assert(abs(disk) <= N_DISK);
288  return diskproj_[abs(disk) - 1].phiprojapprox();
289  }
290 
291  double phiprojderapproxdisk(int disk) const {
292  assert(abs(disk) <= N_DISK);
293  return diskproj_[abs(disk) - 1].phiprojderapprox();
294  }
295 
296  double rprojapproxdisk(int disk) const {
297  assert(abs(disk) <= N_DISK);
298  return diskproj_[abs(disk) - 1].rprojapprox();
299  }
300 
301  double rprojderapproxdisk(int disk) const {
302  assert(abs(disk) <= N_DISK);
303  return diskproj_[abs(disk) - 1].rprojderapprox();
304  }
305 
306  double phiprojdisk(int disk) const {
307  assert(abs(disk) <= N_DISK);
308  return diskproj_[abs(disk) - 1].phiproj();
309  }
310 
311  double phiprojderdisk(int disk) const {
312  assert(abs(disk) <= N_DISK);
313  return diskproj_[abs(disk) - 1].phiprojder();
314  }
315 
316  double rprojdisk(int disk) const {
317  assert(abs(disk) <= N_DISK);
318  return diskproj_[abs(disk) - 1].rproj();
319  }
320 
321  double rprojderdisk(int disk) const {
322  assert(abs(disk) <= N_DISK);
323  return diskproj_[abs(disk) - 1].rprojder();
324  }
325 
326  bool matchdisk(int disk) {
327  assert(abs(disk) <= N_DISK);
328  return diskresid_[abs(disk) - 1].valid();
329  }
330 
331  void addMatch(int layer,
332  int ideltaphi,
333  int ideltaz,
334  double dphi,
335  double dz,
336  double dphiapprox,
337  double dzapprox,
338  int stubid,
339  double rstub,
340  const trklet::Stub* stubptr);
341 
342  void addMatchDisk(int disk,
343  int ideltaphi,
344  int ideltar,
345  double dphi,
346  double dr,
347  double dphiapprox,
348  double drapprox,
349  double alpha,
350  int stubid,
351  double zstub,
352  const trklet::Stub* stubptr);
353 
354  int nMatches();
355  int nMatchesDisk();
356 
357  bool match(int layer) {
358  assert(layer > 0 && layer <= N_LAYER);
359  return layerresid_[layer - 1].valid();
360  }
361 
364 
365  bool validResid(int layer) const {
366  assert(layer > 0 && layer <= N_LAYER);
367  return layerresid_[layer - 1].valid();
368  }
369 
370  const trklet::Stub* stubptr(int layer) const {
371  assert(layer > 0 && layer <= N_LAYER);
372  return layerresid_[layer - 1].stubptr();
373  }
374 
375  double phiresid(int layer) const {
376  assert(layer > 0 && layer <= N_LAYER);
377  return layerresid_[layer - 1].phiresid();
378  }
379 
380  double phiresidapprox(int layer) const {
381  assert(layer > 0 && layer <= N_LAYER);
382  return layerresid_[layer - 1].phiresidapprox();
383  }
384 
385  double zresid(int layer) const {
386  assert(layer > 0 && layer <= N_LAYER);
387  return layerresid_[layer - 1].zresid();
388  }
389 
390  double zresidapprox(int layer) const {
391  assert(layer > 0 && layer <= N_LAYER);
392  return layerresid_[layer - 1].zresidapprox();
393  }
394 
395  const FPGAWord& fpgaphiresid(int layer) const {
396  assert(layer > 0 && layer <= N_LAYER);
397  return layerresid_[layer - 1].fpgaphiresid();
398  }
399 
400  const FPGAWord& fpgazresid(int layer) const {
401  assert(layer > 0 && layer <= N_LAYER);
402  return layerresid_[layer - 1].fpgazresid();
403  }
404 
405  std::vector<const L1TStub*> getL1Stubs();
406 
407  std::map<int, int> getStubIDs();
408 
409  double rinv() const { return trackpars_.rinv(); }
410  double phi0() const { return trackpars_.phi0(); }
411  double d0() const { return trackpars_.d0(); }
412  double t() const { return trackpars_.t(); }
413  double z0() const { return trackpars_.z0(); }
414 
415  double rinvapprox() const { return trackparsapprox_.rinv(); }
416  double phi0approx() const { return trackparsapprox_.phi0(); }
417  double d0approx() const { return trackparsapprox_.d0(); }
418  double tapprox() const { return trackparsapprox_.t(); }
419  double z0approx() const { return trackparsapprox_.z0(); }
420 
421  const FPGAWord& fpgarinv() const { return fpgapars_.rinv(); }
422  const FPGAWord& fpgaphi0() const { return fpgapars_.phi0(); }
423  const FPGAWord& fpgad0() const { return fpgapars_.d0(); }
424  const FPGAWord& fpgat() const { return fpgapars_.t(); }
425  const FPGAWord& fpgaz0() const { return fpgapars_.z0(); }
426 
427  double rinvfit() const { return fitpars_.rinv(); }
428  double phi0fit() const { return fitpars_.phi0(); }
429  double d0fit() const { return fitpars_.d0(); }
430  double tfit() const { return fitpars_.t(); }
431  double z0fit() const { return fitpars_.z0(); }
432  double chiSqfit() const { return chisqrphifit_ + chisqrzfit_; }
433 
434  double rinvfitexact() const { return fitparsexact_.rinv(); }
435  double phi0fitexact() const { return fitparsexact_.phi0(); }
436  double d0fitexact() const { return fitparsexact_.d0(); }
437  double tfitexact() const { return fitparsexact_.t(); }
438  double z0fitexact() const { return fitparsexact_.z0(); }
439 
440  const FPGAWord& irinvfit() const { return fpgafitpars_.rinv(); }
441  const FPGAWord& iphi0fit() const { return fpgafitpars_.phi0(); }
442  const FPGAWord& id0fit() const { return fpgafitpars_.d0(); }
443  const FPGAWord& itfit() const { return fpgafitpars_.t(); }
444  const FPGAWord& iz0fit() const { return fpgafitpars_.z0(); }
445  FPGAWord ichiSqfit() const {
447  }
448 
449  void setFitPars(double rinvfit,
450  double phi0fit,
451  double d0fit,
452  double tfit,
453  double z0fit,
454  double chisqrphifit,
455  double chisqrzfit,
456  double rinvfitexact,
457  double phi0fitexact,
458  double d0fitexact,
459  double tfitexact,
460  double z0fitexact,
461  double chisqrphifitexact,
462  double chisqrzfitexact,
463  int irinvfit,
464  int iphi0fit,
465  int id0fit,
466  int itfit,
467  int iz0fit,
468  int ichisqrphifit,
469  int ichisqrzfit,
470  int hitpattern,
471  const std::vector<const L1TStub*>& l1stubs = std::vector<const L1TStub*>());
472 
474 
475  Track makeTrack(const std::vector<const L1TStub*>& l1stubs);
476 
478  assert(fpgatrack_ != nullptr);
479  return fpgatrack_.get();
480  }
481 
482  bool fit() const { return ichisqrphifit_.value() != -1; }
483 
484  int layer() const;
485  int disk() const;
486  int disk2() const;
487 
488  bool isBarrel() const { return barrel_; }
489  bool isOverlap() const { return overlap_; }
490  int isDisk() const { return disk_; }
491 
492  void setTrackletIndex(int index);
493 
494  int trackletIndex() const { return trackletIndex_; }
495 
496  void setTCIndex(int index) { TCIndex_ = index; }
497 
498  int TCIndex() const { return TCIndex_; }
499 
500  int TCID() const { return TCIndex_ * (1 << 7) + trackletIndex_; }
501 
502  int getISeed() const;
503  int getITC() const;
504 
505  unsigned int PSseed() const { return ((layer() == 1) || (layer() == 2) || (disk() != 0)) ? 1 : 0; }
506 
507  unsigned int seedIndex() const { return seedIndex_; }
508 
509  unsigned int calcSeedIndex() const;
510 
511  private:
512  unsigned int seedIndex_;
513 
514  // three types of tracklets + one triplet
515  bool barrel_;
516  bool disk_;
517  bool overlap_;
518  bool triplet_;
519 
523 
527 
529  int TCIndex_;
530 
531  //Tracklet track parameters
533 
536 
537  // the layer/disk ids that we project to (never project to >4 barrel layers)
538  int projlayer_[N_LAYER - 2];
540 
541  //Track parameters from track fit
545 
548  double chisqrzfit_;
549 
553 
555 
556  std::unique_ptr<Track> fpgatrack_;
557 
560 
563 
565  };
566 }; // namespace trklet
567 #endif
Settings.h
trklet::LayerProjection::fpgafinezvm
const FPGAWord & fpgafinezvm() const
Definition: LayerProjection.h:79
Util.h
trklet::Tracklet::fullmatchstr
std::string fullmatchstr(int layer)
Definition: Tracklet.cc:375
L1TStub.h
trklet::Tracklet::addressstr
std::string addressstr()
Definition: Tracklet.cc:190
trklet::Tracklet::stubtruthmatch
bool stubtruthmatch(const L1TStub *stub)
Definition: Tracklet.cc:151
trklet::Tracklet::TCIndex
int TCIndex() const
Definition: Tracklet.h:498
trklet::Tracklet::fpgaphiprojder
const FPGAWord & fpgaphiprojder(int layer) const
Definition: Tracklet.h:94
trklet::LayerProjection::fpgaphiprojvm
const FPGAWord & fpgaphiprojvm() const
Definition: LayerProjection.h:64
trklet::LayerResidual::zresidapprox
double zresidapprox() const
Definition: LayerResidual.h:63
trklet::Tracklet::chisqrphifitexact_
double chisqrphifitexact_
Definition: Tracklet.h:551
trklet::DiskProjection::phiprojapprox
double phiprojapprox() const
Definition: DiskProjection.h:111
trklet::Tracklet::diskproj_
DiskProjection diskproj_[N_DISK]
Definition: Tracklet.h:559
trklet::DiskProjection::setBendIndex
void setBendIndex(int bendindex)
Definition: DiskProjection.h:131
trklet::Tracklet::rbin2projvm
int rbin2projvm(int disk) const
Definition: Tracklet.h:134
trklet::LayerProjection::rproj
double rproj() const
Definition: LayerProjection.h:39
trklet::Tracklet::PSseed
unsigned int PSseed() const
Definition: Tracklet.h:505
trklet::Tracklet::z0approx
double z0approx() const
Definition: Tracklet.h:419
trklet::Tracklet::settings_
Settings const & settings_
Definition: Tracklet.h:564
trklet::DiskResidual::rresidapprox
double rresidapprox() const
Definition: DiskResidual.h:65
trklet::LayerProjection::zproj
double zproj() const
Definition: LayerProjection.h:94
trklet::Tracklet::phi0fitexact
double phi0fitexact() const
Definition: Tracklet.h:435
trklet::Tracklet::fitpars_
TrackPars< double > fitpars_
Definition: Tracklet.h:546
trklet::Tracklet::fpgat
const FPGAWord & fpgat() const
Definition: Tracklet.h:424
trklet::Tracklet::getTrack
Track * getTrack()
Definition: Tracklet.h:477
trklet::DiskProjection::getBendIndex
const FPGAWord & getBendIndex() const
Definition: DiskProjection.h:133
trklet::Tracklet::nMatchesDisk
int nMatchesDisk()
Definition: Tracklet.cc:364
trklet::Tracklet::fpgaphiprojdisk
const FPGAWord & fpgaphiprojdisk(int disk) const
Definition: Tracklet.h:266
trklet::Tracklet::fpgaphiresiddisk
const FPGAWord & fpgaphiresiddisk(int disk)
Definition: Tracklet.h:211
trklet::Tracklet::chisqrzfitexact_
double chisqrzfitexact_
Definition: Tracklet.h:552
trklet::DiskResidual::phiresidapprox
double phiresidapprox() const
Definition: DiskResidual.h:60
trklet::Tracklet::trackletIndex_
int trackletIndex_
Definition: Tracklet.h:528
trklet::Tracklet::ichisqrphifit_
FPGAWord ichisqrphifit_
Definition: Tracklet.h:543
trklet::DiskResidual
Definition: DiskResidual.h:13
trklet::Tracklet::getITC
int getITC() const
Definition: Tracklet.cc:855
trklet::Tracklet::phi0
double phi0() const
Definition: Tracklet.h:410
trklet::Tracklet::overlap_
bool overlap_
Definition: Tracklet.h:517
trklet::Tracklet::rprojderdisk
double rprojderdisk(int disk) const
Definition: Tracklet.h:321
trklet::DiskProjection::fpgarprojder
const FPGAWord & fpgarprojder() const
Definition: DiskProjection.h:61
zMuMuMuonUserData.alpha
alpha
zGenParticlesMatch = cms.InputTag(""),
Definition: zMuMuMuonUserData.py:9
trklet::Tracklet::fpgazresid
const FPGAWord & fpgazresid(int layer) const
Definition: Tracklet.h:400
trklet::Tracklet::innerStub_
const L1TStub * innerStub_
Definition: Tracklet.h:524
trklet::Tracklet::d0approx
double d0approx() const
Definition: Tracklet.h:417
trklet::Tracklet::diskresid_
DiskResidual diskresid_[N_DISK]
Definition: Tracklet.h:562
trklet::Tracklet::finervm
int finervm(int disk) const
Definition: Tracklet.h:139
trklet::LayerProjection::phiproj
double phiproj() const
Definition: LayerProjection.h:89
trklet::TrackPars::t
const T & t() const
Definition: TrackPars.h:32
trklet::Tracklet::middleFPGAStub_
const Stub * middleFPGAStub_
Definition: Tracklet.h:521
trklet::Tracklet::trackpars_
TrackPars< double > trackpars_
Definition: Tracklet.h:534
trklet::Tracklet::layerproj_
LayerProjection layerproj_[N_LAYER]
Definition: Tracklet.h:558
trklet::TrackPars::d0
const T & d0() const
Definition: TrackPars.h:31
trklet::Tracklet::trackletprojstrlayer
std::string trackletprojstrlayer(int layer) const
Definition: Tracklet.h:86
trklet::Settings
Definition: Settings.h:26
trklet::LayerResidual::fpgaphiresid
const FPGAWord & fpgaphiresid() const
Definition: LayerResidual.h:33
trklet::LayerProjection::zprojapprox
double zprojapprox() const
Definition: LayerProjection.h:114
trklet::Tracklet::phiresidapprox
double phiresidapprox(int layer) const
Definition: Tracklet.h:380
trklet::L1TStub
Definition: L1TStub.h:12
trklet::Tracklet::phiresidapproxdisk
double phiresidapproxdisk(int disk)
Definition: Tracklet.h:231
trklet::Tracklet::getISeed
int getISeed() const
Definition: Tracklet.cc:849
trklet::Tracklet::addMatch
void addMatch(int layer, int ideltaphi, int ideltaz, double dphi, double dz, double dphiapprox, double dzapprox, int stubid, double rstub, const trklet::Stub *stubptr)
Definition: Tracklet.cc:310
trklet::DiskProjection::rprojder
double rprojder() const
Definition: DiskProjection.h:106
trklet::Tracklet::layerresid_
LayerResidual layerresid_[N_LAYER]
Definition: Tracklet.h:561
cms::cuda::assert
assert(be >=bs)
trklet::LayerResidual::zresid
double zresid() const
Definition: LayerResidual.h:53
trklet::DiskProjection::valid
bool valid() const
Definition: DiskProjection.h:34
trklet::Tracklet::TCIndex_
int TCIndex_
Definition: Tracklet.h:529
trklet::DiskProjection::fpgafinervm
const FPGAWord & fpgafinervm() const
Definition: DiskProjection.h:91
trklet::Tracklet::fpgad0
const FPGAWord & fpgad0() const
Definition: Tracklet.h:423
trklet::N_DISK
constexpr int N_DISK
Definition: Settings.h:20
trklet::Tracklet::d0fitexact
double d0fitexact() const
Definition: Tracklet.h:436
trklet::DiskProjection::fpgarbin2projvm
const FPGAWord & fpgarbin2projvm() const
Definition: DiskProjection.h:86
trklet::Tracklet::rresidapproxdisk
double rresidapproxdisk(int disk)
Definition: Tracklet.h:236
trklet::Tracklet::itfit
const FPGAWord & itfit() const
Definition: Tracklet.h:443
trklet::Tracklet::tfit
double tfit() const
Definition: Tracklet.h:430
trklet::Tracklet::fit
bool fit() const
Definition: Tracklet.h:482
trklet::Tracklet::rinvapprox
double rinvapprox() const
Definition: Tracklet.h:415
trklet::Tracklet::z0fitexact
double z0fitexact() const
Definition: Tracklet.h:438
trklet::FPGAWord::nbits
int nbits() const
Definition: FPGAWord.h:25
trklet::Tracklet::vmstrdisk
std::string vmstrdisk(int disk, unsigned int allstubindex)
Definition: Tracklet.cc:257
trklet::Tracklet::validProj
bool validProj(int layer) const
Definition: Tracklet.h:89
trklet::Tracklet::irinvfit
const FPGAWord & irinvfit() const
Definition: Tracklet.h:440
TrackPars.h
trklet::LayerProjection
Definition: LayerProjection.h:10
trklet::Tracklet::fpgarprojderdisk
const FPGAWord & fpgarprojderdisk(int disk) const
Definition: Tracklet.h:281
trklet::Tracklet::tpseed
int tpseed()
Definition: Tracklet.cc:120
trklet::Tracklet::triplet_
bool triplet_
Definition: Tracklet.h:518
trklet::Tracklet::isDisk
int isDisk() const
Definition: Tracklet.h:490
trklet::DiskProjection::fpgaphiproj
const FPGAWord & fpgaphiproj() const
Definition: DiskProjection.h:46
trklet::LayerResidual::phiresid
double phiresid() const
Definition: LayerResidual.h:48
trklet::Tracklet::fpgazprojder
const FPGAWord & fpgazprojder(int layer) const
Definition: Tracklet.h:109
trklet::Tracklet
Definition: Tracklet.h:28
trklet::DiskResidual::valid
bool valid() const
Definition: DiskResidual.h:33
trklet::Tracklet::outerFPGAStub_
const Stub * outerFPGAStub_
Definition: Tracklet.h:522
FPGAWord.h
trklet::Tracklet::zbin1projvm
int zbin1projvm(int layer) const
Definition: Tracklet.h:114
trklet::Tracklet::trackletIndex
int trackletIndex() const
Definition: Tracklet.h:494
trklet::DiskProjection::phiprojderapprox
double phiprojderapprox() const
Definition: DiskProjection.h:121
trklet::Tracklet::phiprojvm
int phiprojvm(int layer) const
Definition: Tracklet.h:144
trklet::Tracklet::addMatchDisk
void addMatchDisk(int disk, int ideltaphi, int ideltar, double dphi, double dr, double dphiapprox, double drapprox, double alpha, int stubid, double zstub, const trklet::Stub *stubptr)
Definition: Tracklet.cc:325
trklet::Tracklet::fpgatrack_
std::unique_ptr< Track > fpgatrack_
Definition: Tracklet.h:556
trklet::Tracklet::zbin2projvm
int zbin2projvm(int layer) const
Definition: Tracklet.h:119
trklet::Tracklet::middleFPGAStub
const Stub * middleFPGAStub()
Definition: Tracklet.h:69
trklet::Tracklet::zresid
double zresid(int layer) const
Definition: Tracklet.h:385
trklet::Tracklet::rresiddisk
double rresiddisk(int disk)
Definition: Tracklet.h:226
trklet::Tracklet::Tracklet
Tracklet(Settings const &settings, const L1TStub *innerStub, const L1TStub *middleStub, const L1TStub *outerStub, const Stub *innerFPGAStub, const Stub *middleFPGAStub, const Stub *outerFPGAStub, double rinv, double phi0, double d0, double z0, double t, double rinvapprox, double phi0approx, double d0approx, double z0approx, double tapprox, int irinv, int iphi0, int id0, int iz0, int it, LayerProjection layerprojs[N_PROJ], DiskProjection diskprojs[N_PROJ], bool disk, bool overlap=false)
Definition: Tracklet.cc:16
trklet::LayerResidual::stubptr
const Stub * stubptr() const
Definition: LayerResidual.h:73
trklet::Tracklet::barrel_
bool barrel_
Definition: Tracklet.h:515
trklet::Tracklet::fpgazproj
const FPGAWord & fpgazproj(int layer) const
Definition: Tracklet.h:99
trklet::Tracklet::phiresid
double phiresid(int layer) const
Definition: Tracklet.h:375
trklet::Tracklet::trackletprojstr
std::string trackletprojstr(int layer) const
Definition: Tracklet.cc:271
trklet::Tracklet::~Tracklet
~Tracklet()=default
trklet::LayerProjection::fpgaphiproj
const FPGAWord & fpgaphiproj() const
Definition: LayerProjection.h:44
trklet::Stub
Definition: Stub.h:16
trklet::Tracklet::rprojdisk
double rprojdisk(int disk) const
Definition: Tracklet.h:316
trklet::Tracklet::middleStub
const L1TStub * middleStub()
Definition: Tracklet.h:68
trklet::Track
Definition: Track.h:18
trklet::Tracklet::validResid
bool validResid(int layer) const
Definition: Tracklet.h:365
trklet::Tracklet::isOverlap
bool isOverlap() const
Definition: Tracklet.h:489
trklet::Tracklet::seedIndex
unsigned int seedIndex() const
Definition: Tracklet.h:507
trklet::Tracklet::stubptr
const trklet::Stub * stubptr(int layer) const
Definition: Tracklet.h:370
trklet::Tracklet::innerStub
const L1TStub * innerStub()
Definition: Tracklet.h:65
trklet::DiskProjection::fpgaphiprojder
const FPGAWord & fpgaphiprojder() const
Definition: DiskProjection.h:56
trklet::Tracklet::rbin1projvm
int rbin1projvm(int disk) const
Definition: Tracklet.h:129
trklet::Tracklet::trackletprojstrD
std::string trackletprojstrD(int disk) const
Definition: Tracklet.cc:291
trklet::Tracklet::phi0approx
double phi0approx() const
Definition: Tracklet.h:416
trklet::DiskProjection
Definition: DiskProjection.h:12
trklet::Tracklet::hitpattern_
int hitpattern_
Definition: Tracklet.h:554
trklet::Tracklet::fullmatchdiskstr
std::string fullmatchdiskstr(int disk)
Definition: Tracklet.cc:394
trklet::N_LAYER
constexpr int N_LAYER
Definition: Settings.h:19
trklet::Tracklet::nMatches
int nMatches()
Definition: Tracklet.cc:352
trklet::Tracklet::projdisk_
int projdisk_[N_DISK]
Definition: Tracklet.h:539
trklet::LayerProjection::fpgazproj
const FPGAWord & fpgazproj() const
Definition: LayerProjection.h:49
trklet::Tracklet::phiprojder
double phiprojder(int layer) const
Definition: Tracklet.h:159
trklet::LayerProjection::zprojderapprox
double zprojderapprox() const
Definition: LayerProjection.h:124
trklet::Tracklet::phiprojderapprox
double phiprojderapprox(int layer) const
Definition: Tracklet.h:189
LayerResidual.h
trklet::LayerProjection::zprojder
double zprojder() const
Definition: LayerProjection.h:104
trklet::Tracklet::rproj
double rproj(int layer) const
Definition: Tracklet.h:194
trklet::Tracklet::zproj
double zproj(int layer) const
Definition: Tracklet.h:164
trklet::Tracklet::d0fit
double d0fit() const
Definition: Tracklet.h:429
trklet::Tracklet::calcSeedIndex
unsigned int calcSeedIndex() const
Definition: Tracklet.cc:861
trklet::LayerResidual::phiresidapprox
double phiresidapprox() const
Definition: LayerResidual.h:58
trklet::FPGAWord
Definition: FPGAWord.h:9
trklet::Tracklet::phiprojderapproxdisk
double phiprojderapproxdisk(int disk) const
Definition: Tracklet.h:291
trklet::Tracklet::zprojderapprox
double zprojderapprox(int layer) const
Definition: Tracklet.h:179
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
trklet::LayerProjection::fpgaphiprojder
const FPGAWord & fpgaphiprojder() const
Definition: LayerProjection.h:54
trklet::Tracklet::alphadisk
double alphadisk(int disk) const
Definition: Tracklet.h:256
trklet::DiskProjection::rprojapprox
double rprojapprox() const
Definition: DiskProjection.h:116
trklet::LayerResidual::valid
bool valid() const
Definition: LayerResidual.h:31
DiskProjection.h
trklet::LayerResidual::rstub
double rstub() const
Definition: LayerResidual.h:68
trklet::Tracklet::phi0fit
double phi0fit() const
Definition: Tracklet.h:428
trklet::Tracklet::TCID
int TCID() const
Definition: Tracklet.h:500
trklet::Tracklet::iphi0fit
const FPGAWord & iphi0fit() const
Definition: Tracklet.h:441
trklet::Tracklet::zstubdisk
double zstubdisk(int disk)
Definition: Tracklet.h:241
trklet::Tracklet::fpgarresiddisk
const FPGAWord & fpgarresiddisk(int disk)
Definition: Tracklet.h:216
trklet::Tracklet::finezvm
int finezvm(int layer) const
Definition: Tracklet.h:124
trklet::Tracklet::outerStub_
const L1TStub * outerStub_
Definition: Tracklet.h:526
trklet::DiskResidual::zstub
double zstub() const
Definition: DiskResidual.h:70
trklet::N_PROJ
constexpr unsigned int N_PROJ
Definition: Settings.h:731
DiskResidual.h
trklet::Tracklet::trackletparstr
std::string trackletparstr()
Definition: Tracklet.cc:201
trklet::Tracklet::rinvfitexact
double rinvfitexact() const
Definition: Tracklet.h:434
trklet::Tracklet::ialphadisk
const FPGAWord & ialphadisk(int disk) const
Definition: Tracklet.h:261
trklet::Tracklet::phiprojdisk
double phiprojdisk(int disk) const
Definition: Tracklet.h:306
trklet::Tracklet::fpgaphiresid
const FPGAWord & fpgaphiresid(int layer) const
Definition: Tracklet.h:395
trklet::DiskProjection::fpgarproj
const FPGAWord & fpgarproj() const
Definition: DiskProjection.h:51
trklet::Tracklet::tapprox
double tapprox() const
Definition: Tracklet.h:418
trklet::Tracklet::getStubIDs
std::map< int, int > getStubIDs()
Definition: Tracklet.cc:436
trklet::Tracklet::innerFPGAStub_
const Stub * innerFPGAStub_
Definition: Tracklet.h:520
trklet::Tracklet::phiprojapproxdisk
double phiprojapproxdisk(int disk) const
Definition: Tracklet.h:286
trklet::Tracklet::outerStub
const L1TStub * outerStub()
Definition: Tracklet.h:71
trklet::Tracklet::phiresiddisk
double phiresiddisk(int disk)
Definition: Tracklet.h:221
trklet::Tracklet::ichiSqfit
FPGAWord ichiSqfit() const
Definition: Tracklet.h:445
trklet::Tracklet::zprojvm
int zprojvm(int layer) const
Definition: Tracklet.h:149
trklet::LayerProjection::fpgazprojvm
const FPGAWord & fpgazprojvm() const
Definition: LayerProjection.h:84
trklet::Tracklet::rstub
double rstub(int layer)
Definition: Tracklet.h:199
goodZToMuMu_cfi.overlap
overlap
Definition: goodZToMuMu_cfi.py:108
trklet::DiskResidual::fpgaphiresid
const FPGAWord & fpgaphiresid() const
Definition: DiskResidual.h:35
trklet::TrackPars
Definition: TrackPars.h:7
trklet::Tracklet::rprojderapproxdisk
double rprojderapproxdisk(int disk) const
Definition: Tracklet.h:301
trklet::Tracklet::trackletprojstrdisk
std::string trackletprojstrdisk(int disk) const
Definition: Tracklet.h:87
trklet::Tracklet::setTrackletIndex
void setTrackletIndex(int index)
Definition: Tracklet.cc:844
trklet::Tracklet::fpgaz0
const FPGAWord & fpgaz0() const
Definition: Tracklet.h:425
LayerProjection.h
trklet::Tracklet::id0fit
const FPGAWord & id0fit() const
Definition: Tracklet.h:442
trklet
Definition: AllProjectionsMemory.h:9
trklet::LayerResidual
Definition: LayerResidual.h:13
trklet::FPGAWord::value
int value() const
Definition: FPGAWord.h:24
trklet::Tracklet::isBarrel
bool isBarrel() const
Definition: Tracklet.h:488
trklet::Tracklet::fpgafitpars_
TrackPars< FPGAWord > fpgafitpars_
Definition: Tracklet.h:542
trklet::Tracklet::tfitexact
double tfitexact() const
Definition: Tracklet.h:437
trklet::TrackPars::z0
const T & z0() const
Definition: TrackPars.h:33
trklet::TrackPars::rinv
const T & rinv() const
Definition: TrackPars.h:29
trklet::Tracklet::rinvfit
double rinvfit() const
Definition: Tracklet.h:427
trklet::Tracklet::innerFPGAStub
const Stub * innerFPGAStub()
Definition: Tracklet.h:66
trklet::Tracklet::setBendIndex
void setBendIndex(int bendIndex, int disk)
Definition: Tracklet.h:246
trklet::Tracklet::z0
double z0() const
Definition: Tracklet.h:413
trklet::Tracklet::matchdisk
bool matchdisk(int disk)
Definition: Tracklet.h:326
trklet::DiskResidual::rresid
double rresid() const
Definition: DiskResidual.h:55
trklet::Tracklet::rinv
double rinv() const
Definition: Tracklet.h:409
trklet::DiskResidual::fpgarresid
const FPGAWord & fpgarresid() const
Definition: DiskResidual.h:40
trklet::Tracklet::d0
double d0() const
Definition: Tracklet.h:411
trklet::Tracklet::chisqrphifit_
double chisqrphifit_
Definition: Tracklet.h:547
trklet::Tracklet::setTCIndex
void setTCIndex(int index)
Definition: Tracklet.h:496
trklet::Tracklet::disk2
int disk2() const
Definition: Tracklet.cc:837
trklet::LayerProjection::phiprojder
double phiprojder() const
Definition: LayerProjection.h:99
Track.h
trklet::DiskProjection::rproj
double rproj() const
Definition: DiskProjection.h:96
PVValHelper::dz
Definition: PVValidationHelpers.h:50
trklet::DiskProjection::phiproj
double phiproj() const
Definition: DiskProjection.h:76
trklet::Tracklet::makeTrack
Track makeTrack(const std::vector< const L1TStub * > &l1stubs)
Definition: Tracklet.cc:794
trklet::Tracklet::zprojder
double zprojder(int layer) const
Definition: Tracklet.h:169
trklet::LayerProjection::fpgazprojder
const FPGAWord & fpgazprojder() const
Definition: LayerProjection.h:59
trklet::DiskProjection::phiprojder
double phiprojder() const
Definition: DiskProjection.h:101
trklet::Tracklet::fpgapars_
TrackPars< FPGAWord > fpgapars_
Definition: Tracklet.h:532
trklet::Tracklet::outerFPGAStub
const Stub * outerFPGAStub()
Definition: Tracklet.h:72
flavorHistoryFilter_cfi.dr
dr
Definition: flavorHistoryFilter_cfi.py:37
trklet::Tracklet::phiproj
double phiproj(int layer) const
Definition: Tracklet.h:154
trklet::Tracklet::fpgaphiproj
const FPGAWord & fpgaphiproj(int layer) const
Definition: Tracklet.h:104
trklet::Tracklet::setFitPars
void setFitPars(double rinvfit, double phi0fit, double d0fit, double tfit, double z0fit, double chisqrphifit, double chisqrzfit, double rinvfitexact, double phi0fitexact, double d0fitexact, double tfitexact, double z0fitexact, double chisqrphifitexact, double chisqrzfitexact, int irinvfit, int iphi0fit, int id0fit, int itfit, int iz0fit, int ichisqrphifit, int ichisqrzfit, int hitpattern, const std::vector< const L1TStub * > &l1stubs=std::vector< const L1TStub * >())
Definition: Tracklet.cc:590
trklet::Tracklet::chiSqfit
double chiSqfit() const
Definition: Tracklet.h:432
trklet::Tracklet::chisqrzfit_
double chisqrzfit_
Definition: Tracklet.h:548
trklet::Tracklet::trackfitstr
std::string trackfitstr()
Definition: Tracklet.cc:647
trklet::LayerProjection::valid
bool valid() const
Definition: LayerProjection.h:32
trklet::LayerProjection::fpgazbin2projvm
const FPGAWord & fpgazbin2projvm() const
Definition: LayerProjection.h:74
trklet::Tracklet::fpgarprojdisk
const FPGAWord & fpgarprojdisk(int disk) const
Definition: Tracklet.h:276
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
trklet::DiskProjection::rprojderapprox
double rprojderapprox() const
Definition: DiskProjection.h:126
trklet::Tracklet::disk
int disk() const
Definition: Tracklet.cc:824
trklet::Tracklet::fpgarinv
const FPGAWord & fpgarinv() const
Definition: Tracklet.h:421
trklet::LayerProjection::phiprojapprox
double phiprojapprox() const
Definition: LayerProjection.h:109
trklet::Tracklet::rprojapproxdisk
double rprojapproxdisk(int disk) const
Definition: Tracklet.h:296
trklet::Tracklet::z0fit
double z0fit() const
Definition: Tracklet.h:431
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
trklet::LayerProjection::phiprojderapprox
double phiprojderapprox() const
Definition: LayerProjection.h:119
trklet::Tracklet::fpgaphiprojderdisk
const FPGAWord & fpgaphiprojderdisk(int disk) const
Definition: Tracklet.h:271
trklet::DiskResidual::ialpha
const FPGAWord & ialpha() const
Definition: DiskResidual.h:80
trklet::LayerResidual::fpgazresid
const FPGAWord & fpgazresid() const
Definition: LayerResidual.h:38
trklet::TrackPars::phi0
const T & phi0() const
Definition: TrackPars.h:30
trklet::Tracklet::ichisqrzfit_
FPGAWord ichisqrzfit_
Definition: Tracklet.h:544
trklet::Tracklet::validProjDisk
bool validProjDisk(int disk) const
Definition: Tracklet.h:206
trklet::DiskProjection::fpgarbin1projvm
const FPGAWord & fpgarbin1projvm() const
Definition: DiskProjection.h:81
trklet::Tracklet::phiprojderdisk
double phiprojderdisk(int disk) const
Definition: Tracklet.h:311
trklet::Tracklet::t
double t() const
Definition: Tracklet.h:412
trklet::Tracklet::trackparsapprox_
TrackPars< double > trackparsapprox_
Definition: Tracklet.h:535
trklet::Tracklet::fpgaphi0
const FPGAWord & fpgaphi0() const
Definition: Tracklet.h:422
trklet::Tracklet::seedIndex_
unsigned int seedIndex_
Definition: Tracklet.h:512
trklet::Tracklet::middleStub_
const L1TStub * middleStub_
Definition: Tracklet.h:525
trklet::Tracklet::getL1Stubs
std::vector< const L1TStub * > getL1Stubs()
Definition: Tracklet.cc:413
trklet::Tracklet::disk_
bool disk_
Definition: Tracklet.h:516
trklet::Tracklet::fitparsexact_
TrackPars< double > fitparsexact_
Definition: Tracklet.h:550
trklet::DiskResidual::phiresid
double phiresid() const
Definition: DiskResidual.h:50
trklet::Tracklet::getBendIndex
const FPGAWord & getBendIndex(int disk) const
Definition: Tracklet.h:251
trklet::Tracklet::phiprojapprox
double phiprojapprox(int layer) const
Definition: Tracklet.h:184
trklet::LayerProjection::fpgazbin1projvm
const FPGAWord & fpgazbin1projvm() const
Definition: LayerProjection.h:69
trklet::Tracklet::layer
int layer() const
Definition: Tracklet.cc:817
trklet::Tracklet::zprojapprox
double zprojapprox(int layer) const
Definition: Tracklet.h:174
trklet::DiskResidual::alpha
double alpha() const
Definition: DiskResidual.h:75
trklet::Tracklet::vmstrlayer
std::string vmstrlayer(int layer, unsigned int allstubindex)
Definition: Tracklet.cc:222
trklet::Tracklet::match
bool match(int layer)
Definition: Tracklet.h:357
trklet::Tracklet::projlayer_
int projlayer_[N_LAYER - 2]
Definition: Tracklet.h:538
trklet::Tracklet::iz0fit
const FPGAWord & iz0fit() const
Definition: Tracklet.h:444
trklet::Tracklet::zresidapprox
double zresidapprox(int layer) const
Definition: Tracklet.h:390