CMS 3D CMS Logo

Settings.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTracklet_interface_Settings_h
2 #define L1Trigger_TrackFindingTracklet_interface_Settings_h
3 
4 #include <iostream>
5 #include <string>
6 #include <array>
7 #include <set>
8 #include <cassert>
9 #include <cmath>
10 #include <unordered_map>
11 
14 
15 namespace trklet {
16 
17  constexpr unsigned int N_SECTOR = 9; // # of phi sectors for L1TK processing
18 
19  constexpr int N_LAYER = 6; // # of barrel layers assumed
20  constexpr int N_DISK = 5; // # of endcap disks assumed
21  constexpr unsigned int N_PSLAYER = 3; // # of barrel PS layers assumed
22  constexpr unsigned int N_SEED = 12; // # of tracklet+triplet seeds
23 
24  constexpr unsigned int N_DSS_MOD = 5; // # of rings with 2S modules per disk
25 
26  constexpr unsigned int NRINVBITS = 5; //number of bit for rinv in bend match table
27  constexpr unsigned int NFINERZBITS = 3; //number of bit for r or z within a r/z bin
28 
29  constexpr double sixth = 1.0 / 6.0; //Commonly used factor
30 
31  class Settings {
32  public:
34  //Comment out to run tracklet-only algorithm
35 #ifdef CMSSW_GIT_HASH
36 #ifndef USEHYBRID
37 #pragma message "USEHYBRID is undefined, so Hybrid L1 tracking disabled."
38 #endif
39 #endif
40  }
41 
42  ~Settings() = default;
43 
44  // processing & memory modules, wiring, etc.
45  std::string DTCLinkFile() const { return DTCLinkFile_; }
48  std::string const& fitPatternFile() const { return fitPatternFile_; }
51  std::string const& wiresFile() const { return wiresFile_; }
52  std::string const& tableTEDFile() const { return tableTEDFile_; }
53  std::string const& tableTREFile() const { return tableTREFile_; }
54 
55  void setDTCLinkFile(std::string DTCLinkFileName) { DTCLinkFile_ = DTCLinkFileName; }
56  void setModuleCablingFile(std::string moduleCablingFileName) { moduleCablingFile_ = moduleCablingFileName; }
57  void setDTCLinkLayerDiskFile(std::string DTCLinkLayerDiskFileName) {
58  DTCLinkLayerDiskFile_ = DTCLinkLayerDiskFileName;
59  }
60  void setFitPatternFile(std::string fitPatternFileName) { fitPatternFile_ = fitPatternFileName; }
61  void setProcessingModulesFile(std::string processingModulesFileName) {
62  processingModulesFile_ = processingModulesFileName;
63  }
64  void setMemoryModulesFile(std::string memoryModulesFileName) { memoryModulesFile_ = memoryModulesFileName; }
65  void setWiresFile(std::string wiresFileName) { wiresFile_ = wiresFileName; }
66  void setTableTEDFile(std::string tableTEDFileName) { tableTEDFile_ = tableTEDFileName; }
67  void setTableTREFile(std::string tableTREFileName) { tableTREFile_ = tableTREFileName; }
68 
69  unsigned int nzbitsstub(unsigned int layerdisk) const { return nzbitsstub_[layerdisk]; }
70  unsigned int nphibitsstub(unsigned int layerdisk) const { return nphibitsstub_[layerdisk]; }
71  unsigned int nrbitsstub(unsigned int layerdisk) const { return nrbitsstub_[layerdisk]; }
72 
73  unsigned int nrbitsprojderdisk() const { return nrbitsprojderdisk_; }
74  unsigned int nbitsphiprojderL123() const { return nbitsphiprojderL123_; }
75  unsigned int nbitsphiprojderL456() const { return nbitsphiprojderL456_; }
76  unsigned int nbitszprojderL123() const { return nbitszprojderL123_; }
77  unsigned int nbitszprojderL456() const { return nbitszprojderL456_; }
78 
79  unsigned int nbendbitsmedisk() const { return nbendbitsmedisk_; }
80 
81  bool useSeed(unsigned int iSeed) const { return useseeding_.find(iSeed) != useseeding_.end(); }
82  unsigned int nbitsvmte(unsigned int inner, unsigned int iSeed) const {
83  if (combined_) {
84  return nbitsvmtecm_[inner][iSeed];
85  }
86  return nbitsvmte_[inner][iSeed];
87  }
88  unsigned int nvmte(unsigned int inner, unsigned int iSeed) const { return (1 << nbitsvmte(inner, iSeed)); }
89 
90  unsigned int nbitsvmme(unsigned int layerdisk) const { return nbitsvmme_[layerdisk]; }
91  unsigned int nvmme(unsigned int layerdisk) const { return (1 << nbitsvmme_[layerdisk]); }
92 
93  unsigned int nbitsallstubs(unsigned int layerdisk) const { return nbitsallstubs_[layerdisk]; }
94  unsigned int nallstubs(unsigned int layerdisk) const { return (1 << nbitsallstubs_[layerdisk]); }
95 
96  bool writeMonitorData(std::string module) const {
97  if (writeMonitorData_.find(module) == writeMonitorData_.end()) {
98  throw cms::Exception("BadConfig") << "Settings::writeMonitorData module = " << module << " not known";
99  }
100  return writeMonitorData_.at(module);
101  }
102 
103  unsigned int maxStep(std::string module) const {
104  if (maxstep_.find(module) == maxstep_.end()) {
105  throw cms::Exception("BadConfig")
106  << __FILE__ << " " << __LINE__ << " maxStep module = " << module << " not known";
107  }
108  return maxstep_.at(module) + maxstepoffset_;
109  }
110 
111  double zlength() const { return zlength_; }
112  double rmaxdisk() const { return rmaxdisk_; }
113  double rmindisk() const { return rmindisk_; }
114 
115  double drmax() const { return rmaxdisk_ / deltarzfract_; }
116  double dzmax() const { return zlength_ / deltarzfract_; }
117 
118  double half2SmoduleWidth() const { return half2SmoduleWidth_; }
119 
120  double bendcutte(unsigned int inner, unsigned int iSeed) const { return bendcutte_[inner][iSeed]; }
121  double bendcutme(unsigned int layerdisk) const { return bendcutme_[layerdisk]; }
122  int nfinephi(unsigned int inner, unsigned int iSeed) const { return nfinephi_[inner][iSeed]; }
123  double nphireg(unsigned int inner, unsigned int iSeed) const {
124  if (combined_) {
125  return nphiregcm_[inner][iSeed];
126  }
127  return nphireg_[inner][iSeed];
128  }
129  double lutwidthtab(unsigned int inner, unsigned int iSeed) const { return lutwidthtab_[inner][iSeed]; }
130  double lutwidthtabextended(unsigned int inner, unsigned int iSeed) const {
131  return lutwidthtabextended_[inner][iSeed];
132  }
133 
134  unsigned int projlayers(unsigned int iSeed, unsigned int i) const { return projlayers_[iSeed][i]; }
135  unsigned int projdisks(unsigned int iSeed, unsigned int i) const { return projdisks_[iSeed][i]; }
136  double rphimatchcut(unsigned int iSeed, unsigned int ilayer) const { return rphimatchcut_[ilayer][iSeed]; }
137  double zmatchcut(unsigned int iSeed, unsigned int ilayer) const { return zmatchcut_[ilayer][iSeed]; }
138  double rphicutPS(unsigned int iSeed, unsigned int idisk) const { return rphicutPS_[idisk][iSeed]; }
139  double rcutPS(unsigned int iSeed, unsigned int idisk) const { return rcutPS_[idisk][iSeed]; }
140  double rphicut2S(unsigned int iSeed, unsigned int idisk) const { return rphicut2S_[idisk][iSeed]; }
141  double rcut2S(unsigned int iSeed, unsigned int idisk) const { return rcut2S_[idisk][iSeed]; }
142 
143  double rmean(unsigned int iLayer) const { return irmean_[iLayer] * rmaxdisk_ / 4096; }
144  double rmax(unsigned int iLayer) const { return rmean(iLayer) + drmax(); }
145  double rmin(unsigned int iLayer) const { return rmean(iLayer) - drmax(); }
146  double zmean(unsigned int iDisk) const { return izmean_[iDisk] * zlength_ / 2048; }
147  double zmax(unsigned int iDisk) const { return zmean(iDisk) + dzmax(); }
148  double zmin(unsigned int iDisk) const { return zmean(iDisk) - dzmax(); }
149 
150  double rDSSinner(unsigned int iBin) const {
151  return rDSSinner_mod_[iBin / 2] + halfstrip_ * ((iBin % 2 == 0) ? -1 : 1);
152  }
153  double rDSSouter(unsigned int iBin) const {
154  return rDSSouter_mod_[iBin / 2] + halfstrip_ * ((iBin % 2 == 0) ? -1 : 1);
155  }
156 
157  unsigned int vmrlutzbits(unsigned int layerdisk) const { return vmrlutzbits_[layerdisk]; }
158  unsigned int vmrlutrbits(unsigned int layerdisk) const { return vmrlutrbits_[layerdisk]; }
159 
160  bool printDebugKF() const { return printDebugKF_; }
161  bool debugTracklet() const { return debugTracklet_; }
162  bool writetrace() const { return writetrace_; }
163 
164  bool warnNoMem() const { return warnNoMem_; }
165  bool warnNoDer() const { return warnNoDer_; }
166 
167  bool writeMem() const { return writeMem_; }
168  bool writeTable() const { return writeTable_; }
169  std::string const& memPath() const { return memPath_; }
170  std::string const& tablePath() const { return tablePath_; }
171 
172  bool writeVerilog() const { return writeVerilog_; }
173  bool writeHLS() const { return writeHLS_; }
174  bool writeInvTable() const { return writeInvTable_; }
175  bool writeHLSInvTable() const { return writeHLSInvTable_; }
176 
177  unsigned int writememsect() const { return writememsect_; }
178 
179  bool enableTripletTables() const { return enableTripletTables_; }
180  bool writeTripletTables() const { return writeTripletTables_; }
181 
182  bool writeoutReal() const { return writeoutReal_; }
183 
184  bool bookHistos() const { return bookHistos_; }
185 
186  double ptcut() const { return ptcut_; }
187  double rinvcut() const { return 0.01 * c_ * bfield_ / ptcut_; } //0.01 to convert to cm-1
188 
189  double c() const { return c_; }
190 
191  double rinvmax() const { return 0.01 * c_ * bfield_ / ptmin_; }
192 
193  int alphashift() const { return alphashift_; }
194  int nbitsalpha() const { return nbitsalpha_; }
195  int alphaBitsTable() const { return alphaBitsTable_; }
196  int nrinvBitsTable() const { return nrinvBitsTable_; }
197 
198  unsigned int MEBinsBits() const { return MEBinsBits_; }
199  unsigned int MEBins() const { return 1u << MEBinsBits_; }
200  unsigned int MEBinsDisks() const { return MEBinsDisks_; }
201  unsigned int maxStubsPerBin() const { return maxStubsPerBin_; }
202 
204  if (combined_)
205  return "hourglassCombined";
206  return extended_ ? "hourglassExtended" : "hourglass";
207  }
208 
209  bool exactderivatives() const { return exactderivatives_; }
211  bool useapprox() const { return useapprox_; }
212  bool usephicritapprox() const { return usephicritapprox_; }
213 
214  unsigned int minIndStubs() const { return minIndStubs_; }
217  bool doKF() const { return doKF_; }
218  bool doMultipleMatches() const { return doMultipleMatches_; }
219  bool fakefit() const { return fakefit_; }
220 
221  // configurable
222  unsigned int nHelixPar() const { return nHelixPar_; }
223  void setNHelixPar(unsigned int nHelixPar) { nHelixPar_ = nHelixPar; }
224 
225  bool extended() const { return extended_; }
227  bool combined() const { return combined_; }
229 
230  double bfield() const { return bfield_; }
231  void setBfield(double bfield) { bfield_ = bfield; }
232 
233  unsigned int nStrips(bool isPSmodule) const { return isPSmodule ? nStrips_PS_ : nStrips_2S_; }
234  void setNStrips_PS(unsigned int nStrips_PS) { nStrips_PS_ = nStrips_PS; }
235  void setNStrips_2S(unsigned int nStrips_2S) { nStrips_2S_ = nStrips_2S; }
236 
237  double stripPitch(bool isPSmodule) const { return isPSmodule ? stripPitch_PS_ : stripPitch_2S_; }
238  void setStripPitch_PS(double stripPitch_PS) { stripPitch_PS_ = stripPitch_PS; }
239  void setStripPitch_2S(double stripPitch_2S) { stripPitch_2S_ = stripPitch_2S; }
240 
241  double stripLength(bool isPSmodule) const { return isPSmodule ? stripLength_PS_ : stripLength_2S_; }
242  void setStripLength_PS(double stripLength_PS) { stripLength_PS_ = stripLength_PS; }
243  void setStripLength_2S(double stripLength_2S) { stripLength_2S_ = stripLength_2S; }
244 
245  std::string skimfile() const { return skimfile_; }
247 
248  unsigned int nbitstrackletindex() const { return nbitstrackletindex_; }
250 
251  double dphisectorHG() const {
252  return 2 * M_PI / N_SECTOR +
253  2 * std::max(std::abs(asin(0.5 * rinvmax() * rmean(0)) - asin(0.5 * rinvmax() * rcrit_)),
254  std::abs(asin(0.5 * rinvmax() * rmean(5)) - asin(0.5 * rinvmax() * rcrit_)));
255  }
256 
257  double rcrit() const { return rcrit_; }
258 
259  double dphisector() const { return 2 * M_PI / N_SECTOR; }
260 
261  double phicritmin() const { return 0.5 * dphisectorHG() - M_PI / N_SECTOR; }
262  double phicritmax() const { return dphisectorHG() - 0.5 * dphisectorHG() + M_PI / N_SECTOR; }
263 
264  double phicritminmc() const { return phicritmin() - dphicritmc_; }
265  double phicritmaxmc() const { return phicritmax() + dphicritmc_; }
266 
267  double kphi() const { return dphisectorHG() / (1 << nphibitsstub(0)); }
268  double kphi1() const { return dphisectorHG() / (1 << nphibitsstub(5)); }
269 
270  double kz() const { return 2 * zlength_ / (1 << nzbitsstub_[0]); }
271  double kr() const { return rmaxdisk_ / (1 << nrbitsstub_[6]); }
272 
273  double maxrinv() const { return maxrinv_; }
274  double maxd0() const { return maxd0_; }
275  unsigned int nbitsd0() const { return nbitsd0_; }
276 
277  double kd0() const { return 2 * maxd0_ / (1 << nbitsd0_); }
278 
279  double rinvcutte() const { return 0.01 * c_ * bfield_ / ptcutte_; } //0.01 to convert to cm-1
280 
281  double rmindiskvm() const { return rmindiskvm_; }
282  double rmaxdiskvm() const { return rmaxdiskvm_; }
283 
284  double rmaxdiskl1overlapvm() const { return rmaxdiskl1overlapvm_; }
285  double rmindiskl2overlapvm() const { return rmindiskl2overlapvm_; }
286  double rmindiskl3overlapvm() const { return rmindiskl3overlapvm_; }
287 
288  double rPS2S() const { return rPS2S_; }
289 
290  double z0cut() const { return z0cut_; }
291 
292  double disp_z0cut() const { return disp_z0cut_; }
293 
294  unsigned int NLONGVMBITS() const { return NLONGVMBITS_; }
295  unsigned int NLONGVMBINS() const { return (1 << NLONGVMBITS_); }
296 
297  unsigned int ntrackletmax() const { return ((1 << nbitstrackletindex_) - 1); }
298 
299  //Bits used to store track parameter in tracklet
300  int nbitsrinv() const { return nbitsrinv_; }
301  int nbitsphi0() const { return nbitsphi0_; }
302  int nbitst() const { return nbitst_; }
303  int nbitsz0() const { return nbitsz0_; }
304 
305  //track and tracklet parameters
306  int rinv_shift() const { return rinv_shift_; }
307  int phi0_shift() const { return phi0_shift_; }
308  int t_shift() const { return t_shift_; }
309  int z0_shift() const { return z0_shift_; }
310 
311  //projections are coarsened from global to stub precision
312 
313  //projection to R parameters
314  int SS_phiL_shift() const { return SS_phiL_shift_; }
315  int PS_zL_shift() const { return PS_zL_shift_; }
316 
317  int SS_phiderL_shift() const { return SS_phiderL_shift_; }
318  int PS_zderL_shift() const { return PS_zderL_shift_; }
319  int SS_zderL_shift() const { return SS_zderL_shift_; }
320 
321  //projection to Z parameters
322  int SS_phiD_shift() const { return SS_phiD_shift_; }
323  int PS_rD_shift() const { return PS_rD_shift_; }
324 
325  int SS_phiderD_shift() const { return SS_phiderD_shift_; }
326  int PS_rderD_shift() const { return PS_rderD_shift_; }
327 
328  //numbers needed for matches & fit, unclear what they are.
329  int phi0bitshift() const { return phi0bitshift_; }
330  int phiderbitshift() const { return phiderbitshift_; }
331  int zderbitshift() const { return zderbitshift_; }
332 
333  int phiresidbits() const { return phiresidbits_; }
334  int zresidbits() const { return zresidbits_; }
335  int rresidbits() const { return rresidbits_; }
336 
337  //Trackfit
338  int fitrinvbitshift() const { return fitrinvbitshift_; }
339  int fitphi0bitshift() const { return fitphi0bitshift_; }
340  int fittbitshift() const { return fittbitshift_; }
341  int fitz0bitshift() const { return fitz0bitshift_; }
342 
343  //r correction bits
344  int rcorrbits() const { return rcorrbits_; }
345 
346  int chisqphifactbits() const { return chisqphifactbits_; }
347  int chisqzfactbits() const { return chisqzfactbits_; }
348 
349  //0.02 here is the maximum range in rinv values that can be represented
350  double krinvpars() const {
351  int shift = ceil(-log2(0.02 * rmaxdisk_ / ((1 << nbitsrinv_) * dphisectorHG())));
352  return dphisectorHG() / rmaxdisk_ / (1 << shift);
353  }
354  double kphi0pars() const { return 2 * kphi1(); }
355  double ktpars() const { return maxt_ / (1 << nbitst_); }
356  double kz0pars() const { return kz(); }
357  double kd0pars() const { return kd0(); }
358 
359  double kphider() const { return krinvpars() / (1 << phiderbitshift_); }
360  double kzder() const { return ktpars() / (1 << zderbitshift_); }
361 
362  //This is a 'historical accident' and should be fixed so that we don't
363  //have the factor if 2
364  double krprojshiftdisk() const { return 2 * kr(); }
365 
366  private:
376 
377  double rcrit_{55.0}; // critical radius for the hourglass configuration
378 
379  double dphicritmc_{0.005};
380 
381  //fraction of full r and z range that stubs can be located within layer/disk
382  double deltarzfract_{32.0};
383 
384  double maxt_{32.0}; //range in t that we must cover
385 
386  std::array<unsigned int, N_LAYER> irmean_{{851, 1269, 1784, 2347, 2936, 3697}};
387  std::array<unsigned int, N_DISK> izmean_{{2239, 2645, 3163, 3782, 4523}};
388 
389  std::array<unsigned int, N_LAYER + N_DISK> nzbitsstub_{{12, 12, 12, 8, 8, 8, 7, 7, 7, 7, 7}};
390  std::array<unsigned int, N_LAYER + N_DISK> nphibitsstub_{{14, 14, 14, 17, 17, 17, 14, 14, 14, 14, 14}};
391  std::array<unsigned int, N_LAYER + N_DISK> nrbitsstub_{{7, 7, 7, 7, 7, 7, 12, 12, 12, 12, 12}};
392 
393  unsigned int nrbitsprojderdisk_{9};
394  unsigned int nbitsphiprojderL123_{10};
395  unsigned int nbitsphiprojderL456_{10};
396  unsigned int nbitszprojderL123_{10};
397  unsigned int nbitszprojderL456_{9};
398 
399  unsigned int nbendbitsmedisk_{4}; // Always 4 bits even for PS disk hits, for HLS compatibility
400 
401  std::set<unsigned int> useseeding_{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
402 
403  std::array<unsigned int, N_LAYER + N_DISK> nbitsallstubs_{{3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}};
404  std::array<unsigned int, N_LAYER + N_DISK> nbitsvmme_{{2, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2}};
405  std::array<std::array<unsigned int, N_SEED>, 3> nbitsvmte_{
406  {{{2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 3, 2}}, // (3 = #stubs/triplet, only row 1+2 used for tracklet)
407  {{3, 2, 3, 3, 2, 2, 2, 2, 3, 3, 2, 2}},
408  {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1}}}};
409 
410  std::array<std::array<unsigned int, N_SEED>, 3> nbitsvmtecm_{
411  {{{2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 3, 2}}, // (3 = #stubs/triplet, only row 1+2 used for tracklet)
412  {{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2}},
413  {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1}}}};
414 
415  std::array<std::array<double, 8>, 2> bendcutte_{
416  {{{1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25}}, //inner (2 = #stubs/tracklet)
417  {{1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25}}}}; //outer
418 
419  std::array<double, N_LAYER + N_DISK> bendcutme_{{2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 1.5, 1.5, 1.5, 1.5, 1.5}};
420 
421  double rmindiskvm_{22.5};
422  double rmaxdiskvm_{67.0};
423 
424  double rmaxdiskl1overlapvm_{45.0};
425  double rmindiskl2overlapvm_{40.0};
426  double rmindiskl3overlapvm_{50.0};
427 
428  double rPS2S_{60.0};
429 
430  double z0cut_{15.0};
431 
432  double disp_z0cut_{27.0};
433 
434  unsigned int NLONGVMBITS_{3};
435 
436  double zlength_{120.0};
437  double rmaxdisk_{120.0};
438  double rmindisk_{20.0};
439 
440  double half2SmoduleWidth_{4.57};
441 
442  double maxrinv_{0.006};
443  double maxd0_{10.0};
444 
445  unsigned int nbitsd0_{13};
446 
447  double ptmin_{2.0}; //minumim pt for tracks
448 
449  double ptcutte_{1.8}; //Minimum pt in TE
450 
451  unsigned int nbitstrackletindex_{7}; //Bits used to store the tracklet index
452 
453  //Bits used to store track parameter in tracklet
454  int nbitsrinv_{14};
455  int nbitsphi0_{18};
456  int nbitst_{14};
457  int nbitsz0_{10};
458 
459  //track and tracklet parameters
460  int rinv_shift_{-8}; // Krinv = 2^shift * Kphi/Kr
461  int phi0_shift_{1}; // Kphi0 = 2^shift * Kphi
462  int t_shift_{-10}; // Kt = 2^shift * Kz/Kr
463  int z0_shift_{0}; // Kz0 = 2^shift * kz
464 
465  //projections are coarsened from global to stub precision
466 
467  //projection to R parameters
469  int PS_zL_shift_{0}; // z projections have global precision in ITC
470 
472  int PS_zderL_shift_{-7}; // Kderz = 2^shift * Kz/Kr
474 
475  //projection to Z parameters
477  int PS_rD_shift_{1}; // a bug?! coarser by a factor of two then stubs??
478 
480  int PS_rderD_shift_{-6}; //Kderrdisk = 2^shift * Kr/Kz
481 
482  //numbers needed for matches & fit, unclear what they are.
486 
487  int phiresidbits_{12};
488  int zresidbits_{9};
489  int rresidbits_{7};
490 
491  //Trackfit
492  int fitrinvbitshift_{9}; //6 OK?
493  int fitphi0bitshift_{6}; //4 OK?
494  int fittbitshift_{10}; //4 OK? //lower number gives rounding problems
495  int fitz0bitshift_{8}; //6 OK?
496 
497  //r correction bits
498  int rcorrbits_{6};
499 
502 
503  std::array<unsigned int, N_LAYER + N_DISK> vmrlutzbits_{
504  {7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 3}}; // zbits used by LUT in VMR
505  std::array<unsigned int, N_LAYER + N_DISK> vmrlutrbits_{
506  {4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8}}; // rbits used by LUT in VMR
507 
508  std::array<std::array<unsigned int, N_SEED>, 3> nfinephi_{
509  {{{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}}, //inner (3 = #stubs/triplet, only row 1+2 used for tracklet)
510  {{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}}, //outer
511  {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3}}}}; //outermost (triplets only)
512 
513  //These are the number of bits used for the VM regions in the TE by seedindex
514  //FIXME not independed nbitsvmte
515  std::array<std::array<unsigned int, N_SEED>, 3> nphireg_{
516  {{{5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4}}, //inner
517  {{5, 4, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4}}, //outer
518  {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4}}}}; //outermost (triplets only)
519 
520  //For combined modules
521  std::array<std::array<unsigned int, N_SEED>, 3> nphiregcm_{
522  {{{5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4}}, //inner
523  {{5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4}}, //outer
524  {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4}}}}; //outermost (triplets only)
525 
526  std::array<std::array<unsigned int, N_SEED>, 3> lutwidthtab_{{{{10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 11, 0}},
527  {{6, 6, 6, 6, 10, 10, 10, 10, 0, 0, 6, 0}},
528  {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6}}}};
529 
530  std::array<std::array<unsigned int, N_SEED>, 3> lutwidthtabextended_{
531  {{{11, 11, 21, 21, 21, 21, 11, 11, 0, 0, 21, 0}},
532  {{6, 6, 6, 6, 10, 10, 10, 10, 0, 0, 6, 0}},
533  {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6}}}};
534 
535  //projection layers by seed index. For each seeding index (row) the list of layers that we consider projections to
536  std::array<std::array<unsigned int, N_LAYER - 2>, N_SEED> projlayers_{{{{3, 4, 5, 6}}, //0 L1L2
537  {{1, 4, 5, 6}}, //1 L2L3
538  {{1, 2, 5, 6}}, //2 L3L4
539  {{1, 2, 3, 4}}, //3 L5L6
540  {{1, 2}}, //4 D1D2
541  {{1}}, //5 D3D4
542  {{}}, //6 L1D1
543  {{1}}, //7 L2D1
544  {{1, 5, 6}}, //8 L2L3L4
545  {{1, 2, 3}}, //9 L4L5L6
546  {{1}}, //10 L2L3D1
547  {{1}}}}; //11 D1D2L2
548 
549  //projection disks by seed index. For each seeding index (row) the list of diks that we consider projections to
550  std::array<std::array<unsigned int, N_DISK>, N_SEED> projdisks_{{{{1, 2, 3, 4}}, //0 L1L2
551  {{1, 2, 3, 4}}, //1 L2L3
552  {{1, 2}}, //2 L3L4
553  {{}}, //3 L5L6
554  {{3, 4, 5}}, //4 D1D2
555  {{1, 2, 5}}, //5 D3D4
556  {{2, 3, 4, 5}}, //6 L1D1
557  {{2, 3, 4}}, //7 L2D1
558  {{1, 2}}, //8 L2L3L4
559  {{}}, //9 L4L5L6
560  {{2, 3, 4}}, //10 L2L3D1
561  {{3, 4}}}}; //11 D1D2L2
562 
563  //rphi cuts for layers - the column is the seedindex
564  std::array<std::array<double, N_SEED>, N_LAYER> rphimatchcut_{
565  {{{0.0, 0.1, 0.07, 0.08, 0.07, 0.05, 0.0, 0.05, 0.08, 0.15, 0.125, 0.15}}, //Layer 1
566  {{0.0, 0.0, 0.06, 0.08, 0.05, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0}}, //Layer 2
567  {{0.1, 0.0, 0.0, 0.08, 0.0, 0.0, 0.0, 0.0, 0.0, 0.08, 0.0, 0.0}}, //Layer 3
568  {{0.19, 0.19, 0.0, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, //Layer 4
569  {{0.4, 0.4, 0.08, 0.0, 0.0, 0.0, 0.0, 0.0, 0.08, 0.0, 0.0, 0.0}}, //Layer 5
570  {{0.5, 0.0, 0.19, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0}}}}; //Layer 6
571 
572  //z cuts for layers - the column is the seedindex
573  std::array<std::array<double, N_SEED>, N_LAYER> zmatchcut_{
574  {{{0.0, 0.7, 5.5, 15.0, 1.5, 2.0, 0.0, 1.5, 1.0, 8.0, 1.0, 1.5}}, //Layer 1
575  {{0.0, 0.0, 3.5, 15.0, 1.25, 0.0, 0.0, 0.0, 0.0, 7.0, 0.0, 0.0}}, //Layer 2
576  {{0.7, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0}}, //Layer 3
577  {{3.0, 3.0, 0.0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, //Layer 4
578  {{3.0, 3.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.5, 0.0, 0.0, 0.0}}, //Layer 5
579  {{4.0, 0.0, 9.5, 0.0, 0.0, 0.0, 0.0, 0.0, 4.5, 0.0, 0.0, 0.0}}}}; //Layer 6
580 
581  //rphi cuts for PS modules in disks - the column is the seedindex
582  std::array<std::array<double, N_SEED>, N_DISK> rphicutPS_{
583  {{{0.2, 0.2, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, //disk 1
584  {{0.2, 0.2, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1, 0.0, 0.0, 0.15, 0.0}}, //disk 2
585  {{0.25, 0.2, 0.0, 0.0, 0.15, 0.0, 0.2, 0.15, 0.0, 0.0, 0.0, 0.2}}, //disk 3
586  {{0.5, 0.2, 0.0, 0.0, 0.2, 0.0, 0.3, 0.5, 0.0, 0.0, 0.0, 0.0}}, //disk 4
587  {{0.0, 0.0, 0.0, 0.0, 0.25, 0.1, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0}}}}; //disk 5
588 
589  //r cuts for PS modules in disks - the column is the seedindex
590  std::array<std::array<double, N_SEED>, N_DISK> rcutPS_{
591  {{{0.5, 0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, //disk 1
592  {{0.5, 0.5, 0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.0, 0.0, 0.5, 0.0}}, //disk 2
593  {{0.5, 0.5, 0.0, 0.0, 0.5, 0.0, 0.6, 0.8, 0.0, 0.0, 0.0, 0.4}}, //disk 3
594  {{0.5, 0.5, 0.0, 0.0, 0.8, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0}}, //disk 4
595  {{0.0, 0.0, 0.0, 0.0, 1.0, 0.5, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0}}}}; //disk 5
596 
597  //rphi cuts for 2S modules in disks = the column is the seedindex
598  std::array<std::array<double, N_SEED>, N_DISK> rphicut2S_{
599  {{{0.5, 0.5, 0.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.0, 0.0, 0.0}}, //disk 1
600  {{0.5, 0.5, 0.8, 0.0, 0.0, 0.0, 0.5, 0.15, 0.3, 0.0, 0.68, 0.0}}, //disk 2
601  {{0.5, 0.5, 0.0, 0.0, 0.15, 0.0, 0.2, 0.25, 0.0, 0.0, 0.8, 0.1}}, //disk 3
602  {{0.5, 0.5, 0.0, 0.0, 0.2, 0.0, 0.25, 0.5, 0.0, 0.0, 0.6, 0.4}}, //disk 4
603  {{0.0, 0.0, 0.0, 0.0, 0.4, 0.2, 0.4, 0.0, 0.0, 0.0, 0.0, 0.8}}}}; //disk 5
604 
605  //r cuts for 2S modules in disks -the column is the seedindex
606  std::array<std::array<double, N_SEED>, N_DISK> rcut2S_{
607  {{{3.8, 3.8, 3.8, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0}}, //disk 1
608  {{3.8, 3.8, 3.8, 0.0, 0.0, 0.0, 3.8, 3.4, 3.0, 0.0, 3.0, 0.0}}, //disk 2
609  {{3.6, 3.8, 0.0, 0.0, 3.6, 0.0, 3.6, 3.8, 0.0, 0.0, 3.8, 3.0}}, //disk 3
610  {{3.6, 3.8, 0.0, 0.0, 3.6, 0.0, 3.5, 3.8, 0.0, 0.0, 3.0, 3.0}}, //disk 4
611  {{0.0, 0.0, 0.0, 0.0, 3.6, 3.4, 3.7, 0.0, 0.0, 0.0, 0.0, 3.0}}}}; //disk 5
612 
613  // Offset to the maximum number of steps in each processing step:
614  // Set to 0 (default) means standard trunction
615  // Set to large value, e.g. 10000, to disable truncation
616  unsigned int maxstepoffset_{0};
617 
618  //Default number of processing steps for one event
619  std::unordered_map<std::string, unsigned int> maxstep_{{"Link", 108},
620  {"MC", 107},
621  {"ME", 101},
622  {"MP", 108},
623  {"PR", 107},
624  {"TC", 107},
625  {"TE", 101},
626  {"TP", 108},
627  {"TRE", 108},
628  {"VMR", 101}};
629 
630  // If set to true this will generate debub printout in text files
631  std::unordered_map<std::string, bool> writeMonitorData_{{"IL", false},
632  {"TE", false},
633  {"CT", false},
634  {"HitPattern", false},
635  {"ChiSq", false},
636  {"Seeds", false},
637  {"FT", false},
638  {"Residuals", false},
639  {"MC", false},
640  {"MP", false},
641  {"ME", false},
642  {"AP", false},
643  {"VMP", false},
644  {"NMatches", false},
645  {"TrackProjOcc", false},
646  {"TC", false},
647  {"Pars", false},
648  {"TPars", false},
649  {"TPD", false},
650  {"TrackletPars", false},
651  {"TED", false},
652  {"TP", false},
653  {"TRE", false},
654  {"VMR", false},
655  {"StubsLayer", false},
656  {"StubsLayerSector", false},
657  {"HitEff", false},
658  {"MatchEff", false},
659  {"Cabling", false},
660  {"IFit", false},
661  {"AS", false}};
662 
663  std::array<double, N_DSS_MOD> rDSSinner_mod_{{68.9391, 78.7750, 85.4550, 96.3150, 102.3160}};
664  std::array<double, N_DSS_MOD> rDSSouter_mod_{{66.4903, 76.7750, 84.4562, 94.9920, 102.3160}};
665 
666  //we want the center of the two strip positions in a module, not just the center of a module
667  double halfstrip_{2.5};
668 
669  // various printouts for debugging and warnings
670  bool printDebugKF_{false}; // if true print lots of debugging statements related to the KF fit
671  bool debugTracklet_{false}; //Print detailed debug information about tracklet tracking
672  bool writetrace_{false}; //Print out details about parsing configuration files
673 
674  bool warnNoMem_{false}; //If true will print out warnings about missing projection memories
675  bool warnNoDer_{false}; //If true will print out warnings about missing track fit derivatives
676 
677  //--- These used to create files needed by HLS code.
678  bool writeMem_{false}; //If true will print out content of memories (between algo steps) to files
679  bool writeTable_{false}; //If true will print out content of LUTs to files
680  std::string memPath_{"../data/MemPrints/"}; //path for writing memories
681  std::string tablePath_{"../data/LUTs/"}; //path for writing LUTs
682 
683  // Write various lookup tables and autogenerated code (from iMath)
684  bool writeVerilog_{false}; //Write out auto-generated Verilog mudules used by TCs
685  bool writeHLS_{false}; //Write out auto-generated HLS mudules used by TCs
686  bool writeInvTable_{false}; //Write out tables of drinv and invt in tracklet calculator for Verilog module
687  bool writeHLSInvTable_{false}; //Write out tables of drinv and invt in tracklet calculator for HLS module
688 
689  unsigned int writememsect_{3}; //writemem only for this sector (note that the files will have _4 extension)
690 
691  bool enableTripletTables_{false}; //Enable the application of the TED and
692  //TRE tables; when this flag is false,
693  //the tables will not be read from disk
694  bool writeTripletTables_{false}; //Train and write the TED and TRE tables. N.B.: the tables
695  //cannot be applied while they are being trained, i.e.,
696  //this flag effectively turns off the cuts in
697  //TrackletEngineDisplaced and TripletEngine
698 
699  bool writeoutReal_{false};
700 
701  //set to true/false to turn on/off histogram booking internal to the tracking (class "HistBase/HistImp", does nothing in central CMSSW)
702  bool bookHistos_{false};
703 
704  // pt constants
705  double ptcut_{1.91}; //Minimum pt cut
706 
707  // Parameters for bit sizes
708  int alphashift_{12};
709  int nbitsalpha_{4}; //bits used to store alpha
710  int alphaBitsTable_{2}; //For number of bits in track derivative table
711  int nrinvBitsTable_{3}; //number of bits for tabulating rinv dependence
712 
713  unsigned int MEBinsBits_{3};
714  unsigned int MEBinsDisks_{8}; //on each side
715  unsigned int maxStubsPerBin_{16};
716 
717  // Options for chisq fit
718  bool exactderivatives_{false};
719  bool exactderivativesforfloating_{true}; //only for the floating point
720  bool useapprox_{true}; //use approximate postion based on integer representation for floating point
721  bool usephicritapprox_{false}; //use floating point approximate version of phicrit cut if true
722 
723  // Duplicate Removal
724  // "merge" (hybrid dup removal)
725  // "ichi" (pairwise, keep track with best ichisq), "nstub" (pairwise, keep track with more stubs)
726  // "grid" (TMTT-like removal), "" (no removal)
727  unsigned int minIndStubs_{3}; // not used with merge removal
728 
729 #ifdef USEHYBRID
730  std::string removalType_{"merge"};
731  // "CompareBest" (recommended) Compares only the best stub in each track for each region (best = smallest phi residual)
732  // and will merge the two tracks if stubs are shared in three or more regions
733  // "CompareAll" Compares all stubs in a region, looking for matches, and will merge the two tracks if stubs are shared in three or more regions
734  std::string mergeComparison_{"CompareBest"};
735  bool doKF_{true};
736 #endif
737 
738 #ifndef USEHYBRID
739  bool doKF_{false};
742 #endif
743 
744  // When false, match calculator does not save multiple matches, even when doKF=true.
745  // This is a temporary fix for compatibilty with HLS. We will need to implement multiple match
746  // printing in emulator eventually, possibly after CMSSW-integration inspired rewrites
747  // Use false when generating HLS files, use true when doing full hybrid tracking
748  bool doMultipleMatches_{true};
749 
750  // if true, run a dummy fit, producing TTracks directly from output of tracklet pattern reco stage
751  bool fakefit_{false};
752 
753  unsigned int nHelixPar_{4}; // 4 or 5 param helix fit
754  bool extended_{false}; // turn on displaced tracking
755  bool combined_{false}; // use combined TP (TE+TC) and MP (PR+ME+MC) configuration
756 
757  std::string skimfile_{""}; //if not empty events will be written out in ascii format to this file
758 
759  double bfield_{3.8112}; //B-field in T
760  double c_{0.299792458}; //speed of light m/ns
761 
762  unsigned int nStrips_PS_{960};
763  unsigned int nStrips_2S_{1016};
764 
765  double stripPitch_PS_{0.01};
766  double stripPitch_2S_{0.009};
767 
768  double stripLength_PS_{0.1467};
769  double stripLength_2S_{5.0250};
770  };
771 
772  constexpr unsigned int N_TILTED_RINGS = 12; // # of tilted rings per half-layer in TBPS layers
773  constexpr std::array<unsigned int, N_PSLAYER> N_MOD_PLANK = {{7, 11, 15}}; // # of modules/plank in TBPS
774 
775  constexpr unsigned int N_TRKLSEED = 7; // # of tracklet seeds
776  constexpr unsigned int N_PROJ = 4; // # of projections (beyond stubs from tracklet seed)
777 
778  // chi2 fitting
779  constexpr unsigned int N_FITPARAM = 4; // # of fit parameters for chi2 fit
780  constexpr unsigned int N_FITSTUB = 6; // max # of number of stubs used
781 
782  constexpr unsigned int N_TRACKDER_PTBIN = 4;
783  constexpr unsigned int N_TRACKDER_INDEX = 1000;
784 
785 } // namespace trklet
786 
787 #endif
trklet::Settings::writeInvTable
bool writeInvTable() const
Definition: Settings.h:174
trklet::Settings::nbendbitsmedisk_
unsigned int nbendbitsmedisk_
Definition: Settings.h:399
trklet::Settings::setWiresFile
void setWiresFile(std::string wiresFileName)
Definition: Settings.h:65
trklet::Settings::rinv_shift_
int rinv_shift_
Definition: Settings.h:460
trklet::N_PSLAYER
constexpr unsigned int N_PSLAYER
Definition: Settings.h:21
trklet::Settings::ptcut_
double ptcut_
Definition: Settings.h:705
trklet::Settings::phicritmaxmc
double phicritmaxmc() const
Definition: Settings.h:265
trklet::Settings::PS_zL_shift_
int PS_zL_shift_
Definition: Settings.h:469
trklet::Settings::writeMem
bool writeMem() const
Definition: Settings.h:167
trklet::Settings::lutwidthtab_
std::array< std::array< unsigned int, N_SEED >, 3 > lutwidthtab_
Definition: Settings.h:526
trklet::Settings::exactderivatives
bool exactderivatives() const
Definition: Settings.h:209
trklet::Settings::rcorrbits_
int rcorrbits_
Definition: Settings.h:498
trklet::Settings::rmindisk
double rmindisk() const
Definition: Settings.h:113
trklet::Settings::maxd0
double maxd0() const
Definition: Settings.h:274
trklet::Settings::rmindiskvm
double rmindiskvm() const
Definition: Settings.h:281
mps_fire.i
i
Definition: mps_fire.py:428
trklet::Settings::ntrackletmax
unsigned int ntrackletmax() const
Definition: Settings.h:297
trklet::Settings::zresidbits_
int zresidbits_
Definition: Settings.h:488
trklet::Settings::writetrace
bool writetrace() const
Definition: Settings.h:162
trklet::Settings::rphimatchcut
double rphimatchcut(unsigned int iSeed, unsigned int ilayer) const
Definition: Settings.h:136
trklet::Settings::rresidbits_
int rresidbits_
Definition: Settings.h:489
trklet::Settings::projlayers_
std::array< std::array< unsigned int, N_LAYER - 2 >, N_SEED > projlayers_
Definition: Settings.h:536
trklet::Settings::z0cut_
double z0cut_
Definition: Settings.h:430
trklet::Settings::nbitsphi0_
int nbitsphi0_
Definition: Settings.h:455
trklet::Settings::writeVerilog
bool writeVerilog() const
Definition: Settings.h:172
MessageLogger.h
trklet::Settings::exactderivativesforfloating_
bool exactderivativesforfloating_
Definition: Settings.h:719
trklet::Settings::stripLength_2S_
double stripLength_2S_
Definition: Settings.h:769
trklet::Settings::doKF
bool doKF() const
Definition: Settings.h:217
trklet::Settings::ptcut
double ptcut() const
Definition: Settings.h:186
trklet::Settings::nbitst_
int nbitst_
Definition: Settings.h:456
trklet::Settings::writeTripletTables
bool writeTripletTables() const
Definition: Settings.h:180
trklet::Settings::krprojshiftdisk
double krprojshiftdisk() const
Definition: Settings.h:364
trklet::Settings::moduleCablingFile_
std::string moduleCablingFile_
Definition: Settings.h:368
trklet::Settings::maxrinv
double maxrinv() const
Definition: Settings.h:273
trklet::Settings::c_
double c_
Definition: Settings.h:760
trklet::Settings::ktpars
double ktpars() const
Definition: Settings.h:355
trklet::Settings::setDTCLinkLayerDiskFile
void setDTCLinkLayerDiskFile(std::string DTCLinkLayerDiskFileName)
Definition: Settings.h:57
trklet::Settings::fittbitshift
int fittbitshift() const
Definition: Settings.h:340
trklet::Settings::krinvpars
double krinvpars() const
Definition: Settings.h:350
trklet::Settings::useseeding_
std::set< unsigned int > useseeding_
Definition: Settings.h:401
trklet::Settings::setTableTEDFile
void setTableTEDFile(std::string tableTEDFileName)
Definition: Settings.h:66
trklet::Settings::exactderivatives_
bool exactderivatives_
Definition: Settings.h:718
trklet::Settings::fitz0bitshift_
int fitz0bitshift_
Definition: Settings.h:495
trklet::Settings::phiderbitshift
int phiderbitshift() const
Definition: Settings.h:330
trklet::Settings::dzmax
double dzmax() const
Definition: Settings.h:116
trklet::Settings::fitz0bitshift
int fitz0bitshift() const
Definition: Settings.h:341
trklet::Settings::minIndStubs
unsigned int minIndStubs() const
Definition: Settings.h:214
trklet::Settings::rresidbits
int rresidbits() const
Definition: Settings.h:335
trklet::Settings::usephicritapprox_
bool usephicritapprox_
Definition: Settings.h:721
trklet::Settings::tableTREFile_
std::string tableTREFile_
Definition: Settings.h:375
trklet::Settings::SS_phiL_shift
int SS_phiL_shift() const
Definition: Settings.h:314
trklet::Settings::minIndStubs_
unsigned int minIndStubs_
Definition: Settings.h:727
trklet::Settings::izmean_
std::array< unsigned int, N_DISK > izmean_
Definition: Settings.h:387
trklet::Settings::rphimatchcut_
std::array< std::array< double, N_SEED >, N_LAYER > rphimatchcut_
Definition: Settings.h:564
trklet::Settings::maxStubsPerBin_
unsigned int maxStubsPerBin_
Definition: Settings.h:715
trklet::Settings::skimfile_
std::string skimfile_
Definition: Settings.h:757
trklet::Settings::rmaxdiskl1overlapvm
double rmaxdiskl1overlapvm() const
Definition: Settings.h:284
trklet::Settings::warnNoMem_
bool warnNoMem_
Definition: Settings.h:674
trklet::Settings::rmaxdisk_
double rmaxdisk_
Definition: Settings.h:437
trklet::Settings::zmin
double zmin(unsigned int iDisk) const
Definition: Settings.h:148
trklet::Settings::writeoutReal_
bool writeoutReal_
Definition: Settings.h:699
trklet::Settings::phicritminmc
double phicritminmc() const
Definition: Settings.h:264
trklet::Settings::t_shift_
int t_shift_
Definition: Settings.h:462
trklet::Settings::writeHLS_
bool writeHLS_
Definition: Settings.h:685
trklet::Settings::vmrlutrbits
unsigned int vmrlutrbits(unsigned int layerdisk) const
Definition: Settings.h:158
trklet::N_SECTOR
constexpr unsigned int N_SECTOR
Definition: Settings.h:17
trklet::Settings
Definition: Settings.h:31
trklet::Settings::nHelixPar_
unsigned int nHelixPar_
Definition: Settings.h:753
trklet::Settings::zderbitshift
int zderbitshift() const
Definition: Settings.h:331
trklet::Settings::memPath_
std::string memPath_
Definition: Settings.h:680
trklet::Settings::nbitszprojderL123_
unsigned int nbitszprojderL123_
Definition: Settings.h:396
trklet::Settings::PS_rderD_shift_
int PS_rderD_shift_
Definition: Settings.h:480
trklet::Settings::writememsect
unsigned int writememsect() const
Definition: Settings.h:177
trklet::Settings::writeHLSInvTable_
bool writeHLSInvTable_
Definition: Settings.h:687
trklet::Settings::rmindiskl2overlapvm
double rmindiskl2overlapvm() const
Definition: Settings.h:285
trklet::Settings::memPath
std::string const & memPath() const
Definition: Settings.h:169
trklet::Settings::nbitsallstubs
unsigned int nbitsallstubs(unsigned int layerdisk) const
Definition: Settings.h:93
trklet::Settings::writetrace_
bool writetrace_
Definition: Settings.h:672
trklet::Settings::rDSSouter_mod_
std::array< double, N_DSS_MOD > rDSSouter_mod_
Definition: Settings.h:664
trklet::Settings::SS_phiD_shift_
int SS_phiD_shift_
Definition: Settings.h:476
trklet::Settings::rphicutPS
double rphicutPS(unsigned int iSeed, unsigned int idisk) const
Definition: Settings.h:138
trklet::Settings::writeHLS
bool writeHLS() const
Definition: Settings.h:173
trklet::Settings::disp_z0cut_
double disp_z0cut_
Definition: Settings.h:432
trklet::Settings::rmean
double rmean(unsigned int iLayer) const
Definition: Settings.h:143
mps_check.array
array
Definition: mps_check.py:216
trklet::Settings::fakefit_
bool fakefit_
Definition: Settings.h:751
trklet::Settings::SS_phiderD_shift_
int SS_phiderD_shift_
Definition: Settings.h:479
trklet::Settings::lutwidthtab
double lutwidthtab(unsigned int inner, unsigned int iSeed) const
Definition: Settings.h:129
trklet::Settings::nbitst
int nbitst() const
Definition: Settings.h:302
trklet::Settings::nrbitsprojderdisk
unsigned int nrbitsprojderdisk() const
Definition: Settings.h:73
trklet::Settings::nbitszprojderL123
unsigned int nbitszprojderL123() const
Definition: Settings.h:76
trklet::N_DISK
constexpr int N_DISK
Definition: Settings.h:20
trklet::Settings::SS_zderL_shift_
int SS_zderL_shift_
Definition: Settings.h:473
trklet::Settings::doKF_
bool doKF_
Definition: Settings.h:739
trklet::Settings::phicritmin
double phicritmin() const
Definition: Settings.h:261
trklet::Settings::dphisector
double dphisector() const
Definition: Settings.h:259
trklet::Settings::kphi1
double kphi1() const
Definition: Settings.h:268
trklet::Settings::~Settings
~Settings()=default
trklet::Settings::writeInvTable_
bool writeInvTable_
Definition: Settings.h:686
trklet::Settings::rDSSinner
double rDSSinner(unsigned int iBin) const
Definition: Settings.h:150
trklet::Settings::half2SmoduleWidth
double half2SmoduleWidth() const
Definition: Settings.h:118
trklet::Settings::PS_rderD_shift
int PS_rderD_shift() const
Definition: Settings.h:326
trklet::Settings::kz0pars
double kz0pars() const
Definition: Settings.h:356
trklet::Settings::bfield
double bfield() const
Definition: Settings.h:230
trklet::Settings::bookHistos
bool bookHistos() const
Definition: Settings.h:184
trklet::Settings::nrbitsstub
unsigned int nrbitsstub(unsigned int layerdisk) const
Definition: Settings.h:71
trklet::Settings::setStripLength_2S
void setStripLength_2S(double stripLength_2S)
Definition: Settings.h:243
trklet::Settings::extended_
bool extended_
Definition: Settings.h:754
trklet::Settings::writeTable
bool writeTable() const
Definition: Settings.h:168
trklet::N_FITSTUB
constexpr unsigned int N_FITSTUB
Definition: Settings.h:780
trklet::Settings::setStripPitch_PS
void setStripPitch_PS(double stripPitch_PS)
Definition: Settings.h:238
trklet::Settings::kphider
double kphider() const
Definition: Settings.h:359
trklet::N_TILTED_RINGS
constexpr unsigned int N_TILTED_RINGS
Definition: Settings.h:772
trklet::Settings::lutwidthtabextended_
std::array< std::array< unsigned int, N_SEED >, 3 > lutwidthtabextended_
Definition: Settings.h:530
trklet::Settings::rDSSouter
double rDSSouter(unsigned int iBin) const
Definition: Settings.h:153
trklet::Settings::ptcutte_
double ptcutte_
Definition: Settings.h:449
trklet::Settings::combined
bool combined() const
Definition: Settings.h:227
trklet::Settings::z0_shift_
int z0_shift_
Definition: Settings.h:463
trklet::Settings::maxstepoffset_
unsigned int maxstepoffset_
Definition: Settings.h:616
trklet::Settings::skimfile
std::string skimfile() const
Definition: Settings.h:245
trklet::Settings::combined_
bool combined_
Definition: Settings.h:755
trklet::Settings::nbitstrackletindex
unsigned int nbitstrackletindex() const
Definition: Settings.h:248
trklet::sixth
constexpr double sixth
Definition: Settings.h:29
trklet::Settings::nbitsphiprojderL456_
unsigned int nbitsphiprojderL456_
Definition: Settings.h:395
trklet::Settings::rmindisk_
double rmindisk_
Definition: Settings.h:438
trklet::Settings::geomext
std::string geomext() const
Definition: Settings.h:203
trklet::Settings::rmindiskvm_
double rmindiskvm_
Definition: Settings.h:421
trklet::Settings::half2SmoduleWidth_
double half2SmoduleWidth_
Definition: Settings.h:440
trklet::Settings::nphiregcm_
std::array< std::array< unsigned int, N_SEED >, 3 > nphiregcm_
Definition: Settings.h:521
trklet::Settings::MEBins
unsigned int MEBins() const
Definition: Settings.h:199
trklet::Settings::MEBinsDisks_
unsigned int MEBinsDisks_
Definition: Settings.h:714
trklet::Settings::bendcutme_
std::array< double, N_LAYER+N_DISK > bendcutme_
Definition: Settings.h:419
trklet::Settings::enableTripletTables
bool enableTripletTables() const
Definition: Settings.h:179
trklet::Settings::writeMonitorData_
std::unordered_map< std::string, bool > writeMonitorData_
Definition: Settings.h:631
trklet::Settings::projdisks
unsigned int projdisks(unsigned int iSeed, unsigned int i) const
Definition: Settings.h:135
trklet::Settings::setSkimfile
void setSkimfile(std::string skimfile)
Definition: Settings.h:246
trklet::Settings::rinvmax
double rinvmax() const
Definition: Settings.h:191
trklet::Settings::z0_shift
int z0_shift() const
Definition: Settings.h:309
trklet::N_TRACKDER_INDEX
constexpr unsigned int N_TRACKDER_INDEX
Definition: Settings.h:783
trklet::Settings::enableTripletTables_
bool enableTripletTables_
Definition: Settings.h:691
reco::ceil
constexpr int32_t ceil(float num)
Definition: constexpr_cmath.h:7
trklet::Settings::lutwidthtabextended
double lutwidthtabextended(unsigned int inner, unsigned int iSeed) const
Definition: Settings.h:130
trklet::Settings::Settings
Settings()
Definition: Settings.h:33
trklet::Settings::wiresFile
std::string const & wiresFile() const
Definition: Settings.h:51
trklet::Settings::tableTREFile
std::string const & tableTREFile() const
Definition: Settings.h:53
trklet::Settings::dphisectorHG
double dphisectorHG() const
Definition: Settings.h:251
trklet::Settings::doMultipleMatches
bool doMultipleMatches() const
Definition: Settings.h:218
trklet::Settings::alphashift
int alphashift() const
Definition: Settings.h:193
trklet::Settings::exactderivativesforfloating
bool exactderivativesforfloating() const
Definition: Settings.h:210
trklet::Settings::irmean_
std::array< unsigned int, N_LAYER > irmean_
Definition: Settings.h:386
trklet::Settings::fitPatternFile_
std::string fitPatternFile_
Definition: Settings.h:370
trklet::Settings::fakefit
bool fakefit() const
Definition: Settings.h:219
trklet::Settings::phi0_shift_
int phi0_shift_
Definition: Settings.h:461
SurfaceOrientation::inner
Definition: Surface.h:19
trklet::Settings::wiresFile_
std::string wiresFile_
Definition: Settings.h:373
trklet::Settings::nbitsvmme
unsigned int nbitsvmme(unsigned int layerdisk) const
Definition: Settings.h:90
trklet::Settings::deltarzfract_
double deltarzfract_
Definition: Settings.h:382
trklet::Settings::printDebugKF
bool printDebugKF() const
Definition: Settings.h:160
trklet::Settings::PS_rD_shift_
int PS_rD_shift_
Definition: Settings.h:477
trklet::Settings::rmaxdiskl1overlapvm_
double rmaxdiskl1overlapvm_
Definition: Settings.h:424
trklet::Settings::rcut2S
double rcut2S(unsigned int iSeed, unsigned int idisk) const
Definition: Settings.h:141
trklet::Settings::nbitsz0_
int nbitsz0_
Definition: Settings.h:457
trklet::N_LAYER
constexpr int N_LAYER
Definition: Settings.h:19
trklet::Settings::maxd0_
double maxd0_
Definition: Settings.h:443
trklet::Settings::useapprox_
bool useapprox_
Definition: Settings.h:720
trklet::Settings::setNStrips_2S
void setNStrips_2S(unsigned int nStrips_2S)
Definition: Settings.h:235
trklet::Settings::MEBinsDisks
unsigned int MEBinsDisks() const
Definition: Settings.h:200
trklet::Settings::memoryModulesFile
std::string const & memoryModulesFile() const
Definition: Settings.h:50
trklet::Settings::zmean
double zmean(unsigned int iDisk) const
Definition: Settings.h:146
trklet::Settings::nbitsd0
unsigned int nbitsd0() const
Definition: Settings.h:275
trklet::Settings::rphicut2S_
std::array< std::array< double, N_SEED >, N_DISK > rphicut2S_
Definition: Settings.h:598
trklet::Settings::kd0pars
double kd0pars() const
Definition: Settings.h:357
trklet::Settings::phiderbitshift_
int phiderbitshift_
Definition: Settings.h:484
trklet::Settings::setDTCLinkFile
void setDTCLinkFile(std::string DTCLinkFileName)
Definition: Settings.h:55
trklet::Settings::nbitsalpha_
int nbitsalpha_
Definition: Settings.h:709
trklet::Settings::setNStrips_PS
void setNStrips_PS(unsigned int nStrips_PS)
Definition: Settings.h:234
trklet::Settings::phi0_shift
int phi0_shift() const
Definition: Settings.h:307
trklet::Settings::SS_phiderD_shift
int SS_phiderD_shift() const
Definition: Settings.h:325
trklet::Settings::tableTEDFile
std::string const & tableTEDFile() const
Definition: Settings.h:52
trklet::Settings::rPS2S_
double rPS2S_
Definition: Settings.h:428
trklet::Settings::setModuleCablingFile
void setModuleCablingFile(std::string moduleCablingFileName)
Definition: Settings.h:56
trklet::Settings::tableTEDFile_
std::string tableTEDFile_
Definition: Settings.h:374
trklet::Settings::nbitszprojderL456_
unsigned int nbitszprojderL456_
Definition: Settings.h:397
trklet::Settings::stripPitch_PS_
double stripPitch_PS_
Definition: Settings.h:765
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
trklet::Settings::kr
double kr() const
Definition: Settings.h:271
trklet::Settings::nfinephi_
std::array< std::array< unsigned int, N_SEED >, 3 > nfinephi_
Definition: Settings.h:508
trklet::Settings::bendcutme
double bendcutme(unsigned int layerdisk) const
Definition: Settings.h:121
trklet::Settings::warnNoMem
bool warnNoMem() const
Definition: Settings.h:164
trklet::Settings::nbitszprojderL456
unsigned int nbitszprojderL456() const
Definition: Settings.h:77
trklet::N_SEED
constexpr unsigned int N_SEED
Definition: Settings.h:22
trklet::Settings::DTCLinkLayerDiskFile
std::string const & DTCLinkLayerDiskFile() const
Definition: Settings.h:47
trklet::Settings::drmax
double drmax() const
Definition: Settings.h:115
trklet::Settings::bendcutte_
std::array< std::array< double, 8 >, 2 > bendcutte_
Definition: Settings.h:415
trklet::Settings::rcorrbits
int rcorrbits() const
Definition: Settings.h:344
trklet::Settings::processingModulesFile_
std::string processingModulesFile_
Definition: Settings.h:371
trklet::Settings::rmaxdisk
double rmaxdisk() const
Definition: Settings.h:112
trklet::Settings::warnNoDer_
bool warnNoDer_
Definition: Settings.h:675
trklet::Settings::nfinephi
int nfinephi(unsigned int inner, unsigned int iSeed) const
Definition: Settings.h:122
trklet::Settings::vmrlutrbits_
std::array< unsigned int, N_LAYER+N_DISK > vmrlutrbits_
Definition: Settings.h:505
trklet::Settings::nbitsphiprojderL456
unsigned int nbitsphiprojderL456() const
Definition: Settings.h:75
trklet::Settings::rcutPS
double rcutPS(unsigned int iSeed, unsigned int idisk) const
Definition: Settings.h:139
trklet::Settings::NLONGVMBINS
unsigned int NLONGVMBINS() const
Definition: Settings.h:295
trklet::Settings::nphibitsstub_
std::array< unsigned int, N_LAYER+N_DISK > nphibitsstub_
Definition: Settings.h:390
trklet::Settings::kphi0pars
double kphi0pars() const
Definition: Settings.h:354
trklet::Settings::zlength_
double zlength_
Definition: Settings.h:436
trklet::N_DSS_MOD
constexpr unsigned int N_DSS_MOD
Definition: Settings.h:24
trklet::Settings::nHelixPar
unsigned int nHelixPar() const
Definition: Settings.h:222
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
trklet::Settings::nbitsvmtecm_
std::array< std::array< unsigned int, N_SEED >, 3 > nbitsvmtecm_
Definition: Settings.h:410
trklet::Settings::SS_phiderL_shift_
int SS_phiderL_shift_
Definition: Settings.h:471
trklet::Settings::rmax
double rmax(unsigned int iLayer) const
Definition: Settings.h:144
trklet::Settings::extended
bool extended() const
Definition: Settings.h:225
trklet::Settings::projlayers
unsigned int projlayers(unsigned int iSeed, unsigned int i) const
Definition: Settings.h:134
trklet::Settings::writeHLSInvTable
bool writeHLSInvTable() const
Definition: Settings.h:175
trklet::Settings::nzbitsstub
unsigned int nzbitsstub(unsigned int layerdisk) const
Definition: Settings.h:69
trklet::N_FITPARAM
constexpr unsigned int N_FITPARAM
Definition: Settings.h:779
trklet::Settings::nvmme
unsigned int nvmme(unsigned int layerdisk) const
Definition: Settings.h:91
trklet::Settings::nrbitsprojderdisk_
unsigned int nrbitsprojderdisk_
Definition: Settings.h:393
trklet::N_PROJ
constexpr unsigned int N_PROJ
Definition: Settings.h:776
trklet::Settings::zresidbits
int zresidbits() const
Definition: Settings.h:334
trklet::Settings::writeMem_
bool writeMem_
Definition: Settings.h:678
trklet::Settings::halfstrip_
double halfstrip_
Definition: Settings.h:667
trklet::Settings::SS_phiderL_shift
int SS_phiderL_shift() const
Definition: Settings.h:317
trklet::Settings::fitphi0bitshift_
int fitphi0bitshift_
Definition: Settings.h:493
trklet::Settings::kzder
double kzder() const
Definition: Settings.h:360
trklet::Settings::bendcutte
double bendcutte(unsigned int inner, unsigned int iSeed) const
Definition: Settings.h:120
trklet::Settings::chisqphifactbits_
int chisqphifactbits_
Definition: Settings.h:500
createfilelist.int
int
Definition: createfilelist.py:10
trklet::Settings::rmindiskl3overlapvm
double rmindiskl3overlapvm() const
Definition: Settings.h:286
trklet::Settings::mergeComparison
std::string mergeComparison() const
Definition: Settings.h:216
trklet::Settings::maxrinv_
double maxrinv_
Definition: Settings.h:442
trklet::Settings::nphibitsstub
unsigned int nphibitsstub(unsigned int layerdisk) const
Definition: Settings.h:70
trklet::Settings::removalType_
std::string removalType_
Definition: Settings.h:740
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
trklet::Settings::maxStubsPerBin
unsigned int maxStubsPerBin() const
Definition: Settings.h:201
trklet::Settings::nbitsvmte_
std::array< std::array< unsigned int, N_SEED >, 3 > nbitsvmte_
Definition: Settings.h:405
trklet::Settings::nbitsvmme_
std::array< unsigned int, N_LAYER+N_DISK > nbitsvmme_
Definition: Settings.h:404
trklet::Settings::zderbitshift_
int zderbitshift_
Definition: Settings.h:485
trklet::Settings::nbitsrinv
int nbitsrinv() const
Definition: Settings.h:300
trklet::Settings::nphireg
double nphireg(unsigned int inner, unsigned int iSeed) const
Definition: Settings.h:123
trklet::Settings::nrbitsstub_
std::array< unsigned int, N_LAYER+N_DISK > nrbitsstub_
Definition: Settings.h:391
trklet::Settings::phicritmax
double phicritmax() const
Definition: Settings.h:262
trklet::Settings::chisqphifactbits
int chisqphifactbits() const
Definition: Settings.h:346
trklet::Settings::t_shift
int t_shift() const
Definition: Settings.h:308
trklet::Settings::projdisks_
std::array< std::array< unsigned int, N_DISK >, N_SEED > projdisks_
Definition: Settings.h:550
trklet::Settings::rDSSinner_mod_
std::array< double, N_DSS_MOD > rDSSinner_mod_
Definition: Settings.h:663
trklet::Settings::alphashift_
int alphashift_
Definition: Settings.h:708
trklet::Settings::setBfield
void setBfield(double bfield)
Definition: Settings.h:231
trklet::Settings::rinvcutte
double rinvcutte() const
Definition: Settings.h:279
trklet::Settings::rmin
double rmin(unsigned int iLayer) const
Definition: Settings.h:145
trklet::Settings::nStrips_2S_
unsigned int nStrips_2S_
Definition: Settings.h:763
trklet
Definition: AllProjectionsMemory.h:9
trklet::Settings::nzbitsstub_
std::array< unsigned int, N_LAYER+N_DISK > nzbitsstub_
Definition: Settings.h:389
trklet::Settings::setNHelixPar
void setNHelixPar(unsigned int nHelixPar)
Definition: Settings.h:223
trklet::Settings::fitrinvbitshift
int fitrinvbitshift() const
Definition: Settings.h:338
trklet::Settings::nrinvBitsTable_
int nrinvBitsTable_
Definition: Settings.h:711
trklet::Settings::MEBinsBits_
unsigned int MEBinsBits_
Definition: Settings.h:713
trklet::Settings::nbitsalpha
int nbitsalpha() const
Definition: Settings.h:194
trklet::Settings::stripPitch
double stripPitch(bool isPSmodule) const
Definition: Settings.h:237
trklet::Settings::kphi
double kphi() const
Definition: Settings.h:267
trklet::Settings::rphicutPS_
std::array< std::array< double, N_SEED >, N_DISK > rphicutPS_
Definition: Settings.h:582
trklet::Settings::nbitsallstubs_
std::array< unsigned int, N_LAYER+N_DISK > nbitsallstubs_
Definition: Settings.h:403
trklet::Settings::nbitsvmte
unsigned int nbitsvmte(unsigned int inner, unsigned int iSeed) const
Definition: Settings.h:82
trklet::Settings::setTableTREFile
void setTableTREFile(std::string tableTREFileName)
Definition: Settings.h:67
trklet::Settings::PS_zderL_shift_
int PS_zderL_shift_
Definition: Settings.h:472
trklet::Settings::ptmin_
double ptmin_
Definition: Settings.h:447
trklet::Settings::nbitsz0
int nbitsz0() const
Definition: Settings.h:303
trklet::Settings::setStripPitch_2S
void setStripPitch_2S(double stripPitch_2S)
Definition: Settings.h:239
trklet::N_TRKLSEED
constexpr unsigned int N_TRKLSEED
Definition: Settings.h:775
trklet::Settings::fitrinvbitshift_
int fitrinvbitshift_
Definition: Settings.h:492
trklet::Settings::SS_phiL_shift_
int SS_phiL_shift_
Definition: Settings.h:468
trklet::Settings::writeMonitorData
bool writeMonitorData(std::string module) const
Definition: Settings.h:96
trklet::Settings::nStrips
unsigned int nStrips(bool isPSmodule) const
Definition: Settings.h:233
trklet::Settings::removalType
std::string removalType() const
Definition: Settings.h:215
trklet::Settings::writeTable_
bool writeTable_
Definition: Settings.h:679
trklet::Settings::setCombined
void setCombined(bool combined)
Definition: Settings.h:228
trklet::Settings::nbitsphi0
int nbitsphi0() const
Definition: Settings.h:301
trklet::Settings::usephicritapprox
bool usephicritapprox() const
Definition: Settings.h:212
trklet::Settings::setExtended
void setExtended(bool extended)
Definition: Settings.h:226
trklet::Settings::fitphi0bitshift
int fitphi0bitshift() const
Definition: Settings.h:339
trklet::Settings::vmrlutzbits_
std::array< unsigned int, N_LAYER+N_DISK > vmrlutzbits_
Definition: Settings.h:503
trklet::Settings::alphaBitsTable_
int alphaBitsTable_
Definition: Settings.h:710
trklet::Settings::rinvcut
double rinvcut() const
Definition: Settings.h:187
edm::shift
static unsigned const int shift
Definition: LuminosityBlockID.cc:7
trklet::Settings::DTCLinkFile
std::string DTCLinkFile() const
Definition: Settings.h:45
trklet::Settings::SS_zderL_shift
int SS_zderL_shift() const
Definition: Settings.h:319
trklet::Settings::warnNoDer
bool warnNoDer() const
Definition: Settings.h:165
trklet::NFINERZBITS
constexpr unsigned int NFINERZBITS
Definition: Settings.h:27
trklet::Settings::maxstep_
std::unordered_map< std::string, unsigned int > maxstep_
Definition: Settings.h:619
trklet::Settings::SS_phiD_shift
int SS_phiD_shift() const
Definition: Settings.h:322
trklet::Settings::bfield_
double bfield_
Definition: Settings.h:759
trklet::Settings::debugTracklet_
bool debugTracklet_
Definition: Settings.h:671
trklet::Settings::fitPatternFile
std::string const & fitPatternFile() const
Definition: Settings.h:48
trklet::Settings::vmrlutzbits
unsigned int vmrlutzbits(unsigned int layerdisk) const
Definition: Settings.h:157
trklet::Settings::tablePath
std::string const & tablePath() const
Definition: Settings.h:170
trklet::Settings::fittbitshift_
int fittbitshift_
Definition: Settings.h:494
trklet::Settings::useapprox
bool useapprox() const
Definition: Settings.h:211
trklet::Settings::moduleCablingFile
std::string const & moduleCablingFile() const
Definition: Settings.h:46
trklet::Settings::stripPitch_2S_
double stripPitch_2S_
Definition: Settings.h:766
Exception
Definition: hltDiff.cc:245
trklet::N_MOD_PLANK
constexpr std::array< unsigned int, N_PSLAYER > N_MOD_PLANK
Definition: Settings.h:773
trklet::Settings::NLONGVMBITS_
unsigned int NLONGVMBITS_
Definition: Settings.h:434
trklet::Settings::setStripLength_PS
void setStripLength_PS(double stripLength_PS)
Definition: Settings.h:242
trklet::Settings::rcut2S_
std::array< std::array< double, N_SEED >, N_DISK > rcut2S_
Definition: Settings.h:606
trklet::Settings::dphicritmc_
double dphicritmc_
Definition: Settings.h:379
trklet::Settings::DTCLinkFile_
std::string DTCLinkFile_
Definition: Settings.h:367
trklet::Settings::setMemoryModulesFile
void setMemoryModulesFile(std::string memoryModulesFileName)
Definition: Settings.h:64
trklet::Settings::rcrit_
double rcrit_
Definition: Settings.h:377
trklet::Settings::nvmte
unsigned int nvmte(unsigned int inner, unsigned int iSeed) const
Definition: Settings.h:88
trklet::Settings::kz
double kz() const
Definition: Settings.h:270
trklet::Settings::stripLength
double stripLength(bool isPSmodule) const
Definition: Settings.h:241
trklet::Settings::nbitsphiprojderL123_
unsigned int nbitsphiprojderL123_
Definition: Settings.h:394
trklet::Settings::memoryModulesFile_
std::string memoryModulesFile_
Definition: Settings.h:372
trklet::N_TRACKDER_PTBIN
constexpr unsigned int N_TRACKDER_PTBIN
Definition: Settings.h:782
trklet::Settings::nallstubs
unsigned int nallstubs(unsigned int layerdisk) const
Definition: Settings.h:94
trklet::Settings::phi0bitshift
int phi0bitshift() const
Definition: Settings.h:329
trklet::Settings::debugTracklet
bool debugTracklet() const
Definition: Settings.h:161
trklet::Settings::zmatchcut
double zmatchcut(unsigned int iSeed, unsigned int ilayer) const
Definition: Settings.h:137
trklet::Settings::rcrit
double rcrit() const
Definition: Settings.h:257
Exception.h
trklet::Settings::nrinvBitsTable
int nrinvBitsTable() const
Definition: Settings.h:196
trklet::Settings::MEBinsBits
unsigned int MEBinsBits() const
Definition: Settings.h:198
trklet::Settings::rphicut2S
double rphicut2S(unsigned int iSeed, unsigned int idisk) const
Definition: Settings.h:140
trklet::Settings::maxStep
unsigned int maxStep(std::string module) const
Definition: Settings.h:103
trklet::Settings::writememsect_
unsigned int writememsect_
Definition: Settings.h:689
trklet::Settings::kd0
double kd0() const
Definition: Settings.h:277
trklet::Settings::printDebugKF_
bool printDebugKF_
Definition: Settings.h:670
trklet::Settings::PS_zderL_shift
int PS_zderL_shift() const
Definition: Settings.h:318
trklet::Settings::nbitstrackletindex_
unsigned int nbitstrackletindex_
Definition: Settings.h:451
trklet::Settings::chisqzfactbits
int chisqzfactbits() const
Definition: Settings.h:347
trklet::Settings::zmax
double zmax(unsigned int iDisk) const
Definition: Settings.h:147
trklet::Settings::PS_rD_shift
int PS_rD_shift() const
Definition: Settings.h:323
trklet::Settings::z0cut
double z0cut() const
Definition: Settings.h:290
trklet::Settings::PS_zL_shift
int PS_zL_shift() const
Definition: Settings.h:315
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
trklet::Settings::doMultipleMatches_
bool doMultipleMatches_
Definition: Settings.h:748
trklet::Settings::rcutPS_
std::array< std::array< double, N_SEED >, N_DISK > rcutPS_
Definition: Settings.h:590
trklet::Settings::processingModulesFile
std::string const & processingModulesFile() const
Definition: Settings.h:49
trklet::Settings::rmaxdiskvm_
double rmaxdiskvm_
Definition: Settings.h:422
trklet::Settings::NLONGVMBITS
unsigned int NLONGVMBITS() const
Definition: Settings.h:294
trklet::Settings::nStrips_PS_
unsigned int nStrips_PS_
Definition: Settings.h:762
trklet::Settings::phi0bitshift_
int phi0bitshift_
Definition: Settings.h:483
trklet::Settings::nbitsphiprojderL123
unsigned int nbitsphiprojderL123() const
Definition: Settings.h:74
trklet::Settings::nbitsrinv_
int nbitsrinv_
Definition: Settings.h:454
trklet::Settings::setProcessingModulesFile
void setProcessingModulesFile(std::string processingModulesFileName)
Definition: Settings.h:61
trklet::Settings::tablePath_
std::string tablePath_
Definition: Settings.h:681
trklet::Settings::zmatchcut_
std::array< std::array< double, N_SEED >, N_LAYER > zmatchcut_
Definition: Settings.h:573
trklet::Settings::useSeed
bool useSeed(unsigned int iSeed) const
Definition: Settings.h:81
trklet::Settings::setFitPatternFile
void setFitPatternFile(std::string fitPatternFileName)
Definition: Settings.h:60
trklet::Settings::c
double c() const
Definition: Settings.h:189
trklet::Settings::chisqzfactbits_
int chisqzfactbits_
Definition: Settings.h:501
trklet::Settings::stripLength_PS_
double stripLength_PS_
Definition: Settings.h:768
trklet::Settings::rPS2S
double rPS2S() const
Definition: Settings.h:288
trklet::Settings::nphireg_
std::array< std::array< unsigned int, N_SEED >, 3 > nphireg_
Definition: Settings.h:515
trklet::Settings::maxt_
double maxt_
Definition: Settings.h:384
trklet::Settings::writeVerilog_
bool writeVerilog_
Definition: Settings.h:684
trklet::Settings::nbitsd0_
unsigned int nbitsd0_
Definition: Settings.h:445
trklet::Settings::writeTripletTables_
bool writeTripletTables_
Definition: Settings.h:694
trklet::Settings::alphaBitsTable
int alphaBitsTable() const
Definition: Settings.h:195
trklet::Settings::mergeComparison_
std::string mergeComparison_
Definition: Settings.h:741
trklet::Settings::rmindiskl2overlapvm_
double rmindiskl2overlapvm_
Definition: Settings.h:425
trklet::Settings::phiresidbits
int phiresidbits() const
Definition: Settings.h:333
trklet::Settings::DTCLinkLayerDiskFile_
std::string DTCLinkLayerDiskFile_
Definition: Settings.h:369
trklet::Settings::writeoutReal
bool writeoutReal() const
Definition: Settings.h:182
trklet::Settings::disp_z0cut
double disp_z0cut() const
Definition: Settings.h:292
trklet::Settings::bookHistos_
bool bookHistos_
Definition: Settings.h:702
trklet::Settings::rinv_shift
int rinv_shift() const
Definition: Settings.h:306
trklet::NRINVBITS
constexpr unsigned int NRINVBITS
Definition: Settings.h:26
trklet::Settings::setNbitstrackletindex
void setNbitstrackletindex(unsigned int nbitstrackletindex)
Definition: Settings.h:249
trklet::Settings::rmindiskl3overlapvm_
double rmindiskl3overlapvm_
Definition: Settings.h:426
trklet::Settings::rmaxdiskvm
double rmaxdiskvm() const
Definition: Settings.h:282
trklet::Settings::nbendbitsmedisk
unsigned int nbendbitsmedisk() const
Definition: Settings.h:79
trklet::Settings::phiresidbits_
int phiresidbits_
Definition: Settings.h:487
trklet::Settings::zlength
double zlength() const
Definition: Settings.h:111