CMS 3D CMS Logo

SiPixelTemplate2D.h
Go to the documentation of this file.
1 //
2 // SiPixelTemplate2D.h (v2.65)
3 //
4 // Full 2-D templates for cluster splitting, simulated cluster reweighting, and improved cluster probability
5 //
6 // Created by Morris Swartz on 12/01/09.
7 // V1.01 - fix qavg_ filling
8 // V1.02 - Add locBz to test if FPix use is out of range
9 // V1.03 - Fix edge checking on final template to increase template size and to properly truncate cluster
10 // v2.00 - Major changes to accommodate 2D reconstruction
11 // v2.10 - Change chi2 and error scaling information to work with partially reconstructed clusters
12 // v2.20 - Add cluster charge probability information, side loading for template generation
13 // v2.21 - Double derivative interval [improves fit convergence]
14 // v2.25 - Resize template store to accommodate FPix Templates
15 // v2.30 - Fix bug found by P. Shuetze that compromises sqlite file loading
16 // v2.35 - Add directory path selection to the ascii pushfile method
17 // v2.50 - Change template storage to dynamically allocated 2D arrays of SiPixelTemplateEntry2D structs
18 // v2.51 - Ensure that the derivative arrays are correctly zeroed between calls
19 // v2.52 - Improve cosmetics for increased style points from judges
20 // v2.60 - Fix FPix multiframe lookup problem [takes +-cotalpha and +-cotbeta]
21 // v2.61a - Code 2.60 fix correctly
22 // v2.65 - change double pixel flags to work with new shifted reco code definition
23 //
24 
25 // Build the template storage structure from several pieces
26 
27 #ifndef SiPixelTemplate2D_h
28 #define SiPixelTemplate2D_h 1
29 
30 #include <vector>
31 #include <cassert>
32 #include "boost/multi_array.hpp"
33 
34 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
38 #else
39 #include "SiPixelTemplateDefs.h"
40 #endif
41 
43  int runnum;
44  float cotalpha;
45  float cotbeta;
46  float costrk[3];
47  float qavg;
48  float pixmax;
49  float sxymax;
50  int iymin;
51  int iymax;
52  int jxmin;
53  int jxmax;
54  float xypar[2][5];
55  float lanpar[2][5];
56  short int xytemp[7][7][T2YSIZE][T2XSIZE];
57  float chi2ppix;
58  float chi2scale;
59  float chi2avgone;
60  float chi2minone;
61  float clsleny;
62  float clslenx;
63  float mpvvav;
64  float sigmavav;
65  float kappavav;
66  float scalexavg;
67  float scaleyavg;
68  float delyavg;
69  float delysig;
70  float scalex[4];
71  float scaley[4];
72  float offsetx[4];
73  float offsety[4];
74  float spare[3];
75 };
76 
78  int ID;
79  int NTy;
80  int NTyx;
81  int NTxx;
82  int Dtype;
83  float qscale;
84  float lorywidth;
85  float lorxwidth;
86  float lorybias;
87  float lorxbias;
88  float Vbias;
89  float temperature;
90  float fluence;
91  float s50;
92  float ss50;
93  char title[80];
95  float Bfield;
96  float fbin[3];
97  float xsize;
98  float ysize;
99  float zsize;
100 };
101 
105  void destroy() { // deletes arrays created by pushfile method of SiPixelTemplate
106  if (entry != nullptr) {
107  delete[] entry[0];
108  delete[] entry;
109  }
110  }
111 };
112 
113 // ******************************************************************************************
131 // ******************************************************************************************
133 public:
134  SiPixelTemplate2D(const std::vector<SiPixelTemplateStore2D>& thePixelTemp) : thePixelTemp_(thePixelTemp) {
135  id_current_ = -1;
136  index_id_ = -1;
137  cota_current_ = 0.;
138  cotb_current_ = 0.;
139  }
140 
141  // load the private store with info from the
142  // file with the index (int) filenum ${dir}template_summary_zp${filenum}.out
143 #ifdef SI_PIXEL_TEMPLATE_STANDALONE
144  static bool pushfile(int filenum, std::vector<SiPixelTemplateStore2D>& pixelTemp, std::string dir = "");
145 
146  // For calibrations only: load precalculated values -- no interpolation.
147  void sideload(SiPixelTemplateEntry2D* entry,
148  int iDtype,
149  float locBx,
150  float locBz,
151  float lorwdy,
152  float lorwdx,
153  float q50,
154  float fbin[3],
155  float xsize,
156  float ysize,
157  float zsize);
158 
159 #else
160  static bool pushfile(int filenum,
161  std::vector<SiPixelTemplateStore2D>& pixelTemp,
162  std::string dir = "CalibTracker/SiPixelESProducers/data/");
163 
164  // Load from the DB (the default in CMSSW):
165  static bool pushfile(const SiPixel2DTemplateDBObject& dbobject, std::vector<SiPixelTemplateStore2D>& pixelTemp);
166 
167 #endif
168 
169  // Initialize things before interpolating
170  bool getid(int id);
171 
172  bool interpolate(int id, float cotalpha, float cotbeta, float locBz, float locBx);
173 
174  // Interpolate input alpha and beta angles to produce a working template for each individual hit.
175 
176  // Works with Phase 0+1
177  bool xytemp(float xhit,
178  float yhit,
179  bool ydouble[BYM2],
180  bool xdouble[BXM2],
181  float template2d[BXM2][BYM2],
182  bool dervatives,
183  float dpdx2d[2][BXM2][BYM2],
184  float& QTemplate);
185 
186  // Overload for backward compatibility
187 
188  bool xytemp(float xhit, float yhit, bool ydouble[BYM2], bool xdouble[BXM2], float template2d[BXM2][BYM2]);
189 
190  // Overload for backward compatibility with re-weighting code
191 
192  bool xytemp(int id,
193  float cotalpha,
194  float cotbeta,
195  float xhit,
196  float yhit,
197  std::vector<bool>& ydouble,
198  std::vector<bool>& xdouble,
199  float template2d[BXM2][BYM2]);
200 
201  void xysigma2(float qpixel, int index, float& xysig2);
202 
203  // Get the interpolated Landau distribution parameters
204 
205  void landau_par(float lanpar[2][5]);
206 
207  float qavg() { return qavg_; }
208  float pixmax() { return pixmax_; }
209  float qscale() { return qscale_; }
210  float s50() { return s50_; }
211  float sxymax() { return sxymax_; }
212  float scalex(int i) {
213  if (checkIllegalIndex("scalex", 3, i)) {
214  return scalex_[i];
215  } else {
216  return 0.f;
217  }
218  }
219  float scaley(int i) {
220  if (checkIllegalIndex("scaley", 3, i)) {
221  return scaley_[i];
222  } else {
223  return 0.f;
224  }
225  }
226  float offsetx(int i) {
227  if (checkIllegalIndex("offsetx", 3, i)) {
228  return offsetx_[i];
229  } else {
230  return 0.f;
231  }
232  }
233  float offsety(int i) {
234  if (checkIllegalIndex("offsety", 3, i)) {
235  return offsety_[i];
236  } else {
237  return 0.f;
238  }
239  }
240  float fbin(int i) {
241  if (checkIllegalIndex("fbin", 2, i)) {
242  return fbin_[i];
243  } else {
244  return 0.f;
245  }
246  }
247  float sizex() { return clslenx_; }
248  float sizey() { return clsleny_; }
249  float chi2ppix() { return chi2ppix_; }
250  float chi2scale() { return chi2scale_; }
251  float chi2avgone() { return chi2avgone_; }
252  float chi2minone() { return chi2minone_; }
253  float mpvvav() { return mpvvav_; }
254  float sigmavav() { return sigmavav_; }
255  float kappavav() { return kappavav_; }
256  float lorydrift() { return lorydrift_; }
257  float lorxdrift() { return lorxdrift_; }
258  float clsleny() { return clsleny_; }
259  float clslenx() { return clslenx_; }
260  float scaleyavg() { return scaleyavg_; }
261  float scalexavg() { return scalexavg_; }
262  float delyavg() {
263  return delyavg_;
264  }
265  float delysig() { return delysig_; }
266  float xsize() { return xsize_; }
267  float ysize() { return ysize_; }
268  float zsize() { return zsize_; }
269  int storesize() {
270  return (int)thePixelTemp_.size();
271  }
272 
273 private:
274  bool checkIllegalIndex(const std::string whichMethod, int indMax, int i) {
275 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
276  if (i < 0 || i > indMax) {
277  throw cms::Exception("DataCorrupt")
278  << "SiPixelTemplate2D::" << whichMethod << " called with illegal index = " << i << std::endl;
279  }
280 #else
281  assert(i >= 0 && i < indMax + 1);
282 
283 #endif
284  return true;
285  }
286 
287  // Keep current template interpolaion parameters
288 
290  int index_id_;
293  int Nyx_;
294  int Nxx_;
295  int Dtype_;
296  float cotbeta0_;
297  float cotbeta1_;
298  float deltacotb_;
299  float cotalpha0_;
300  float cotalpha1_;
301  float deltacota_;
302  int iy0_;
303  int iy1_;
304  float adcotb_;
305  int jx0_;
306  int jx1_;
307  float adcota_;
308  int imin_;
309  int imax_;
310  int jmin_;
311  int jmax_;
312  bool flip_y_;
313  bool flip_x_;
314  bool success_;
315 
316  // Keep results of last interpolation to return through member functions
317 
318  float qavg_;
319  float pixmax_;
320  float qscale_;
321  float s50_;
322  float sxymax_;
323  float xytemp_[BXM2][BYM2];
324  float xypary0x0_[2][5];
325  float xypary1x0_[2][5];
326  float xypary0x1_[2][5];
327  float lanpar_[2][5];
328  float chi2ppix_;
329  float chi2scale_;
330  float chi2avgone_;
331  float chi2minone_;
332  float clsleny_;
333  float clslenx_;
334  float scalexavg_;
335  float scaleyavg_;
336  float delyavg_;
337  float delysig_;
338  float scalex_[4];
339  float scaley_[4];
340  float offsetx_[4];
341  float offsety_[4];
342  float mpvvav_;
343  float sigmavav_;
344  float kappavav_;
345  float lorywidth_;
346  float lorxwidth_;
347  float lorydrift_;
348  float lorxdrift_;
349  float xsize_;
350  float ysize_;
351  float zsize_;
352  float fbin_[3];
353  const SiPixelTemplateEntry2D* entry00_; // Pointer to presently interpolated point [iy,ix]
354  const SiPixelTemplateEntry2D* entry10_; // Pointer to presently interpolated point [iy+1,ix]
355  const SiPixelTemplateEntry2D* entry01_; // Pointer to presently interpolated point [iy,ix+1]
356 
357  // The actual template store is a std::vector container
358  const std::vector<SiPixelTemplateStore2D>& thePixelTemp_;
359 };
360 
361 #endif
SiPixelTemplate2D::id_current_
int id_current_
current id
Definition: SiPixelTemplate2D.h:289
SiPixelTemplate2D::chi2ppix_
float chi2ppix_
average chi^2 per struck pixel
Definition: SiPixelTemplate2D.h:328
SiPixelTemplate2D::xsize
float xsize()
pixel x-size (microns)
Definition: SiPixelTemplate2D.h:266
SiPixelTemplateEntry2D::xypar
float xypar[2][5]
pixel uncertainty parameterization
Definition: SiPixelTemplate2D.h:54
SiPixelTemplate2D::jx1_
int jx1_
index of next-nearest cot(alpha) bin
Definition: SiPixelTemplate2D.h:306
SiPixelTemplateDefs.h
SiPixelTemplateHeader2D::fbin
float fbin[3]
The QBin definitions in Q_clus/Q_avg.
Definition: SiPixelTemplate2D.h:96
SiPixelTemplateEntry2D::runnum
int runnum
< Basic template entry corresponding to a single set of track angles
Definition: SiPixelTemplate2D.h:43
SiPixelTemplate2D::chi2ppix
float chi2ppix()
average chi^2 per struck pixel
Definition: SiPixelTemplate2D.h:249
SiPixelTemplate2D::xytemp
bool xytemp(float xhit, float yhit, bool ydouble[21+2], bool xdouble[13+2], float template2d[13+2][21+2], bool dervatives, float dpdx2d[2][13+2][21+2], float &QTemplate)
Definition: SiPixelTemplate2D.cc:1016
mps_fire.i
i
Definition: mps_fire.py:355
SiPixelTemplateEntry2D::chi2avgone
float chi2avgone
average y chi^2 for 1 pixel clusters
Definition: SiPixelTemplate2D.h:59
SiPixelTemplateEntry2D::spare
float spare[3]
Definition: SiPixelTemplate2D.h:74
SiPixel2DTemplateDBObject
Definition: SiPixel2DTemplateDBObject.h:16
SiPixelTemplateEntry2D::scaleyavg
float scaleyavg
average y-error scale factor
Definition: SiPixelTemplate2D.h:67
SiPixelTemplate2D::checkIllegalIndex
bool checkIllegalIndex(const std::string whichMethod, int indMax, int i)
Definition: SiPixelTemplate2D.h:274
T2YSIZE
#define T2YSIZE
Definition: SiPixelTemplateDefs.h:38
SiPixel2DTemplateDBObject.h
SiPixelTemplate2D::deltacota_
float deltacota_
cot(alpha) bin size
Definition: SiPixelTemplate2D.h:301
SiPixelTemplate2D::qavg_
float qavg_
average cluster charge for this set of track angles
Definition: SiPixelTemplate2D.h:318
SiPixelTemplate2D::cotalpha1_
float cotalpha1_
maximum cot(alpha) covered
Definition: SiPixelTemplate2D.h:300
SiPixelTemplate2D::xsize_
float xsize_
Pixel x-size.
Definition: SiPixelTemplate2D.h:349
SiPixelTemplateHeader2D::Bfield
float Bfield
Bfield in Tesla.
Definition: SiPixelTemplate2D.h:95
SiPixelTemplate2D::Dtype_
int Dtype_
flags BPix (=0) or FPix (=1)
Definition: SiPixelTemplate2D.h:295
SiPixelTemplateEntry2D::kappavav
float kappavav
kappa parameter for Vavilov distribution
Definition: SiPixelTemplate2D.h:65
SiPixelTemplate2D::xysigma2
void xysigma2(float qpixel, int index, float &xysig2)
Definition: SiPixelTemplate2D.cc:1724
SiPixelTemplate2D::flip_y_
bool flip_y_
flip y sign-sensitive quantities
Definition: SiPixelTemplate2D.h:312
SiPixelTemplateHeader2D::lorybias
float lorybias
estimate of y-lorentz bias
Definition: SiPixelTemplate2D.h:86
SiPixelTemplateEntry2D::delyavg
float delyavg
average length difference between template and cluster
Definition: SiPixelTemplate2D.h:68
SiPixelTemplate2D::scaley_
float scaley_[4]
y-error scale factor in charge bins
Definition: SiPixelTemplate2D.h:339
SiPixelTemplateEntry2D::sxymax
float sxymax
average pixel signal for use of the error parameterization
Definition: SiPixelTemplate2D.h:49
mps_splice.entry
entry
Definition: mps_splice.py:68
SiPixelTemplate2D::fbin_
float fbin_[3]
The QBin definitions in Q_clus/Q_avg.
Definition: SiPixelTemplate2D.h:352
SiPixelTemplate2D::xytemp_
float xytemp_[13+2][21+2]
template for xy-reconstruction
Definition: SiPixelTemplate2D.h:323
SiPixelTemplate2D::jx0_
int jx0_
index of nearest cot(alpha) bin
Definition: SiPixelTemplate2D.h:305
SiPixelTemplate2D::deltacotb_
float deltacotb_
cot(beta) bin size
Definition: SiPixelTemplate2D.h:298
SiPixelTemplateEntry2D
Definition: SiPixelTemplate2D.h:42
SiPixelTemplate2D::getid
bool getid(int id)
Definition: SiPixelTemplate2D.cc:569
SiPixelTemplate2D::xypary0x1_
float xypary0x1_[2][5]
Polynomial error parameterization at ix1,iy0.
Definition: SiPixelTemplate2D.h:326
SiPixelTemplate2D::delyavg_
float delyavg_
average difference between clsleny_ and cluster length [with threshold effects]
Definition: SiPixelTemplate2D.h:336
SiPixelTemplate2D::scalexavg
float scalexavg()
x-reco error scaling factor
Definition: SiPixelTemplate2D.h:261
cms::cuda::assert
assert(be >=bs)
SiPixelTemplateHeader2D::qscale
float qscale
Charge scaling to match cmssw and pixelav.
Definition: SiPixelTemplate2D.h:83
SiPixelTemplate2D::clslenx_
float clslenx_
projected x-length of cluster
Definition: SiPixelTemplate2D.h:333
SiPixelTemplate2D::index_id_
int index_id_
current index
Definition: SiPixelTemplate2D.h:290
SiPixelTemplateEntry2D::clsleny
float clsleny
cluster y-length in pixels at signal height symax/2
Definition: SiPixelTemplate2D.h:61
SiPixelTemplateHeader2D::temperature
float temperature
detector temperature in deg K
Definition: SiPixelTemplate2D.h:89
SiPixelTemplate2D::scaleyavg
float scaleyavg()
y-reco error scaling factor
Definition: SiPixelTemplate2D.h:260
SiPixelTemplateHeader2D::ID
int ID
< template header structure
Definition: SiPixelTemplate2D.h:78
SiPixelTemplate2D::scalexavg_
float scalexavg_
average x-error scale factor
Definition: SiPixelTemplate2D.h:334
SiPixelTemplateStore2D::destroy
void destroy()
Definition: SiPixelTemplate2D.h:105
SiPixelTemplate2D::chi2avgone_
float chi2avgone_
average chi^2 for 1 pixel clusters
Definition: SiPixelTemplate2D.h:330
SiPixelTemplateHeader2D::s50
float s50
1/2 of the multihit dcol threshold in electrons
Definition: SiPixelTemplate2D.h:91
SiPixelTemplateHeader2D::templ_version
int templ_version
Version number of the template to ensure code compatibility.
Definition: SiPixelTemplate2D.h:94
SiPixelTemplate2D::sxymax_
float sxymax_
average pixel signal for y-projection of cluster
Definition: SiPixelTemplate2D.h:322
SiPixelTemplate2D::entry01_
const SiPixelTemplateEntry2D * entry01_
Definition: SiPixelTemplate2D.h:355
SiPixelTemplate2D::Nxx_
int Nxx_
number of cot(alpha)-entries (rows) in template
Definition: SiPixelTemplate2D.h:294
SiPixelTemplate2D::offsetx
float offsetx(int i)
x-offset in 4 charge bins
Definition: SiPixelTemplate2D.h:226
SiPixelTemplateStore2D::head
SiPixelTemplateHeader2D head
< template storage structure
Definition: SiPixelTemplate2D.h:103
SiPixelTemplateHeader2D
Definition: SiPixelTemplate2D.h:77
SiPixelTemplate2D
Definition: SiPixelTemplate2D.h:132
SiPixelTemplateEntry2D::cotbeta
float cotbeta
cot(beta) is proportional to cluster length in y and is basis of interpolation
Definition: SiPixelTemplate2D.h:45
SiPixelTemplateEntry2D::scalex
float scalex[4]
x-error scale factor in 4 charge bins
Definition: SiPixelTemplate2D.h:70
SiPixelTemplateHeader2D::lorxbias
float lorxbias
estimate of x-lorentz bias
Definition: SiPixelTemplate2D.h:87
SiPixelTemplateEntry2D::mpvvav
float mpvvav
most probable charge in Vavilov distribution (not actually for larger kappa)
Definition: SiPixelTemplate2D.h:63
SiPixelTemplateHeader2D::ysize
float ysize
pixel size (for future use in upgraded geometry)
Definition: SiPixelTemplate2D.h:98
SiPixelTemplate2D::chi2scale_
float chi2scale_
scale factor for chi2 distribution
Definition: SiPixelTemplate2D.h:329
SiPixelTemplateHeader2D::lorxwidth
float lorxwidth
estimate of x-lorentz width for optimal resolution
Definition: SiPixelTemplate2D.h:85
SiPixelTemplate2D::clslenx
float clslenx()
cluster x-size
Definition: SiPixelTemplate2D.h:259
SiPixelTemplate2D::s50
float s50()
1/2 of the pixel threshold signal in adc units
Definition: SiPixelTemplate2D.h:210
SiPixelTemplate2D::imin_
int imin_
min y index of templated cluster
Definition: SiPixelTemplate2D.h:308
SiPixelTemplateEntry2D::chi2minone
float chi2minone
minimum of y chi^2 for 1 pixel clusters
Definition: SiPixelTemplate2D.h:60
SiPixelTemplate2D::lorydrift_
float lorydrift_
Lorentz y-drift.
Definition: SiPixelTemplate2D.h:347
BYM2
#define BYM2
Definition: SiPixelTemplateDefs.h:28
SiPixelTemplate2D::chi2avgone
float chi2avgone()
average y chi^2 for 1 pixel clusters
Definition: SiPixelTemplate2D.h:251
SiPixelTemplateHeader2D::ss50
float ss50
1/2 of the single hit dcol threshold in electrons
Definition: SiPixelTemplate2D.h:92
BXM2
#define BXM2
Definition: SiPixelTemplateDefs.h:36
SiPixelTemplate2D::offsetx_
float offsetx_[4]
x-offset in charge bins
Definition: SiPixelTemplate2D.h:340
SiPixelTemplateHeader2D::zsize
float zsize
pixel size (for future use in upgraded geometry)
Definition: SiPixelTemplate2D.h:99
SiPixelTemplate2D::entry00_
const SiPixelTemplateEntry2D * entry00_
Definition: SiPixelTemplate2D.h:353
SiPixelTemplateEntry2D::delysig
float delysig
rms of length difference between template and cluster
Definition: SiPixelTemplate2D.h:69
SiPixelTemplate2D::s50_
float s50_
1/2 of the pixel threshold signal in adc units
Definition: SiPixelTemplate2D.h:321
SiPixelTemplateEntry2D::iymax
int iymax
the maximum nonzero pixel yindex in template (saves time during interpolation)
Definition: SiPixelTemplate2D.h:51
SiPixelTemplate2D::adcota_
float adcota_
fractional pixel distance of cot(alpha) from jx0_
Definition: SiPixelTemplate2D.h:307
SiPixelTemplate2D::sigmavav_
float sigmavav_
scale factor in Vavilov distribution
Definition: SiPixelTemplate2D.h:343
SiPixelTemplate2D::storesize
int storesize()
return the size of the template store (the number of stored IDs
Definition: SiPixelTemplate2D.h:269
SiPixelTemplateHeader2D::title
char title[80]
template title
Definition: SiPixelTemplate2D.h:93
SiPixelTemplateEntry2D::costrk
float costrk[3]
direction cosines of tracks used to generate this entry
Definition: SiPixelTemplate2D.h:46
SiPixelTemplate2D::chi2minone_
float chi2minone_
minimum of chi^2 for 1 pixel clusters
Definition: SiPixelTemplate2D.h:331
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
SiPixelTemplateHeader2D::lorywidth
float lorywidth
estimate of y-lorentz width for optimal resolution
Definition: SiPixelTemplate2D.h:84
SiPixelTemplate2D::chi2minone
float chi2minone()
minimum of y chi^2 for 1 pixel clusters
Definition: SiPixelTemplate2D.h:252
SiPixelTemplate2D::chi2scale
float chi2scale()
scale factor for chi^2 distribution
Definition: SiPixelTemplate2D.h:250
SiPixelTemplate2D::thePixelTemp_
const std::vector< SiPixelTemplateStore2D > & thePixelTemp_
Definition: SiPixelTemplate2D.h:358
SiPixelTemplateStore2D
Definition: SiPixelTemplate2D.h:102
SiPixelTemplate2D::interpolate
bool interpolate(int id, float cotalpha, float cotbeta, float locBz, float locBx)
Definition: SiPixelTemplate2D.cc:659
SiPixelTemplate2D::cotbeta0_
float cotbeta0_
minimum cot(beta) covered
Definition: SiPixelTemplate2D.h:296
SiPixelTemplateStore2D::entry
SiPixelTemplateEntry2D ** entry
use 2d entry to store BPix and FPix entries [dynamically allocated]
Definition: SiPixelTemplate2D.h:104
SiPixelTemplate2D::entry10_
const SiPixelTemplateEntry2D * entry10_
Definition: SiPixelTemplate2D.h:354
SiPixelTemplate2D::imax_
int imax_
max y index of templated cluster
Definition: SiPixelTemplate2D.h:309
T2XSIZE
#define T2XSIZE
Definition: SiPixelTemplateDefs.h:39
SiPixelTemplateEntry2D::xytemp
short int xytemp[7][7][21][7]
templates for y-reconstruction (binned over 1 central pixel)
Definition: SiPixelTemplate2D.h:56
SiPixelTemplate2D::scalex
float scalex(int i)
x-error scale factor in 4 charge bins
Definition: SiPixelTemplate2D.h:212
SiPixelTemplate2D::lorxdrift_
float lorxdrift_
Lorentz x-drift.
Definition: SiPixelTemplate2D.h:348
SiPixelTemplateEntry2D::iymin
int iymin
the minimum nonzero pixel yindex in template (saves time during interpolation)
Definition: SiPixelTemplate2D.h:50
SiPixelTemplate2D::flip_x_
bool flip_x_
flip x sign-sensitive quantities
Definition: SiPixelTemplate2D.h:313
SiPixelTemplate2D::SiPixelTemplate2D
SiPixelTemplate2D(const std::vector< SiPixelTemplateStore2D > &thePixelTemp)
Default constructor.
Definition: SiPixelTemplate2D.h:134
SiPixelTemplateEntry2D::jxmin
int jxmin
the minimum nonzero pixel xindex in template (saves time during interpolation)
Definition: SiPixelTemplate2D.h:52
SiPixelTemplate2D::cotalpha0_
float cotalpha0_
minimum cot(alpha) covered
Definition: SiPixelTemplate2D.h:299
SiPixelTemplateHeader2D::NTyx
int NTyx
number of Template y-slices of x entries
Definition: SiPixelTemplate2D.h:80
SiPixelTemplateEntry2D::cotalpha
float cotalpha
cot(alpha) is proportional to cluster length in x and is basis of interpolation
Definition: SiPixelTemplate2D.h:44
SiPixelTemplate2D::kappavav
float kappavav()
kappa parameter in Vavilov distribution
Definition: SiPixelTemplate2D.h:255
SiPixelTemplateEntry2D::jxmax
int jxmax
the maximum nonzero pixel xindex in template (saves time during interpolation)
Definition: SiPixelTemplate2D.h:53
SiPixelTemplate2D::lorxdrift
float lorxdrift()
signed lorentz x-width (microns)
Definition: SiPixelTemplate2D.h:257
SiPixelTemplateEntry2D::lanpar
float lanpar[2][5]
pixel landau distribution parameters
Definition: SiPixelTemplate2D.h:55
SiPixelTemplateEntry2D::sigmavav
float sigmavav
"sigma" scale fctor for Vavilov distribution
Definition: SiPixelTemplate2D.h:64
SiPixelTemplate2D::pixmax
float pixmax()
maximum pixel charge
Definition: SiPixelTemplate2D.h:208
SiPixelTemplate2D::offsety_
float offsety_[4]
y-offset in charge bins
Definition: SiPixelTemplate2D.h:341
SiPixelTemplateEntry2D::offsetx
float offsetx[4]
x-offset in 4 charge bins
Definition: SiPixelTemplate2D.h:72
SiPixelTemplate2D::lorydrift
float lorydrift()
signed lorentz y-width (microns)
Definition: SiPixelTemplate2D.h:256
SiPixelTemplate2D::pixmax_
float pixmax_
maximum pixel charge
Definition: SiPixelTemplate2D.h:319
SiPixelTemplate2D::mpvvav
float mpvvav()
most probable Q in Vavilov distribution
Definition: SiPixelTemplate2D.h:253
SiPixelTemplate2D::clsleny_
float clsleny_
projected y-length of cluster
Definition: SiPixelTemplate2D.h:332
SiPixelTemplate2D::iy1_
int iy1_
index of next-nearest cot(beta) bin
Definition: SiPixelTemplate2D.h:303
SiPixelTemplate2D::ysize
float ysize()
pixel y-size (microns)
Definition: SiPixelTemplate2D.h:267
SiPixelTemplate2D::zsize_
float zsize_
Pixel z-size (thickness)
Definition: SiPixelTemplate2D.h:351
SiPixelTemplate2D::Nyx_
int Nyx_
number of cot(beta)-entries (columns) in template
Definition: SiPixelTemplate2D.h:293
SiPixelTemplateEntry2D::offsety
float offsety[4]
y-offset in 4 charge bins
Definition: SiPixelTemplate2D.h:73
SiPixelTemplate2D::lanpar_
float lanpar_[2][5]
Interpolated Landau parameters.
Definition: SiPixelTemplate2D.h:327
SiPixelTemplateHeader2D::NTxx
int NTxx
number of Template x-entries in each slice
Definition: SiPixelTemplate2D.h:81
SiPixelTemplateEntry2D::chi2scale
float chi2scale
scale factor for the chi2 distribution
Definition: SiPixelTemplate2D.h:58
SiPixelTemplate2D::xypary1x0_
float xypary1x0_[2][5]
Polynomial error parameterization at ix0,iy1.
Definition: SiPixelTemplate2D.h:325
SiPixelTemplate2D::cota_current_
float cota_current_
current cot alpha
Definition: SiPixelTemplate2D.h:291
SiPixelTemplate2D::fbin
float fbin(int i)
Return lower bound of Qbin definition.
Definition: SiPixelTemplate2D.h:240
SiPixelTemplate2D::lorxwidth_
float lorxwidth_
Lorentz x-width.
Definition: SiPixelTemplate2D.h:346
SiPixelTemplateHeader2D::Dtype
int Dtype
detector type (0=BPix, 1=FPix)
Definition: SiPixelTemplate2D.h:82
SiPixelTemplate2D::scaleyavg_
float scaleyavg_
average y-error scale factor
Definition: SiPixelTemplate2D.h:335
SiPixelTemplate2D::sxymax
float sxymax()
max pixel signal for pixel error calculation
Definition: SiPixelTemplate2D.h:211
SiPixelTemplate2D::landau_par
void landau_par(float lanpar[2][5])
Return the Landau probability parameters for this set of cot(alpha, cot(beta)
Definition: SiPixelTemplate2D.cc:1785
SiPixelTemplate2D::cotbeta1_
float cotbeta1_
maximum cot(beta) covered
Definition: SiPixelTemplate2D.h:297
SiPixelTemplate2D::jmax_
int jmax_
max x index of templated cluster
Definition: SiPixelTemplate2D.h:311
Exception
Definition: hltDiff.cc:246
SiPixelTemplate2D::mpvvav_
float mpvvav_
most probable Q in Vavilov distribution
Definition: SiPixelTemplate2D.h:342
SiPixelTemplate2D::sizex
float sizex()
return x size of template cluster
Definition: SiPixelTemplate2D.h:247
SiPixelTemplate2D::zsize
float zsize()
pixel z-size or thickness (microns)
Definition: SiPixelTemplate2D.h:268
SiPixelTemplate2D::qscale
float qscale()
charge scaling factor
Definition: SiPixelTemplate2D.h:209
SiPixelTemplate2D::sizey
float sizey()
return y size of template cluster
Definition: SiPixelTemplate2D.h:248
SiPixelTemplateEntry2D::clslenx
float clslenx
cluster x-length in pixels at signal height sxmax/2
Definition: SiPixelTemplate2D.h:62
SiPixelTemplateEntry2D::pixmax
float pixmax
maximum charge for individual pixels in cluster
Definition: SiPixelTemplate2D.h:48
SiPixelTemplate2D::qavg
float qavg()
average cluster charge for this set of track angles
Definition: SiPixelTemplate2D.h:207
Exception.h
SiPixelTemplate2D::lorywidth_
float lorywidth_
Lorentz y-width (sign corrected for fpix frame)
Definition: SiPixelTemplate2D.h:345
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
SiPixelTemplate2D::success_
bool success_
true if cotalpha, cotbeta are inside of the acceptance (dynamically loaded)
Definition: SiPixelTemplate2D.h:314
SiPixelTemplate2D::iy0_
int iy0_
index of nearest cot(beta) bin
Definition: SiPixelTemplate2D.h:302
SiPixelTemplate2D::clsleny
float clsleny()
cluster y-size
Definition: SiPixelTemplate2D.h:258
SiPixelTemplate2D::ysize_
float ysize_
Pixel y-size.
Definition: SiPixelTemplate2D.h:350
SiPixelTemplate2D::xypary0x0_
float xypary0x0_[2][5]
Polynomial error parameterization at ix0,iy0.
Definition: SiPixelTemplate2D.h:324
SiPixelTemplate2D::cotb_current_
float cotb_current_
current cot beta
Definition: SiPixelTemplate2D.h:292
SiPixelTemplateHeader2D::NTy
int NTy
number of Template y entries
Definition: SiPixelTemplate2D.h:79
SiPixelTemplateEntry2D::scalexavg
float scalexavg
average x-error scale factor
Definition: SiPixelTemplate2D.h:66
SiPixelTemplateHeader2D::Vbias
float Vbias
detector bias potential in Volts
Definition: SiPixelTemplate2D.h:88
SiPixelTemplate2D::jmin_
int jmin_
min x index of templated cluster
Definition: SiPixelTemplate2D.h:310
SiPixelTemplate2D::delysig
float delysig()
rms difference between clsleny_ and cluster length [with threshold effects]
Definition: SiPixelTemplate2D.h:265
SiPixelTemplateEntry2D::scaley
float scaley[4]
y-error scale factor in 4 charge bins
Definition: SiPixelTemplate2D.h:71
SiPixelTemplate2D::delysig_
float delysig_
rms of difference between clsleny_ and cluster length [with threshold effects]
Definition: SiPixelTemplate2D.h:337
SiPixelTemplate2D::scalex_
float scalex_[4]
x-error scale factor in charge bins
Definition: SiPixelTemplate2D.h:338
SiPixelTemplate2D::sigmavav
float sigmavav()
scale factor in Vavilov distribution
Definition: SiPixelTemplate2D.h:254
SiPixelTemplateHeader2D::xsize
float xsize
pixel size (for future use in upgraded geometry)
Definition: SiPixelTemplate2D.h:97
SiPixelTemplate2D::scaley
float scaley(int i)
y-error scale factor in 4 charge bins
Definition: SiPixelTemplate2D.h:219
SiPixelTemplate2D::pushfile
static bool pushfile(int filenum, std::vector< SiPixelTemplateStore2D > &pixelTemp, std::string dir="CalibTracker/SiPixelESProducers/data/")
Definition: SiPixelTemplate2D.cc:61
SiPixelTemplate2D::offsety
float offsety(int i)
y-offset in 4 charge bins
Definition: SiPixelTemplate2D.h:233
SiPixelTemplateEntry2D::qavg
float qavg
average cluster charge for this set of track angles
Definition: SiPixelTemplate2D.h:47
SiPixelTemplateHeader2D::fluence
float fluence
radiation fluence in n_eq/cm^2
Definition: SiPixelTemplate2D.h:90
SiPixelTemplate2D::qscale_
float qscale_
charge scaling factor
Definition: SiPixelTemplate2D.h:320
SiPixelTemplate2D::adcotb_
float adcotb_
fractional pixel distance of cot(beta) from iy0_
Definition: SiPixelTemplate2D.h:304
SiPixelTemplate2D::kappavav_
float kappavav_
kappa parameter in Vavilov distribution
Definition: SiPixelTemplate2D.h:344
SiPixelTemplateEntry2D::chi2ppix
float chi2ppix
average chi^2 per pixel
Definition: SiPixelTemplate2D.h:57
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
SiPixelTemplate2D::delyavg
float delyavg()
average difference between clsleny_ and cluster length [with threshold effects]
Definition: SiPixelTemplate2D.h:262