CMS 3D CMS Logo

SiPixelTemplate.h
Go to the documentation of this file.
1 //
2 // SiPixelTemplate.h (v10.24)
3 //
4 // Add goodness-of-fit info and spare entries to templates, version number in template header, more error checking
5 // Add correction for (Q_F-Q_L)/(Q_F+Q_L) bias
6 // Add cot(beta) reflection to reduce y-entries and more sophisticated x-interpolation
7 // Fix small index searching bug in interpolate method
8 // Change interpolation indexing to avoid complier complaining about possible un-initialized variables
9 // Replace containers with static arrays in calls to ysigma2 and xsigma2
10 // Add external threshold to calls to ysigma2 and xsigma2, fix parameter signal max for xsigma2
11 // Return to 5 pixel spanning but adjust boundaries to use only when needed
12 // Implement improved (faster) chi2min search that depends on pixel types
13 // Fill template arrays in single calls to this object
14 // Add qmin to the template
15 // Add qscale to match charge scales
16 // Small improvement to x-chisquare interpolation
17 // Enlarge SiPixelTemplateStore to accommodate larger templates and increased alpha acceptance (reduce PT threshold to ~200 MeV)
18 // Store x and y cluster sizes in fractional pixels to facilitate cluster splitting
19 // Keep interpolated central 9 template bins in private storage and expand/shift in the getter functions (faster for speed=2/3) and easier to build 3d templates
20 // Store error and bias information for the simple chi^2 min position analysis (no interpolation or Q_{FB} corrections) to use in cluster splitting
21 // To save time, the gaussian centers and sigma are not interpolated right now (they aren't currently used). They can be restored by un-commenting lines in the interpolate method.
22 // Add a new method to calculate qbin for input cotbeta and cluster charge. To be used for error estimation of merged clusters in PixelCPEGeneric.
23 // Add bias info for Barrel and FPix separately in the header
24 // Improve the charge estimation for larger cot(alpha) tracks
25 // Change interpolate method to return false boolean if track angles are outside of range
26 // Add template info and method for truncation information
27 // Change to allow template sizes to be changed at compile time
28 // Fix bug in track angle checking
29 // Accommodate Dave's new DB pushfile which overloads the old method (file input)
30 // Add CPEGeneric error information and expand qbin method to access useful info for PixelCPEGeneric
31 // Fix large cot(alpha) bug in qmin interpolation
32 // Add second qmin to allow a qbin=5 state
33 // Use interpolated chi^2 info for one-pixel clusters
34 // Separate BPix and FPix charge scales and thresholds
35 // Fix DB pushfile version number checking bug.
36 // Remove assert from qbin method
37 // Replace asserts with exceptions in CMSSW
38 // Change calling sequence to interpolate method to handle cot(beta)<0 for FPix cosmics
39 // Add getter for pixelav Lorentz width estimates to qbin method
40 // Add check on template size to interpolate and qbin methods
41 // Add qbin population information, charge distribution information
42 //
43 // V7.00 - Decouple BPix and FPix information into separate templates
44 // Add methods to facilitate improved cluster splitting
45 // Fix small charge scaling bug (affects FPix only)
46 // Change y-slice used for the x-template to be closer to the actual cotalpha-cotbeta point
47 // (there is some weak breakdown of x-y factorization in the FPix after irradiation)
48 //
49 // V8.00 - Add method to calculate a simple 2D template
50 // Reorganize the interpolate method to extract header info only once per ID
51 // V8.01 - Improve simple template normalization
52 // V8.05 - Change qbin normalization to work better after irradiation
53 // V8.10 - Add Vavilov distribution interpolation
54 // V8.11 - Renormalize the x-templates for Guofan's cluster size calculation
55 // V8.12 - Technical fix to qavg issue.
56 // V8.13 - Fix qbin and fastsim interpolaters to avoid changing class variables
57 // V8.20 - Add methods to identify the central pixels in the x- and y-templates (to help align templates with clusters in radiation damaged detectors)
58 // Rename class variables from pxxxx (private xxxx) to xxxx_ to follow standard convention.
59 // Add compiler option to store the template entries in BOOST multiarrays of structs instead of simple c arrays
60 // (allows dynamic resizing template storage and has bounds checking but costs ~10% in execution time).
61 // V8.21 - Add new qbin method to use in cluster splitting
62 // V8.23 - Replace chi-min position errors with merged cluster chi2 probability info
63 // V8.25 - Incorporate VI's speed changes into the current version
64 // V8.26 - Modify the Vavilov lookups to work better with the FPix (offset y-templates)
65 // V8.30 - Change the splitting template generation and access to improve speed and eliminate triple index boost::multiarray
66 // V8.31 - Add correction factor: measured/true charge
67 // V8.31 - Fix version number bug in db object I/O (pushfile)
68 // V8.32 - Check for illegal qmin during loading
69 // V8.33 - Fix small type conversion warnings
70 // V8.40 - Incorporate V.I. optimizations
71 // V9.00 - Expand header to include multi and single dcol thresholds, LA biases, and (variable) Qbin definitions
72 // V9.01 - Protect against negative error squared
73 // V10.00 - Update to work with Phase 1 FPix. Fix some code problems introduced by other maintainers.
74 // V10.01 - Fix initialization style as suggested by S. Krutelyov
75 // V10.10 - Add class variables and methods to correctly calculate the probabilities of single pixel clusters
76 // V10.11 - Allow subdetector ID=5 for FPix R2P2 [allows better internal labeling of templates]
77 // V10.12 - Enforce minimum signal size in pixel charge uncertainty calculation
78 // V10.13 - Update the variable size [SI_PIXEL_TEMPLATE_USE_BOOST] option so that it works with VI's enhancements
79 // V10.20 - Add directory path selection to the ascii pushfile method
80 // V10.21 - Address runtime issues in pushfile() for gcc 7.X due to using tempfile as char string + misc. cleanup [Petar]
81 // V10.22 - Move templateStore to the heap, fix variable name in pushfile() [Petar]
82 // V10.24 - Add sideload() + associated gymnastics [Petar and Oz]
83 
84 // Created by Morris Swartz on 10/27/06.
85 //
86 //
87 
88 // Build the template storage structure from several pieces
89 
90 #ifndef SiPixelTemplate_h
91 #define SiPixelTemplate_h 1
92 
93 #include "SiPixelTemplateDefs.h"
94 
95 #include <vector>
96 #include <cassert>
97 #include "boost/multi_array.hpp"
98 
99 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
102 #endif
103 
105  int runnum;
106  float alpha;
107  float cotalpha;
108  float beta;
109  float cotbeta;
110  float costrk[3];
111  float qavg;
112  float pixmax;
113  float symax;
114  float dyone;
115  float syone;
116  float sxmax;
117  float dxone;
118  float sxone;
119  float dytwo;
120  float sytwo;
121  float dxtwo;
122  float sxtwo;
123  float qmin;
124  float qmin2;
125  float yavggen[4];
126  float yrmsgen[4];
127  float xavggen[4];
128  float xrmsgen[4];
129 
130  float clsleny;
131  float clslenx;
132  float mpvvav;
133  float sigmavav;
134  float kappavav;
135  float mpvvav2;
136  float sigmavav2;
137  float kappavav2;
138  float ypar[2][5];
139  float ytemp[9][TYSIZE];
140  float xpar[2][5];
141  float xtemp[9][TXSIZE];
142  float yavg[4];
143  float yrms[4];
144  float ygx0[4];
145  float ygsig[4];
146  float yflpar[4][6];
147  float xavg[4];
148  float xrms[4];
149  float xgx0[4];
150  float xgsig[4];
151  float xflpar[4][6];
152  float chi2yavg[4];
153  float chi2ymin[4];
154  float chi2xavg[4];
155  float chi2xmin[4];
156  float chi2yavgone;
157  float chi2yminone;
158  float chi2xavgone;
159  float chi2xminone;
160  float yavgc2m[4];
161  float yrmsc2m[4];
162  float chi2yavgc2m[4];
163  float chi2yminc2m[4];
164  float xavgc2m[4];
165  float xrmsc2m[4];
166  float chi2xavgc2m[4];
167  float chi2xminc2m[4];
168  float ygx0gen[4];
169  float ygsiggen[4];
170  float xgx0gen[4];
171  float xgsiggen[4];
172  float qbfrac[3];
173  float fracyone;
174  float fracxone;
175  float fracytwo;
176  float fracxtwo;
177  float qavg_avg;
179  float spare[1];
180 };
181 
183  int ID;
184  int NTy;
185  int NTyx;
186  int NTxx;
187  int Dtype;
188  float qscale;
189  float lorywidth;
190  float lorxwidth;
191  float lorybias;
192  float lorxbias;
193  float Vbias;
194  float temperature;
195  float fluence;
196  float s50;
197  float ss50;
198  char title[80];
200  float Bfield;
201  float fbin[3];
202  float xsize;
203  float ysize;
204  float zsize;
205 };
206 
209 #ifndef SI_PIXEL_TEMPLATE_USE_BOOST
217  void destroy(){};
218 #else
219  float* cotbetaY = nullptr;
220  float* cotbetaX = nullptr;
221  float* cotalphaX = nullptr;
222  boost::multi_array<SiPixelTemplateEntry, 1> enty;
223  boost::multi_array<SiPixelTemplateEntry, 2> entx;
225  void destroy() { // deletes arrays created by pushfile method of SiPixelTemplate
226  if (cotbetaY != nullptr)
227  delete[] cotbetaY;
228  if (cotbetaX != nullptr)
229  delete[] cotbetaX;
230  if (cotalphaX != nullptr)
231  delete[] cotalphaX;
232  }
233 #endif
234 };
235 
236 // ******************************************************************************************
254 // ******************************************************************************************
256 public:
257  SiPixelTemplate(const std::vector<SiPixelTemplateStore>& thePixelTemp) : thePixelTemp_(thePixelTemp) {
258  id_current_ = -1;
259  index_id_ = -1;
260  cota_current_ = 0.;
261  cotb_current_ = 0.;
262  entry_sideloaded_ = nullptr;
263  }
264 
265 // Load the private store with info from the file with the index (int) filenum from directory dir:
266 // ${dir}template_summary_zp${filenum}.out
267 #ifdef SI_PIXEL_TEMPLATE_STANDALONE
268  static bool pushfile(int filenum, std::vector<SiPixelTemplateStore>& pixelTemp, std::string dir = "");
269 
270  // For calibrations only: load precalculated values -- no interpolation.
271  void sideload(SiPixelTemplateEntry* entry,
272  int iDtype,
273  float locBx,
274  float locBz,
275  float lorwdy,
276  float lorwdx,
277  float q50,
278  float fbin[3],
279  float xsize,
280  float ysize,
281  float zsize);
282 
283 #else
284  static bool pushfile(int filenum,
285  std::vector<SiPixelTemplateStore>& pixelTemp,
286  // *&^%$#@! Different default dir -- remove once FastSim is updated.
287  std::string dir = "CalibTracker/SiPixelESProducers/data/");
288 
289  //load from DB (default in CMSSW)
290  static bool pushfile(const SiPixelTemplateDBObject& dbobject,
291  std::vector<SiPixelTemplateStore>& pixelTemp); // load the private store with info from db
292 #endif
293 
294  // initialize the rest;
295  static void postInit(std::vector<SiPixelTemplateStore>& thePixelTemp_);
296 
297  // Interpolate input alpha and beta angles to produce a working template for each individual hit.
298  bool interpolate(int id, float cotalpha, float cotbeta, float locBz, float locBx);
299 
300  // Interpolate input alpha and beta angles to produce a working template for each individual hit.
301  bool interpolate(int id, float cotalpha, float cotbeta, float locBz);
302 
303  // overload for compatibility.
304  bool interpolate(int id, float cotalpha, float cotbeta);
305 
306  // retreive interpolated templates.
307  void ytemp(int fybin, int lybin, float ytemplate[41][BYSIZE]);
308 
309  void xtemp(int fxbin, int lxbin, float xtemplate[41][BXSIZE]);
310 
311  //Method to estimate the central pixel of the interpolated y-template
312  int cytemp();
313 
314  //Method to estimate the central pixel of the interpolated x-template
315  int cxtemp();
316 
317  //Methods to build templates from two interpolated clusters (for splitting)
318  void ytemp3d_int(int nypix, int& nybins);
319 
320  void ytemp3d(int j, int k, std::vector<float>& ytemplate);
321 
322  void xtemp3d_int(int nxpix, int& nxbins);
323 
324  void xtemp3d(int j, int k, std::vector<float>& xtemplate);
325 
326  // Convert vector of projected signals into uncertainties for fitting.
327  void ysigma2(int fypix, int lypix, float sythr, float ysum[BYSIZE], float ysig2[BYSIZE]);
328 
329  void ysigma2(float qpixel, int index, float& ysig2);
330 
331  void xsigma2(int fxpix, int lxpix, float sxthr, float xsum[BXSIZE], float xsig2[BXSIZE]);
332 
333  // Interpolate qfl correction in y.
334  float yflcorr(int binq, float qfly);
335 
336  // Interpolate qfl correction in x.
337  float xflcorr(int binq, float qflx);
338 
339  int qbin(int id,
340  float cotalpha,
341  float cotbeta,
342  float locBz,
343  float locBx,
344  float qclus,
345  float& pixmx,
346  float& sigmay,
347  float& deltay,
348  float& sigmax,
349  float& deltax,
350  float& sy1,
351  float& dy1,
352  float& sy2,
353  float& dy2,
354  float& sx1,
355  float& dx1,
356  float& sx2,
357  float& dx2);
358 
359  int qbin(int id,
360  float cotalpha,
361  float cotbeta,
362  float locBz,
363  float qclus,
364  float& pixmx,
365  float& sigmay,
366  float& deltay,
367  float& sigmax,
368  float& deltax,
369  float& sy1,
370  float& dy1,
371  float& sy2,
372  float& dy2,
373  float& sx1,
374  float& dx1,
375  float& sx2,
376  float& dx2);
377 
378  // Overload to use for cluster splitting
379  int qbin(int id, float cotalpha, float cotbeta, float qclus);
380 
381  // Overload to keep legacy interface
382  int qbin(int id, float cotbeta, float qclus);
383 
384  // Method to return template errors for fastsim
385  void temperrors(int id,
386  float cotalpha,
387  float cotbeta,
388  int qBin,
389  float& sigmay,
390  float& sigmax,
391  float& sy1,
392  float& sy2,
393  float& sx1,
394  float& sx2);
395 
396  //Method to return qbin and size probabilities for fastsim
397  void qbin_dist(int id,
398  float cotalpha,
399  float cotbeta,
400  float qbin_frac[4],
401  float& ny1_frac,
402  float& ny2_frac,
403  float& nx1_frac,
404  float& nx2_frac);
405 
406  //Method to calculate simple 2D templates
407  bool simpletemplate2D(
408  float xhitp, float yhitp, std::vector<bool>& ydouble, std::vector<bool>& xdouble, float template2d[BXM2][BYM2]);
409 
410  //Method to interpolate Vavilov distribution parameters
411  void vavilov_pars(double& mpv, double& sigma, double& kappa);
412 
413  //Method to interpolate 2-cluster Vavilov distribution parameters
414  void vavilov2_pars(double& mpv, double& sigma, double& kappa);
415 
416  float qavg() { return qavg_; }
417  float pixmax() { return pixmax_; }
418  float qscale() { return qscale_; }
419  float s50() { return s50_; }
420  float ss50() { return ss50_; }
421  float symax() { return symax_; }
422  float dyone() { return dyone_; }
423  float syone() { return syone_; }
424  float dytwo() { return dytwo_; }
425  float sytwo() { return sytwo_; }
426  float sxmax() { return sxmax_; }
427  float dxone() { return dxone_; }
428  float sxone() { return sxone_; }
429  float dxtwo() { return dxtwo_; }
430  float sxtwo() { return sxtwo_; }
431  float qmin() { return qmin_; }
432  float qmin(int i) {
433 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
434  if (i < 0 || i > 1) {
435  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::qmin called with illegal index = " << i << std::endl;
436  }
437 #else
438  assert(i >= 0 && i < 2);
439 #endif
440  if (i == 0) {
441  return qmin_;
442  } else {
443  return qmin2_;
444  }
445  }
446  float clsleny() { return clsleny_; }
447  float clslenx() { return clslenx_; }
448  float yratio() { return yratio_; }
449  float yxratio() { return yxratio_; }
450  float xxratio() { return xxratio_; }
451  float yavg(int i) {
452 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
453  if (i < 0 || i > 3) {
454  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::yavg called with illegal index = " << i << std::endl;
455  }
456 #else
457  assert(i >= 0 && i < 4);
458 #endif
459  return yavg_[i];
460  }
461  float yrms(int i) {
462 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
463  if (i < 0 || i > 3) {
464  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::yrms called with illegal index = " << i << std::endl;
465  }
466 #else
467  assert(i >= 0 && i < 4);
468 #endif
469  return yrms_[i];
470  }
471  float ygx0(int i) {
472 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
473  if (i < 0 || i > 3) {
474  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::ygx0 called with illegal index = " << i << std::endl;
475  }
476 #else
477  assert(i >= 0 && i < 4);
478 #endif
479  return ygx0_[i];
480  }
481  float ygsig(int i) {
482 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
483  if (i < 0 || i > 3) {
484  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::ygsig called with illegal index = " << i << std::endl;
485  }
486 #else
487  assert(i >= 0 && i < 4);
488 #endif
489  return ygsig_[i];
490  }
491  float xavg(int i) {
492 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
493  if (i < 0 || i > 3) {
494  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::xavg called with illegal index = " << i << std::endl;
495  }
496 #else
497  assert(i >= 0 && i < 4);
498 #endif
499  return xavg_[i];
500  }
501  float xrms(int i) {
502 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
503  if (i < 0 || i > 3) {
504  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::xrms called with illegal index = " << i << std::endl;
505  }
506 #else
507  assert(i >= 0 && i < 4);
508 #endif
509  return xrms_[i];
510  }
511  float xgx0(int i) {
512 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
513  if (i < 0 || i > 3) {
514  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::xgx0 called with illegal index = " << i << std::endl;
515  }
516 #else
517  assert(i >= 0 && i < 4);
518 #endif
519  return xgx0_[i];
520  }
521  float xgsig(int i) {
522 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
523  if (i < 0 || i > 3) {
524  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::xgsig called with illegal index = " << i << std::endl;
525  }
526 #else
527  assert(i >= 0 && i < 4);
528 #endif
529  return xgsig_[i];
530  }
531  float chi2yavg(int i) {
532 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
533  if (i < 0 || i > 3) {
534  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::chi2yavg called with illegal index = " << i << std::endl;
535  }
536 #else
537  assert(i >= 0 && i < 4);
538 #endif
539  return chi2yavg_[i];
540  }
541  float chi2ymin(int i) {
542 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
543  if (i < 0 || i > 3) {
544  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::chi2ymin called with illegal index = " << i << std::endl;
545  }
546 #else
547  assert(i >= 0 && i < 4);
548 #endif
549  return chi2ymin_[i];
550  }
551  float chi2xavg(int i) {
552 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
553  if (i < 0 || i > 3) {
554  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::chi2xavg called with illegal index = " << i << std::endl;
555  }
556 #else
557  assert(i >= 0 && i < 4);
558 #endif
559  return chi2xavg_[i];
560  }
561  float chi2xmin(int i) {
562 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
563  if (i < 0 || i > 3) {
564  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::chi2xmin called with illegal index = " << i << std::endl;
565  }
566 #else
567  assert(i >= 0 && i < 4);
568 #endif
569  return chi2xmin_[i];
570  }
571  float yavgc2m(int i) {
572 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
573  if (i < 0 || i > 3) {
574  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::yavgc2m called with illegal index = " << i << std::endl;
575  }
576 #else
577  assert(i >= 0 && i < 4);
578 #endif
579  return yavgc2m_[i];
580  }
581  float yrmsc2m(int i) {
582 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
583  if (i < 0 || i > 3) {
584  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::yrmsc2m called with illegal index = " << i << std::endl;
585  }
586 #else
587  assert(i >= 0 && i < 4);
588 #endif
589  return yrmsc2m_[i];
590  }
591  float chi2yavgc2m(int i) {
592 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
593  if (i < 0 || i > 3) {
594  throw cms::Exception("DataCorrupt")
595  << "SiPixelTemplate::chi2yavgc2m called with illegal index = " << i << std::endl;
596  }
597 #else
598  assert(i >= 0 && i < 4);
599 #endif
600  return chi2yavgc2m_[i];
601  }
602  float chi2yminc2m(int i) {
603 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
604  if (i < 0 || i > 3) {
605  throw cms::Exception("DataCorrupt")
606  << "SiPixelTemplate::chi2yminc2m called with illegal index = " << i << std::endl;
607  }
608 #else
609  assert(i >= 0 && i < 4);
610 #endif
611  return chi2yminc2m_[i];
612  }
613  float xavgc2m(int i) {
614 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
615  if (i < 0 || i > 3) {
616  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::xavgc2m called with illegal index = " << i << std::endl;
617  }
618 #else
619  assert(i >= 0 && i < 4);
620 #endif
621  return xavgc2m_[i];
622  }
623  float xrmsc2m(int i) {
624 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
625  if (i < 0 || i > 3) {
626  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::xrmsc2m called with illegal index = " << i << std::endl;
627  }
628 #else
629  assert(i >= 0 && i < 4);
630 #endif
631  return xrmsc2m_[i];
632  }
633  float chi2xavgc2m(int i) {
634 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
635  if (i < 0 || i > 3) {
636  throw cms::Exception("DataCorrupt")
637  << "SiPixelTemplate::chi2xavgc2m called with illegal index = " << i << std::endl;
638  }
639 #else
640  assert(i >= 0 && i < 4);
641 #endif
642  return chi2xavgc2m_[i];
643  }
644  float chi2xminc2m(int i) {
645 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
646  if (i < 0 || i > 3) {
647  throw cms::Exception("DataCorrupt")
648  << "SiPixelTemplate::chi2xminc2m called with illegal index = " << i << std::endl;
649  }
650 #else
651  assert(i >= 0 && i < 4);
652 #endif
653  return chi2xminc2m_[i];
654  }
655  float fbin(int i) {
656 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
657  if (i < 0 || i > 2) {
658  throw cms::Exception("DataCorrupt") << "SiPixelTemplate::fbin called with illegal index = " << i << std::endl;
659  }
660 #else
661  assert(i >= 0 && i < 3);
662 #endif
663  return fbin_[i];
664  }
665 
666  float chi2yavgone() { return chi2yavgone_; }
667  float chi2yminone() { return chi2yminone_; }
668  float chi2xavgone() { return chi2xavgone_; }
669  float chi2xminone() { return chi2xminone_; }
670  float lorywidth() { return lorywidth_; }
671  float lorxwidth() { return lorxwidth_; }
672  //float lorybias() {return lorywidth_;} //!< signed lorentz y-width (microns)
673  //float lorxbias() {return lorxwidth_;} //!< signed lorentz x-width (microns)
674  float lorybias() { return lorybias_; }
675  float lorxbias() { return lorxbias_; }
676  float mpvvav() { return mpvvav_; }
677  float sigmavav() { return sigmavav_; }
678  float kappavav() { return kappavav_; }
679  float mpvvav2() {
680  return mpvvav2_;
681  }
682  float sigmavav2() { return sigmavav2_; }
683  float kappavav2() { return kappavav2_; }
684  float xsize() { return xsize_; }
685  float ysize() { return ysize_; }
686  float zsize() { return zsize_; }
687  float r_qMeas_qTrue() { return r_qMeas_qTrue_; }
688  float fracyone() { return fracyone_; }
689  float fracxone() { return fracxone_; }
690  float fracytwo() { return fracytwo_; }
691  float fracxtwo() { return fracxtwo_; }
692  // float yspare(int i) {assert(i>=0 && i<5); return pyspare[i];} //!< vector of 5 spares interpolated in beta only
693  // float xspare(int i) {assert(i>=0 && i<10); return pxspare[i];} //!< vector of 10 spares interpolated in alpha and beta
694 
695 private:
696  // Keep current template interpolaion parameters
697 
699  int index_id_;
702  float abs_cotb_;
703  int dtype_;
704  bool flip_y_;
705  bool flip_x_;
706  bool success_;
707 
708  // Keep results of last interpolation to return through member functions
709 
710  float qavg_;
711  float pixmax_;
712  float qscale_;
713  float s50_;
714  float ss50_;
715  float symax_;
716  float syparmax_;
717  float dyone_;
718  float syone_;
719  float dytwo_;
720  float sytwo_;
721  float sxmax_;
722  float sxparmax_;
723  float dxone_;
724  float sxone_;
725  float dxtwo_;
726  float sxtwo_;
727  float qmin_;
728  float clsleny_;
729  float clslenx_;
730  float scalexavg_;
731  float scaleyavg_;
732  float delyavg_;
733  float delysig_;
734  float scalex_[4];
735  float scaley_[4];
736  float offsetx_[4];
737  float offsety_[4];
738 
739  float yratio_;
740  float yparl_[2][5];
741  float yparh_[2][5];
742  float xparly0_[2][5];
743  float xparhy0_[2][5];
744  float ytemp_[9][BYSIZE];
745  float yxratio_;
746  float xxratio_;
747  float xpar0_[2][5];
748  float xparl_[2][5];
749  float xparh_[2][5];
750  float xtemp_[9][BXSIZE];
751  float yavg_[4];
752  float yrms_[4];
753  float ygx0_[4];
754  float ygsig_[4];
755  float yflparl_[4][6];
756  float yflparh_[4][6];
757  float xavg_[4];
758  float xrms_[4];
759  float xgx0_[4];
760  float xgsig_[4];
761  float xflparll_[4][6];
762  float xflparlh_[4][6];
763  float xflparhl_[4][6];
764  float xflparhh_[4][6];
765  float chi2yavg_[4];
766  float chi2ymin_[4];
767  float chi2xavg_[4];
768  float chi2xmin_[4];
769  float yavgc2m_[4];
770  float yrmsc2m_[4];
771  float chi2yavgc2m_[4];
772  float chi2yminc2m_[4];
773  float xavgc2m_[4];
774  float xrmsc2m_[4];
775  float chi2xavgc2m_[4];
776  float chi2xminc2m_[4];
777  float chi2yavgone_;
778  float chi2yminone_;
779  float chi2xavgone_;
780  float chi2xminone_;
781  float qmin2_;
782  float mpvvav_;
783  float sigmavav_;
784  float kappavav_;
785  float mpvvav2_;
786  float sigmavav2_;
787  float kappavav2_;
788  float lorywidth_;
789  float lorxwidth_;
790  float lorybias_;
791  float lorxbias_;
792  float xsize_;
793  float ysize_;
794  float zsize_;
795  float qavg_avg_;
796  float nybins_;
797  float nxbins_;
799  float fbin_[3];
800  float fracyone_;
801  float fracxone_;
802  float fracytwo_;
803  float fracxtwo_;
804  boost::multi_array<float, 2> temp2dy_;
805  boost::multi_array<float, 2> temp2dx_;
806 
807  // Pointers to presently interpolated point:
808  const SiPixelTemplateEntry* enty0_; // enty[ilow]
809  const SiPixelTemplateEntry* enty1_; // enty[iylow][ilow]
810 
811  const SiPixelTemplateEntry* entx00_; // entx[iylow][ilow]
816 
817  // Pointer to the sideloaded Entry: use this one if set.
819 
820  // The actual template store is a std::vector container
821  const std::vector<SiPixelTemplateStore>& thePixelTemp_;
822 };
823 
824 #endif
SiPixelTemplateEntry::sigmavav2
float sigmavav2
"sigma" scale fctor for Vavilov distribution for 2 merged clusters
Definition: SiPixelTemplate.h:136
SiPixelTemplate::xflparll_
float xflparll_[4][6]
Aqfl-parameterized x-correction in 4 charge bins for smaller cotbeta, cotalpha.
Definition: SiPixelTemplate.h:761
SiPixelTemplate::xparl_
float xparl_[2][5]
projected x-pixel uncertainty parameterization for smaller cotalpha
Definition: SiPixelTemplate.h:748
SiPixelTemplate::postInit
static void postInit(std::vector< SiPixelTemplateStore > &thePixelTemp_)
Definition: SiPixelTemplate.cc:1287
SiPixelTemplateEntry::fracytwo
float fracytwo
fraction of double pixel sample with ysize = 1
Definition: SiPixelTemplate.h:175
SiPixelTemplateEntry::qavg_avg
float qavg_avg
average cluster charge of clusters that are less than qavg (normalize 2-D simple templates)
Definition: SiPixelTemplate.h:177
SiPixelTemplate::sxmax
float sxmax()
average pixel signal for x-projection of cluster
Definition: SiPixelTemplate.h:426
SiPixelTemplateEntry::yavggen
float yavggen[4]
generic algorithm: average y-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:125
SiPixelTemplateHeader::fbin
float fbin[3]
The QBin definitions in Q_clus/Q_avg.
Definition: SiPixelTemplate.h:201
SiPixelTemplate::xsize_
float xsize_
Pixel x-size.
Definition: SiPixelTemplate.h:792
SiPixelTemplate::temp2dy_
boost::multi_array< float, 2 > temp2dy_
2d-primitive for spltting 3-d template
Definition: SiPixelTemplate.h:804
SiPixelTemplateEntry::xavggen
float xavggen[4]
generic algorithm: average x-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:127
SiPixelTemplateDefs.h
SiPixelTemplate::yrmsc2m_
float yrmsc2m_[4]
1st pass chi2 min search: average y-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:770
SiPixelTemplate::fracytwo_
float fracytwo_
The simulated fraction of single double-size pixel y-clusters.
Definition: SiPixelTemplate.h:802
SiPixelTemplateEntry::chi2yminc2m
float chi2yminc2m[4]
1st pass chi2 min search: minimum of y chi^2 in 4 charge bins (merged clusters)
Definition: SiPixelTemplate.h:163
SiPixelTemplate::qavg_
float qavg_
average cluster charge for this set of track angles
Definition: SiPixelTemplate.h:710
SiPixelTemplate::syone_
float syone_
rms for one pixel y-clusters
Definition: SiPixelTemplate.h:718
SiPixelTemplateHeader::Vbias
float Vbias
detector bias potential in Volts
Definition: SiPixelTemplate.h:193
SiPixelTemplate::dytwo_
float dytwo_
mean offset/correction for one double-pixel y-clusters
Definition: SiPixelTemplate.h:719
SiPixelTemplate::dxtwo
float dxtwo()
mean offset/correction for one double-pixel x-clusters
Definition: SiPixelTemplate.h:429
SiPixelTemplate::ss50
float ss50()
1/2 of the single pixel per double column threshold in electrons
Definition: SiPixelTemplate.h:420
SiPixelTemplateEntry::syone
float syone
rms for one pixel y-clusters
Definition: SiPixelTemplate.h:115
SiPixelTemplate::xrmsc2m_
float xrmsc2m_[4]
1st pass chi2 min search: average x-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:774
mps_fire.i
i
Definition: mps_fire.py:355
SiPixelTemplateHeader::lorxbias
float lorxbias
estimate of x-lorentz bias
Definition: SiPixelTemplate.h:192
SiPixelTemplate::entx02_
const SiPixelTemplateEntry * entx02_
Definition: SiPixelTemplate.h:812
SiPixelTemplate::qavg
float qavg()
average cluster charge for this set of track angles
Definition: SiPixelTemplate.h:416
BYSIZE
#define BYSIZE
Definition: SiPixelTemplateDefs.h:25
SiPixelTemplate::pixmax
float pixmax()
maximum pixel charge
Definition: SiPixelTemplate.h:417
SiPixelTemplate::pushfile
static bool pushfile(int filenum, std::vector< SiPixelTemplateStore > &pixelTemp, std::string dir="CalibTracker/SiPixelESProducers/data/")
Definition: SiPixelTemplate.cc:129
SiPixelTemplate::sxone
float sxone()
rms for one pixel x-clusters
Definition: SiPixelTemplate.h:428
SiPixelTemplateEntry
Definition: SiPixelTemplate.h:104
SiPixelTemplate::xflparhl_
float xflparhl_[4][6]
Aqfl-parameterized x-correction in 4 charge bins for larger cotbeta, smaller cotalpha.
Definition: SiPixelTemplate.h:763
SiPixelTemplate::fracyone_
float fracyone_
The simulated fraction of single pixel y-clusters.
Definition: SiPixelTemplate.h:800
SiPixelTemplate::yavgc2m
float yavgc2m(int i)
1st pass chi2 min search: average y-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:571
SiPixelTemplate::symax_
float symax_
average pixel signal for y-projection of cluster
Definition: SiPixelTemplate.h:715
SiPixelTemplateHeader::NTyx
int NTyx
number of Template y-slices of x entries
Definition: SiPixelTemplate.h:185
SiPixelTemplate::lorxbias_
float lorxbias_
Lorentz x-bias.
Definition: SiPixelTemplate.h:791
SiPixelTemplate::chi2xminc2m
float chi2xminc2m(int i)
1st pass chi2 min search: minimum x-chisq for merged clusters
Definition: SiPixelTemplate.h:644
SiPixelTemplate::ygx0
float ygx0(int i)
average y0 from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:471
BXSIZE
#define BXSIZE
Definition: SiPixelTemplateDefs.h:33
SiPixelTemplate::delyavg_
float delyavg_
average difference between clsleny_ and cluster length [with threshold effects]
Definition: SiPixelTemplate.h:732
SiPixelTemplate::sxparmax_
float sxparmax_
maximum pixel signal for parameterization of x uncertainties
Definition: SiPixelTemplate.h:722
SiPixelTemplate::dxone_
float dxone_
mean offset/correction for one pixel x-clusters
Definition: SiPixelTemplate.h:723
SiPixelTemplate::entx20_
const SiPixelTemplateEntry * entx20_
Definition: SiPixelTemplate.h:813
SiPixelTemplate::fracxone
float fracxone()
The simulated fraction of single pixel x-clusters.
Definition: SiPixelTemplate.h:689
SiPixelTemplateEntry::yrms
float yrms[4]
average y-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:143
SiPixelTemplate::lorxwidth_
float lorxwidth_
Lorentz x-width.
Definition: SiPixelTemplate.h:789
SiPixelTemplate::yavg_
float yavg_[4]
average y-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:751
SiPixelTemplateEntry::qmin
float qmin
minimum cluster charge for valid hit (keeps 99.9% of simulated hits)
Definition: SiPixelTemplate.h:123
SiPixelTemplateHeader::templ_version
int templ_version
Version number of the template to ensure code compatibility.
Definition: SiPixelTemplate.h:199
SiPixelTemplate::ygsig_
float ygsig_[4]
average sigma_y from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:754
SiPixelTemplateEntry::yflpar
float yflpar[4][6]
Aqfl-parameterized y-correction in 4 charge bins.
Definition: SiPixelTemplate.h:146
SiPixelTemplateEntry::kappavav
float kappavav
kappa parameter for Vavilov distribution
Definition: SiPixelTemplate.h:134
SiPixelTemplateEntry::chi2xminone
float chi2xminone
minimum of x chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:159
SiPixelTemplate
Definition: SiPixelTemplate.h:255
SiPixelTemplate::lorxwidth
float lorxwidth()
signed lorentz x-width (microns)
Definition: SiPixelTemplate.h:671
mps_splice.entry
entry
Definition: mps_splice.py:68
SiPixelTemplate::syone
float syone()
rms for one pixel y-clusters
Definition: SiPixelTemplate.h:423
SiPixelTemplate::syparmax_
float syparmax_
maximum pixel signal for parameterization of y uncertainties
Definition: SiPixelTemplate.h:716
SiPixelTemplate::scaleyavg_
float scaleyavg_
average y-error scale factor
Definition: SiPixelTemplate.h:731
SiPixelTemplate::mpvvav2
float mpvvav2()
most probable charge in 2-cluster Vavilov distribution (not actually for larger kappa)
Definition: SiPixelTemplate.h:679
SiPixelTemplate::cotb_current_
float cotb_current_
current cot beta
Definition: SiPixelTemplate.h:701
SiPixelTemplate::chi2yavgone_
float chi2yavgone_
average y chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:777
SiPixelTemplateHeader::ysize
float ysize
pixel size (for future use in upgraded geometry)
Definition: SiPixelTemplate.h:203
SiPixelTemplate::dyone
float dyone()
mean offset/correction for one pixel y-clusters
Definition: SiPixelTemplate.h:422
SiPixelTemplateHeader::temperature
float temperature
detector temperature in deg K
Definition: SiPixelTemplate.h:194
SiPixelTemplateEntry::sxmax
float sxmax
average pixel signal for x-projection of cluster
Definition: SiPixelTemplate.h:116
SiPixelTemplate::flip_y_
bool flip_y_
flip y sign-sensitive quantities
Definition: SiPixelTemplate.h:704
SiPixelTemplateEntry::ygx0
float ygx0[4]
average y0 from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:144
SiPixelTemplateEntry::chi2yavgc2m
float chi2yavgc2m[4]
1st pass chi2 min search: average y chi^2 in 4 charge bins (merged clusters)
Definition: SiPixelTemplate.h:162
SiPixelTemplate::sxtwo_
float sxtwo_
rms for one double-pixel x-clusters
Definition: SiPixelTemplate.h:726
SiPixelTemplateHeader::fluence
float fluence
radiation fluence in n_eq/cm^2
Definition: SiPixelTemplate.h:195
cms::cuda::assert
assert(be >=bs)
SiPixelTemplate::ygsig
float ygsig(int i)
average sigma_y from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:481
SiPixelTemplateEntry::chi2xminc2m
float chi2xminc2m[4]
1st pass chi2 min search: minimum of x chi^2 in 4 charge bins (merged clusters)
Definition: SiPixelTemplate.h:167
SiPixelTemplate::entx22_
const SiPixelTemplateEntry * entx22_
Definition: SiPixelTemplate.h:814
SiPixelTemplate::xrmsc2m
float xrmsc2m(int i)
1st pass chi2 min search: average x-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:623
SiPixelTemplate::offsety_
float offsety_[4]
y-offset in charge bins
Definition: SiPixelTemplate.h:737
SiPixelTemplate::chi2yavgc2m_
float chi2yavgc2m_[4]
1st pass chi2 min search: average y-chisq for merged clusters
Definition: SiPixelTemplate.h:771
SiPixelTemplate::xxratio
float xxratio()
fractional distance in x between cotalpha templates
Definition: SiPixelTemplate.h:450
SiPixelTemplate::cytemp
int cytemp()
Return central pixel of y template pixels above readout threshold.
Definition: SiPixelTemplate.cc:2649
SiPixelTemplateHeader::qscale
float qscale
Charge scaling to match cmssw and pixelav.
Definition: SiPixelTemplate.h:188
SiPixelTemplateEntry::chi2yavgone
float chi2yavgone
average y chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:156
SiPixelTemplate::xtemp
void xtemp(int fxbin, int lxbin, float xtemplate[41][13+4])
Definition: SiPixelTemplate.cc:2580
SiPixelTemplateEntry::chi2xmin
float chi2xmin[4]
minimum of x chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:155
SiPixelTemplate::xavg
float xavg(int i)
average x-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:491
SiPixelTemplateEntry::xrmsgen
float xrmsgen[4]
generic algorithm: average x-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:128
SiPixelTemplateEntry::dxtwo
float dxtwo
mean offset/correction for one double-pixel x-clusters
Definition: SiPixelTemplate.h:121
SiPixelTemplateEntry::clslenx
float clslenx
cluster x-length in pixels at signal height sxmax/2
Definition: SiPixelTemplate.h:131
SiPixelTemplateHeader::Bfield
float Bfield
Bfield in Tesla.
Definition: SiPixelTemplate.h:200
TEMP_ENTRY_SIZEX_B
#define TEMP_ENTRY_SIZEX_B
Definition: SiPixelTemplateDefs.h:44
SiPixelTemplate::ysize
float ysize()
pixel y-size (microns)
Definition: SiPixelTemplate.h:685
SiPixelTemplate::flip_x_
bool flip_x_
flip x sign-sensitive quantities
Definition: SiPixelTemplate.h:705
SiPixelTemplateEntry::costrk
float costrk[3]
direction cosines of tracks used to generate this entry
Definition: SiPixelTemplate.h:110
SiPixelTemplateEntry::xrms
float xrms[4]
average x-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:148
SiPixelTemplateEntry::chi2yavg
float chi2yavg[4]
average y chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:152
SiPixelTemplate::temp2dx_
boost::multi_array< float, 2 > temp2dx_
2d-primitive for spltting 3-d template
Definition: SiPixelTemplate.h:805
SiPixelTemplate::sigmavav2_
float sigmavav2_
"sigma" scale fctor for 2-cluster Vavilov distribution
Definition: SiPixelTemplate.h:786
SiPixelTemplateEntry::xgx0gen
float xgx0gen[4]
generic algorithm: average x0 from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:170
SiPixelTemplateEntry::sigmavav
float sigmavav
"sigma" scale fctor for Vavilov distribution
Definition: SiPixelTemplate.h:133
SiPixelTemplate::success_
bool success_
true if cotalpha, cotbeta are inside of the acceptance (dynamically loaded)
Definition: SiPixelTemplate.h:706
SiPixelTemplate::chi2xavgc2m
float chi2xavgc2m(int i)
1st pass chi2 min search: average x-chisq for merged clusters
Definition: SiPixelTemplate.h:633
SiPixelTemplate::chi2xmin
float chi2xmin(int i)
minimum y chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:561
TXSIZE
#define TXSIZE
Definition: SiPixelTemplateDefs.h:30
SiPixelTemplate::mpvvav
float mpvvav()
most probable charge in Vavilov distribution (not actually for larger kappa)
Definition: SiPixelTemplate.h:676
SiPixelTemplate::xgx0_
float xgx0_[4]
average x0 from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:759
SiPixelTemplateHeader::s50
float s50
1/2 of the multihit dcol threshold in electrons
Definition: SiPixelTemplate.h:196
SiPixelTemplate::sigmavav_
float sigmavav_
"sigma" scale fctor for Vavilov distribution
Definition: SiPixelTemplate.h:783
SiPixelTemplateEntry::xgsiggen
float xgsiggen[4]
generic algorithm: average sigma_x from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:171
SiPixelTemplate::chi2ymin
float chi2ymin(int i)
minimum y chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:541
SiPixelTemplateEntry::xflpar
float xflpar[4][6]
Aqfl-parameterized x-correction in 4 charge bins.
Definition: SiPixelTemplate.h:151
SiPixelTemplate::s50
float s50()
1/2 of the pixel threshold signal in electrons
Definition: SiPixelTemplate.h:419
SiPixelTemplate::enty0_
const SiPixelTemplateEntry * enty0_
Definition: SiPixelTemplate.h:808
SiPixelTemplateStore::cotbetaX
float cotbetaX[60]
Definition: SiPixelTemplate.h:211
SiPixelTemplate::fracxone_
float fracxone_
The simulated fraction of single pixel x-clusters.
Definition: SiPixelTemplate.h:801
SiPixelTemplate::vavilov2_pars
void vavilov2_pars(double &mpv, double &sigma, double &kappa)
Definition: SiPixelTemplate.cc:4079
SiPixelTemplate::lorxbias
float lorxbias()
signed lorentz x-width (microns)
Definition: SiPixelTemplate.h:675
SiPixelTemplate::xparh_
float xparh_[2][5]
projected x-pixel uncertainty parameterization for larger cotalpha
Definition: SiPixelTemplate.h:749
SiPixelTemplateEntry::xgx0
float xgx0[4]
average x0 from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:149
SiPixelTemplate::lorybias_
float lorybias_
Lorentz y-bias.
Definition: SiPixelTemplate.h:790
TEMP_ENTRY_SIZEY
#define TEMP_ENTRY_SIZEY
Definition: SiPixelTemplateDefs.h:45
SiPixelTemplateEntry::pixmax
float pixmax
maximum charge for individual pixels in cluster
Definition: SiPixelTemplate.h:112
SiPixelTemplate::dyone_
float dyone_
mean offset/correction for one pixel y-clusters
Definition: SiPixelTemplate.h:717
SiPixelTemplate::enty1_
const SiPixelTemplateEntry * enty1_
Definition: SiPixelTemplate.h:809
SiPixelTemplate::qmin2_
float qmin2_
tighter minimum cluster charge for valid hit (keeps 99.8% of simulated hits)
Definition: SiPixelTemplate.h:781
SiPixelTemplate::yrms_
float yrms_[4]
average y-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:752
SiPixelTemplate::zsize_
float zsize_
Pixel z-size (thickness)
Definition: SiPixelTemplate.h:794
SiPixelTemplate::pixmax_
float pixmax_
maximum pixel charge
Definition: SiPixelTemplate.h:711
BYM2
#define BYM2
Definition: SiPixelTemplateDefs.h:28
SiPixelTemplate::chi2xavg_
float chi2xavg_[4]
average x chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:767
SiPixelTemplateStore::destroy
void destroy()
Definition: SiPixelTemplate.h:217
SiPixelTemplateEntry::yavg
float yavg[4]
average y-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:142
SiPixelTemplate::scaley_
float scaley_[4]
y-error scale factor in charge bins
Definition: SiPixelTemplate.h:735
SiPixelTemplate::yxratio_
float yxratio_
fractional distance in y between x-slices of cotalpha templates
Definition: SiPixelTemplate.h:745
SiPixelTemplate::xflcorr
float xflcorr(int binq, float qflx)
Definition: SiPixelTemplate.cc:2441
SiPixelTemplateHeader::lorywidth
float lorywidth
estimate of y-lorentz width for optimal resolution
Definition: SiPixelTemplate.h:189
SiPixelTemplate::sytwo
float sytwo()
rms for one double-pixel y-clusters
Definition: SiPixelTemplate.h:425
BXM2
#define BXM2
Definition: SiPixelTemplateDefs.h:36
SiPixelTemplate::sigmavav2
float sigmavav2()
"sigma" scale fctor for 2-cluster Vavilov distribution
Definition: SiPixelTemplate.h:682
SiPixelTemplate::xpar0_
float xpar0_[2][5]
projected x-pixel uncertainty parameterization for central cotalpha
Definition: SiPixelTemplate.h:747
SiPixelTemplateEntry::beta
float beta
beta track angle (defined in CMS CMS IN 2004/014)
Definition: SiPixelTemplate.h:108
SiPixelTemplate::chi2xminone_
float chi2xminone_
minimum of x chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:780
SiPixelTemplate::xavgc2m_
float xavgc2m_[4]
1st pass chi2 min search: average x-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:773
SiPixelTemplate::entx21_
const SiPixelTemplateEntry * entx21_
Definition: SiPixelTemplate.h:815
SiPixelTemplate::chi2xmin_
float chi2xmin_[4]
minimum of x chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:768
SiPixelTemplate::ysize_
float ysize_
Pixel y-size.
Definition: SiPixelTemplate.h:793
SiPixelTemplate::chi2yminc2m_
float chi2yminc2m_[4]
1st pass chi2 min search: minimum y-chisq for merged clusters
Definition: SiPixelTemplate.h:772
SiPixelTemplateHeader::lorxwidth
float lorxwidth
estimate of x-lorentz width for optimal resolution
Definition: SiPixelTemplate.h:190
SiPixelTemplate::dytwo
float dytwo()
mean offset/correction for one double-pixel y-clusters
Definition: SiPixelTemplate.h:424
SiPixelTemplate::yrmsc2m
float yrmsc2m(int i)
1st pass chi2 min search: average y-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:581
SiPixelTemplate::qavg_avg_
float qavg_avg_
average of cluster charge less than qavg
Definition: SiPixelTemplate.h:795
SiPixelTemplate::nxbins_
float nxbins_
number of bins in each dimension of the x-splitting template
Definition: SiPixelTemplate.h:797
SiPixelTemplateHeader::ss50
float ss50
1/2 of the single hit dcol threshold in electrons
Definition: SiPixelTemplate.h:197
SiPixelTemplateEntry::ytemp
float ytemp[9][21]
templates for y-reconstruction (binned over 1 central pixel)
Definition: SiPixelTemplate.h:139
SiPixelTemplate::yflparh_
float yflparh_[4][6]
Aqfl-parameterized y-correction in 4 charge bins for larger cotbeta.
Definition: SiPixelTemplate.h:756
dqmdumpme.k
k
Definition: dqmdumpme.py:60
SiPixelTemplateEntry::symax
float symax
average pixel signal for y-projection of cluster
Definition: SiPixelTemplate.h:113
SiPixelTemplateEntry::chi2xavgone
float chi2xavgone
average x chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:158
SiPixelTemplate::entx00_
const SiPixelTemplateEntry * entx00_
Definition: SiPixelTemplate.h:811
SiPixelTemplate::chi2yavgone
float chi2yavgone()
//!< average y chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:666
SiPixelTemplate::id_current_
int id_current_
current id
Definition: SiPixelTemplate.h:698
SiPixelTemplateEntry::yrmsgen
float yrmsgen[4]
generic algorithm: average y-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:126
SiPixelTemplateEntry::ygsiggen
float ygsiggen[4]
generic algorithm: average sigma_y from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:169
SiPixelTemplate::chi2yminc2m
float chi2yminc2m(int i)
1st pass chi2 min search: minimum y-chisq for merged clusters
Definition: SiPixelTemplate.h:602
SiPixelTemplate::fbin
float fbin(int i)
Return lower bound of Qbin definition.
Definition: SiPixelTemplate.h:655
SiPixelTemplateEntry::dytwo
float dytwo
mean offset/correction for one double-pixel y-clusters
Definition: SiPixelTemplate.h:119
SiPixelTemplateEntry::r_qMeas_qTrue
float r_qMeas_qTrue
ratio of measured to true cluster charge
Definition: SiPixelTemplate.h:178
SiPixelTemplate::chi2xavgone_
float chi2xavgone_
average x chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:779
SiPixelTemplateEntry::cotbeta
float cotbeta
cot(beta) is proportional to cluster length in y and is basis of interpolation
Definition: SiPixelTemplate.h:109
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
SiPixelTemplateEntry::alpha
float alpha
alpha track angle (defined in CMS CMS IN 2004/014)
Definition: SiPixelTemplate.h:106
SiPixelTemplate::sxmax_
float sxmax_
average pixel signal for x-projection of cluster
Definition: SiPixelTemplate.h:721
SiPixelTemplate::ytemp_
float ytemp_[9][21+4]
templates for y-reconstruction (binned over 5 central pixels)
Definition: SiPixelTemplate.h:744
SiPixelTemplate::yratio_
float yratio_
fractional distance in y between cotbeta templates
Definition: SiPixelTemplate.h:739
SiPixelTemplateEntry::xgsig
float xgsig[4]
average sigma_x from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:150
SiPixelTemplate::xavgc2m
float xavgc2m(int i)
1st pass chi2 min search: average x-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:613
SiPixelTemplate::chi2yminone_
float chi2yminone_
minimum of y chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:778
SiPixelTemplate::xrms_
float xrms_[4]
average x-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:758
SiPixelTemplateHeader::ID
int ID
< template header structure
Definition: SiPixelTemplate.h:183
SiPixelTemplate::xtemp3d
void xtemp3d(int j, int k, std::vector< float > &xtemplate)
Definition: SiPixelTemplate.cc:2937
SiPixelTemplateHeader::NTxx
int NTxx
number of Template x-entries in each slice
Definition: SiPixelTemplate.h:186
SiPixelTemplate::dxone
float dxone()
mean offset/correction for one pixel x-clusters
Definition: SiPixelTemplate.h:427
SiPixelTemplate::dxtwo_
float dxtwo_
mean offset/correction for one double-pixel x-clusters
Definition: SiPixelTemplate.h:725
SiPixelTemplate::ygx0_
float ygx0_[4]
average y0 from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:753
SiPixelTemplateEntry::ypar
float ypar[2][5]
projected y-pixel uncertainty parameterization
Definition: SiPixelTemplate.h:138
SiPixelTemplate::yratio
float yratio()
fractional distance in y between cotbeta templates
Definition: SiPixelTemplate.h:448
SiPixelTemplate::yparh_
float yparh_[2][5]
projected y-pixel uncertainty parameterization for larger cotbeta
Definition: SiPixelTemplate.h:741
SiPixelTemplate::chi2xavgone
float chi2xavgone()
//!< average x chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:668
SiPixelTemplateDBObject.h
SiPixelTemplate::qmin
float qmin(int i)
minimum cluster charge for valid hit (keeps 99.9% or 99.8% of simulated hits)
Definition: SiPixelTemplate.h:432
SiPixelTemplate::symax
float symax()
average pixel signal for y-projection of cluster
Definition: SiPixelTemplate.h:421
SiPixelTemplate::s50_
float s50_
1/2 of the pixel single col threshold signal in electrons
Definition: SiPixelTemplate.h:713
SiPixelTemplate::xtemp_
float xtemp_[9][13+4]
templates for x-reconstruction (binned over 5 central pixels)
Definition: SiPixelTemplate.h:750
SiPixelTemplate::xxratio_
float xxratio_
fractional distance in x between cotalpha templates
Definition: SiPixelTemplate.h:746
SiPixelTemplate::lorybias
float lorybias()
signed lorentz y-width (microns)
Definition: SiPixelTemplate.h:674
SiPixelTemplate::qbin_dist
void qbin_dist(int id, float cotalpha, float cotbeta, float qbin_frac[4], float &ny1_frac, float &ny2_frac, float &nx1_frac, float &nx2_frac)
Definition: SiPixelTemplate.cc:3620
SiPixelTemplate::chi2yavg_
float chi2yavg_[4]
average y chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:765
SiPixelTemplate::index_id_
int index_id_
current index
Definition: SiPixelTemplate.h:699
SiPixelTemplateEntry::yrmsc2m
float yrmsc2m[4]
1st pass chi2 min search: average y-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:161
SiPixelTemplateEntry::dyone
float dyone
mean offset/correction for one pixel y-clusters
Definition: SiPixelTemplate.h:114
SiPixelTemplate::sigmavav
float sigmavav()
"sigma" scale fctor for Vavilov distribution
Definition: SiPixelTemplate.h:677
SiPixelTemplateEntry::sytwo
float sytwo
rms for one double-pixel y-clusters
Definition: SiPixelTemplate.h:120
SiPixelTemplateEntry::xavg
float xavg[4]
average x-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:147
SiPixelTemplate::chi2yminone
float chi2yminone()
//!< minimum of y chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:667
SiPixelTemplateHeader
Definition: SiPixelTemplate.h:182
SiPixelTemplate::lorywidth
float lorywidth()
signed lorentz y-width (microns)
Definition: SiPixelTemplate.h:670
SiPixelTemplate::mpvvav2_
float mpvvav2_
most probable charge in 2-cluster Vavilov distribution (not actually for larger kappa)
Definition: SiPixelTemplate.h:785
SiPixelTemplate::mpvvav_
float mpvvav_
most probable charge in Vavilov distribution (not actually for larger kappa)
Definition: SiPixelTemplate.h:782
SiPixelTemplateEntry::ygsig
float ygsig[4]
average sigma_y from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:145
SiPixelTemplate::ytemp3d_int
void ytemp3d_int(int nypix, int &nybins)
Definition: SiPixelTemplate.cc:2757
SiPixelTemplateEntry::qavg
float qavg
average cluster charge for this set of track angles (now includes threshold effects)
Definition: SiPixelTemplate.h:111
SiPixelTemplate::fracxtwo
float fracxtwo()
The simulated fraction of single double-size pixel x-clusters.
Definition: SiPixelTemplate.h:691
SiPixelTemplate::r_qMeas_qTrue
float r_qMeas_qTrue()
ratio of measured to true cluster charge
Definition: SiPixelTemplate.h:687
SiPixelTemplate::chi2xavgc2m_
float chi2xavgc2m_[4]
1st pass chi2 min search: average x-chisq for merged clusters
Definition: SiPixelTemplate.h:775
SiPixelTemplate::fbin_
float fbin_[3]
The QBin definitions in Q_clus/Q_avg.
Definition: SiPixelTemplate.h:799
SiPixelTemplateDBObject
Definition: SiPixelTemplateDBObject.h:16
SiPixelTemplate::chi2xavg
float chi2xavg(int i)
averaage x chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:551
TYSIZE
#define TYSIZE
Definition: SiPixelTemplateDefs.h:21
SiPixelTemplate::clsleny_
float clsleny_
y-cluster length of smaller interpolated template in pixels
Definition: SiPixelTemplate.h:728
SiPixelTemplate::yxratio
float yxratio()
fractional distance in y between cotalpha templates slices
Definition: SiPixelTemplate.h:449
SiPixelTemplate::yavgc2m_
float yavgc2m_[4]
1st pass chi2 min search: average y-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:769
SiPixelTemplateEntry::chi2xavgc2m
float chi2xavgc2m[4]
1st pass chi2 min search: average x chi^2 in 4 charge bins (merged clusters)
Definition: SiPixelTemplate.h:166
SiPixelTemplate::dtype_
int dtype_
flags BPix (=0) or FPix (=1)
Definition: SiPixelTemplate.h:703
SiPixelTemplate::clslenx_
float clslenx_
x-cluster length of smaller interpolated template in pixels
Definition: SiPixelTemplate.h:729
SiPixelTemplate::cxtemp
int cxtemp()
Return central pixel of x-template pixels above readout threshold.
Definition: SiPixelTemplate.cc:2702
SiPixelTemplate::clslenx
float clslenx()
x-size of smaller interpolated template in pixels
Definition: SiPixelTemplate.h:447
SiPixelTemplateEntry::qmin2
float qmin2
tighter minimum cluster charge for valid hit (keeps 99.8% of simulated hits)
Definition: SiPixelTemplate.h:124
SiPixelTemplate::xsize
float xsize()
pixel x-size (microns)
Definition: SiPixelTemplate.h:684
SiPixelTemplateStore::cotalphaX
float cotalphaX[60]
60 y templates spanning cluster lengths from 0px to +18px
Definition: SiPixelTemplate.h:212
SiPixelTemplate::xparly0_
float xparly0_[2][5]
projected x-pixel uncertainty parameterization for smaller cotbeta (central alpha)
Definition: SiPixelTemplate.h:742
SiPixelTemplateEntry::spare
float spare[1]
Definition: SiPixelTemplate.h:179
SiPixelTemplateEntry::mpvvav
float mpvvav
most probable charge in Vavilov distribution (not actually for larger kappa)
Definition: SiPixelTemplate.h:132
SiPixelTemplate::yparl_
float yparl_[2][5]
projected y-pixel uncertainty parameterization for smaller cotbeta
Definition: SiPixelTemplate.h:740
SiPixelTemplate::r_qMeas_qTrue_
float r_qMeas_qTrue_
ratio of measured to true cluster charges
Definition: SiPixelTemplate.h:798
SiPixelTemplateEntry::fracxtwo
float fracxtwo
fraction of double pixel sample with xsize = 1
Definition: SiPixelTemplate.h:176
SiPixelTemplate::nybins_
float nybins_
number of bins in each dimension of the y-splitting template
Definition: SiPixelTemplate.h:796
SiPixelTemplate::xgsig_
float xgsig_[4]
sigma from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:760
SiPixelTemplateHeader::title
char title[80]
template title
Definition: SiPixelTemplate.h:198
SiPixelTemplate::kappavav_
float kappavav_
kappa parameter for Vavilov distribution
Definition: SiPixelTemplate.h:784
SiPixelTemplate::chi2yavg
float chi2yavg(int i)
average y chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:531
SiPixelTemplateEntry::chi2ymin
float chi2ymin[4]
minimum of y chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:153
SiPixelTemplate::qscale
float qscale()
charge scaling factor
Definition: SiPixelTemplate.h:418
SiPixelTemplateEntry::xpar
float xpar[2][5]
projected x-pixel uncertainty parameterization
Definition: SiPixelTemplate.h:140
SiPixelTemplate::fracytwo
float fracytwo()
The simulated fraction of single double-size pixel y-clusters.
Definition: SiPixelTemplate.h:690
SiPixelTemplate::zsize
float zsize()
pixel z-size or thickness (microns)
Definition: SiPixelTemplate.h:686
SiPixelTemplateHeader::Dtype
int Dtype
detector type (0=BPix, 1=FPix)
Definition: SiPixelTemplate.h:187
SiPixelTemplateEntry::chi2yminone
float chi2yminone
minimum of y chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:157
SiPixelTemplateEntry::xrmsc2m
float xrmsc2m[4]
1st pass chi2 min search: average x-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:165
SiPixelTemplate::yrms
float yrms(int i)
average y-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:461
SiPixelTemplate::xavg_
float xavg_[4]
average x-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:757
SiPixelTemplate::ss50_
float ss50_
1/2 of the pixel double col threshold signal in electrons
Definition: SiPixelTemplate.h:714
SiPixelTemplate::kappavav2_
float kappavav2_
kappa parameter for 2-cluster Vavilov distribution
Definition: SiPixelTemplate.h:787
SiPixelTemplate::xgx0
float xgx0(int i)
average x0 from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:511
SiPixelTemplate::qmin_
float qmin_
minimum cluster charge for valid hit (keeps 99.9% of simulated hits)
Definition: SiPixelTemplate.h:727
SiPixelTemplateEntry::fracyone
float fracyone
fraction of sample with ysize = 1
Definition: SiPixelTemplate.h:173
SiPixelTemplate::SiPixelTemplate
SiPixelTemplate(const std::vector< SiPixelTemplateStore > &thePixelTemp)
Constructor for cases in which template store already exists.
Definition: SiPixelTemplate.h:257
SiPixelTemplateEntry::runnum
int runnum
< Basic template entry corresponding to a single set of track angles
Definition: SiPixelTemplate.h:105
SiPixelTemplateEntry::ygx0gen
float ygx0gen[4]
generic algorithm: average y0 from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:168
SiPixelTemplate::cota_current_
float cota_current_
current cot alpha
Definition: SiPixelTemplate.h:700
SiPixelTemplateEntry::xtemp
float xtemp[9][13]
templates for x-reconstruction (binned over 1 central pixel)
Definition: SiPixelTemplate.h:141
SiPixelTemplate::offsetx_
float offsetx_[4]
x-offset in charge bins
Definition: SiPixelTemplate.h:736
SiPixelTemplate::xgsig
float xgsig(int i)
average sigma_x from Gaussian fit binned in 4 charge bins
Definition: SiPixelTemplate.h:521
SiPixelTemplateHeader::lorybias
float lorybias
estimate of y-lorentz bias
Definition: SiPixelTemplate.h:191
SiPixelTemplate::chi2yavgc2m
float chi2yavgc2m(int i)
1st pass chi2 min search: average y-chisq for merged clusters
Definition: SiPixelTemplate.h:591
SiPixelTemplate::sxone_
float sxone_
rms for one pixel x-clusters
Definition: SiPixelTemplate.h:724
SiPixelTemplateEntry::fracxone
float fracxone
fraction of sample with xsize = 1
Definition: SiPixelTemplate.h:174
SiPixelTemplate::qscale_
float qscale_
charge scaling factor
Definition: SiPixelTemplate.h:712
SiPixelTemplate::xrms
float xrms(int i)
average x-rms of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:501
TEMP_ENTRY_SIZEX_A
#define TEMP_ENTRY_SIZEX_A
Definition: SiPixelTemplateDefs.h:43
SiPixelTemplate::abs_cotb_
float abs_cotb_
absolute value of cot beta
Definition: SiPixelTemplate.h:702
SiPixelTemplate::yflcorr
float yflcorr(int binq, float qfly)
Definition: SiPixelTemplate.cc:2385
Exception
Definition: hltDiff.cc:246
SiPixelTemplate::scalex_
float scalex_[4]
x-error scale factor in charge bins
Definition: SiPixelTemplate.h:734
SiPixelTemplateEntry::sxtwo
float sxtwo
rms for one double-pixel x-clusters
Definition: SiPixelTemplate.h:122
SiPixelTemplateStore::enty
SiPixelTemplateEntry enty[60]
60 Barrel x templates spanning cluster lengths from -6px (-1.125Rad) to +6px (+1.125Rad) in each of 6...
Definition: SiPixelTemplate.h:214
SiPixelTemplateHeader::zsize
float zsize
pixel size (for future use in upgraded geometry)
Definition: SiPixelTemplate.h:204
SiPixelTemplateStore::head
SiPixelTemplateHeader head
< template storage structure
Definition: SiPixelTemplate.h:208
SiPixelTemplateEntry::qbfrac
float qbfrac[3]
fraction of sample in qbin = 0-2 (>=3 is the complement)
Definition: SiPixelTemplate.h:172
SiPixelTemplate::ytemp3d
void ytemp3d(int j, int k, std::vector< float > &ytemplate)
Definition: SiPixelTemplate.cc:2835
SiPixelTemplate::temperrors
void temperrors(int id, float cotalpha, float cotbeta, int qBin, float &sigmay, float &sigmax, float &sy1, float &sy2, float &sx1, float &sx2)
Definition: SiPixelTemplate.cc:3460
SiPixelTemplate::sxtwo
float sxtwo()
rms for one double-pixel x-clusters
Definition: SiPixelTemplate.h:430
SiPixelTemplate::xflparlh_
float xflparlh_[4][6]
Aqfl-parameterized x-correction in 4 charge bins for smaller cotbeta, larger cotalpha.
Definition: SiPixelTemplate.h:762
SiPixelTemplate::xparhy0_
float xparhy0_[2][5]
projected x-pixel uncertainty parameterization for larger cotbeta (central alpha)
Definition: SiPixelTemplate.h:743
SiPixelTemplate::ytemp
void ytemp(int fybin, int lybin, float ytemplate[41][21+4])
Definition: SiPixelTemplate.cc:2504
SiPixelTemplate::sytwo_
float sytwo_
rms for one double-pixel y-clusters
Definition: SiPixelTemplate.h:720
SiPixelTemplate::xsigma2
void xsigma2(int fxpix, int lxpix, float sxthr, float xsum[13+4], float xsig2[13+4])
Definition: SiPixelTemplate.cc:2267
SiPixelTemplate::ysigma2
void ysigma2(int fypix, int lypix, float sythr, float ysum[21+4], float ysig2[21+4])
Exception.h
SiPixelTemplate::kappavav2
float kappavav2()
kappa parameter for 2-cluster Vavilov distribution
Definition: SiPixelTemplate.h:683
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
SiPixelTemplate::xflparhh_
float xflparhh_[4][6]
Aqfl-parameterized x-correction in 4 charge bins for larger cotbeta, cotalpha.
Definition: SiPixelTemplate.h:764
SiPixelTemplate::chi2xminc2m_
float chi2xminc2m_[4]
1st pass chi2 min search: minimum x-chisq for merged clusters
Definition: SiPixelTemplate.h:776
SiPixelTemplate::xtemp3d_int
void xtemp3d_int(int nxpix, int &nxbins)
Definition: SiPixelTemplate.cc:2858
SiPixelTemplateEntry::yavgc2m
float yavgc2m[4]
1st pass chi2 min search: average y-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:160
SiPixelTemplateEntry::xavgc2m
float xavgc2m[4]
1st pass chi2 min search: average x-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:164
SiPixelTemplateHeader::xsize
float xsize
pixel size (for future use in upgraded geometry)
Definition: SiPixelTemplate.h:202
ApeEstimator_cff.qBin
qBin
Definition: ApeEstimator_cff.py:34
SiPixelTemplateEntry::chi2xavg
float chi2xavg[4]
average x chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:154
SiPixelTemplate::scalexavg_
float scalexavg_
average x-error scale factor
Definition: SiPixelTemplate.h:730
kappa
static const G4double kappa
Definition: UrbanMscModel93.cc:35
SiPixelTemplate::kappavav
float kappavav()
kappa parameter for Vavilov distribution
Definition: SiPixelTemplate.h:678
SiPixelTemplateHeader::NTy
int NTy
number of Template y entries
Definition: SiPixelTemplate.h:184
SiPixelTemplate::vavilov_pars
void vavilov_pars(double &mpv, double &sigma, double &kappa)
Definition: SiPixelTemplate.cc:3995
SiPixelTemplate::fracxtwo_
float fracxtwo_
The simulated fraction of single double-size pixel x-clusters.
Definition: SiPixelTemplate.h:803
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
SiPixelTemplate::yflparl_
float yflparl_[4][6]
Aqfl-parameterized y-correction in 4 charge bins for smaller cotbeta.
Definition: SiPixelTemplate.h:755
SiPixelTemplate::lorywidth_
float lorywidth_
Lorentz y-width (sign corrected for fpix frame)
Definition: SiPixelTemplate.h:788
SiPixelTemplate::clsleny
float clsleny()
y-size of smaller interpolated template in pixels
Definition: SiPixelTemplate.h:446
SiPixelTemplateStore
Definition: SiPixelTemplate.h:207
SiPixelTemplateEntry::dxone
float dxone
mean offset/correction for one pixel x-clusters
Definition: SiPixelTemplate.h:117
SiPixelTemplateEntry::clsleny
float clsleny
cluster y-length in pixels at signal height symax/2
Definition: SiPixelTemplate.h:130
SiPixelTemplate::chi2xminone
float chi2xminone()
//!< minimum of x chi^2 for 1 pixel clusters
Definition: SiPixelTemplate.h:669
SiPixelTemplate::chi2ymin_
float chi2ymin_[4]
minimum of y chi^2 in 4 charge bins
Definition: SiPixelTemplate.h:766
SiPixelTemplate::entry_sideloaded_
const SiPixelTemplateEntry * entry_sideloaded_
Definition: SiPixelTemplate.h:818
SiPixelTemplate::delysig_
float delysig_
rms of difference between clsleny_ and cluster length [with threshold effects]
Definition: SiPixelTemplate.h:733
SiPixelTemplate::thePixelTemp_
const std::vector< SiPixelTemplateStore > & thePixelTemp_
Definition: SiPixelTemplate.h:821
SiPixelTemplate::simpletemplate2D
bool simpletemplate2D(float xhitp, float yhitp, std::vector< bool > &ydouble, std::vector< bool > &xdouble, float template2d[13+2][21+2])
Make simple 2-D templates from track angles set in interpolate and hit position.
Definition: SiPixelTemplate.cc:3763
SiPixelTemplateEntry::kappavav2
float kappavav2
kappa parameter for Vavilov distribution for 2 merged clusters
Definition: SiPixelTemplate.h:137
SiPixelTemplateStore::cotbetaY
float cotbetaY[60]
Definition: SiPixelTemplate.h:210
SiPixelTemplate::interpolate
bool interpolate(int id, float cotalpha, float cotbeta, float locBz, float locBx)
Definition: SiPixelTemplate.cc:1327
SiPixelTemplate::yavg
float yavg(int i)
average y-bias of reconstruction binned in 4 charge bins
Definition: SiPixelTemplate.h:451
SiPixelTemplate::fracyone
float fracyone()
The simulated fraction of single pixel y-clusters.
Definition: SiPixelTemplate.h:688
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
SiPixelTemplate::qmin
float qmin()
minimum cluster charge for valid hit (keeps 99.9% of simulated hits)
Definition: SiPixelTemplate.h:431
SiPixelTemplateEntry::mpvvav2
float mpvvav2
most probable charge in Vavilov distribution for 2 merged clusters (not actually for larger kappa)
Definition: SiPixelTemplate.h:135
SiPixelTemplateEntry::sxone
float sxone
rms for one pixel x-clusters
Definition: SiPixelTemplate.h:118
SiPixelTemplateEntry::cotalpha
float cotalpha
cot(alpha) is proportional to cluster length in x and is basis of interpolation
Definition: SiPixelTemplate.h:107
SiPixelTemplate::qbin
int qbin(int id, float cotalpha, float cotbeta, float locBz, float locBx, float qclus, float &pixmx, float &sigmay, float &deltay, float &sigmax, float &deltax, float &sy1, float &dy1, float &sy2, float &dy2, float &sx1, float &dx1, float &sx2, float &dx2)
Definition: SiPixelTemplate.cc:2984
SiPixelTemplateStore::entx
SiPixelTemplateEntry entx[60][60]
Definition: SiPixelTemplate.h:216