ATLAS Offline Software
PixelChargeInterpolationParameters.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // PixelOfflineCalibData.cxx, (c) ATLAS Detector software
8 #include "CLHEP/Units/SystemOfUnits.h"
10 #include <iostream>
11 #include <fstream>
12 #include <cmath>
13 
14 const int nmax(200); // set protection of variables read from file, not too big
15 
16 namespace PixelCalib{
17 
18  // constructor. Setting defaults for everything. Hopefully constants
19  // will be read from database, or possibly from text file
21 
22  m_version = 0;
23 
24  // define bins of parametrization
25 
26  // eta bins: [-2.5, -2.0, .... 2.5]
27  int netabins = 10;
28  for(int i=0; i<netabins+1; i++){
29  m_etabins.push_back(-2.5+0.5*i);
30  }
31  // alfa (Rphi incidence angle) bins: [-6., -4., ... ,14]
32  int nphibins = 10;
33  for(int i=0; i<nphibins+1; i++){
34  m_phibins.push_back(-6+2*i);
35  }
36  // cluster size bins
37  int ncs=3;
38  for(int i=0; i<ncs+1; i++){
39  m_csx.push_back(1.5+i);
40  m_csy.push_back(1.5+i);
41  }
42  m_nlayerbins = 6;
43 
44  // Initialize default values for parametrization
45  // Should reading from database fail, these values would be used
46  int nxbin=nphibins*m_nlayerbins*ncs;
47  int nybin=netabins*m_nlayerbins*ncs;
48  // std::cout << "TOMTOM Setting defaults" << std::endl;
49  for(int i=0; i<nxbin; i++){
50  m_deltax.push_back(0.);
51  m_errdeltax.push_back(0.);
52  }
53  for(int i=0; i<nybin; i++){
54  m_deltay.push_back(0.);
55  m_errdeltay.push_back(0.);
56  }
57  // IBL
58  // eta bins: [0., 2.7]
59  m_etaibl = 0;
60  m_alphaibl = 0;
61  m_csxbinsibl = 0;
62  m_csybinsibl = 0;
63 
64  }
65 
67 
69 
70  void PixelChargeInterpolationParameters::setParameters(const int n1, // number of cluster size bins (x-direction)
71  const int n2, // number of cluster size bins (y-direction)
72  const int n3, // number of eta bins
73  const int n4, // number of incidence angle bins
74  int offset, // start from c[offset]
75  const std::vector<float> & c){ // vector with bin values
76  m_csx.clear();
77  m_csy.clear();
78  m_etabins.clear();
79  m_phibins.clear();
80  // n bins means we need n+1 bin extreme values
81  m_csx.reserve(n1+1);
82  m_csy.reserve(n2+1);
83  m_etabins.reserve(n3+1);
84  m_phibins.reserve(n4+1);
85  for(int i=0; i<n1+1; i++){
86  m_csx.push_back(c.at(i+offset));
87  }
88  offset += n1+1;
89  for(int i=0; i<n2+1; i++){
90  m_csy.push_back(c.at(i+offset));
91  }
92  offset += n2+1;
93  if(m_etaibl>0){ // IBL eta
94  m_ibletabins.reserve(m_etaibl+1);
95  for(int i = 0; i<m_etaibl+1; i++){
96  m_ibletabins.push_back(c.at(i+offset));
97  }
98  offset +=m_etaibl+1;
99  }
100  if(m_alphaibl>0){ // IBL phi
101  m_iblphibins.reserve(m_alphaibl+1);
102  for(int i = 0; i<m_alphaibl+1; i++){
103  m_iblphibins.push_back(c.at(i+offset));
104  }
105  offset +=m_alphaibl+1;
106  }
107  for(int i=0; i<n3+1; i++){
108  m_etabins.push_back(c.at(i+offset));
109  }
110  offset += n3+1;
111  for(int i=0; i<n4+1; i++){
112  m_phibins.push_back(c.at(i+offset));
113  }
114 
115  offset +=n4+1;
116 
117  m_deltax.clear();
118  m_deltay.clear();
119  m_errdeltax.clear();
120  m_errdeltay.clear();
121  int nxbin=m_csxbinsibl*m_alphaibl + n4*m_nlayerbins*n1;
122  int nybin=m_csybinsibl*m_etaibl + n3*m_nlayerbins*n2;
123 
124  m_deltax.reserve(nxbin);
125  m_deltay.reserve(nybin);
126  m_errdeltax.reserve(nxbin);
127  m_errdeltay.reserve(nybin);
128  for(int i=0; i<nxbin; i++){
129  m_deltax.push_back(0.);
130  m_errdeltax.push_back(0.);
131  }
132  for(int i=0; i<nybin; i++){
133  m_deltay.push_back(0.);
134  m_errdeltay.push_back(0.);
135  }
136 
137  }
138 
140  return m_deltax.size();
141  }
142 
144  return m_deltay.size();
145  }
146 
147  // just return 0 (no correction) outside parametrized range
149  if(i<0) return 0;
150  if(static_cast<unsigned int>(i) > m_deltax.size()-1) return 0;
151  return m_deltax[i];
152  }
153 
154  // just return 0 (no correction) outside parametrized range
156  if(i<0) return 0;
157  if(static_cast<unsigned int>(i) > m_deltay.size()-1) return 0;
158  return m_deltay[i];
159  }
160 
161  // 0 is an error code
163  if(i<0) return 0;
164  if(static_cast<unsigned int>(i) > m_deltax.size()-1) return 0;
165  m_deltax[i] = value;
166  return 1;
167  }
168 
169  // 0 is an error code
171  if(i<0) return 0;
172  if(static_cast<unsigned int>(i) > m_deltay.size()-1) return 0;
173  m_deltay[i] = value;
174  return 1;
175  }
176 
177 
178  // just return 0 (no correction) outside parametrized range
180  if(i<0) return 0;
181  if(static_cast<unsigned int>(i) > m_errdeltax.size()-1) return 0;
182  return m_errdeltax[i];
183  }
184 
185  // just return 0 (no correction) outside parametrized range
187  if(i<0) return 0;
188  if(static_cast<unsigned int>(i) > m_errdeltay.size()-1) return 0;
189  return m_errdeltay[i];
190  }
191 
192  // 0 is an error code
194  if(i<0) return 0;
195  if(static_cast<unsigned int>(i) > m_errdeltax.size()-1) return 0;
196  m_errdeltax[i] = value;
197  return 1;
198  }
199 
200  // 0 is an error code
202  if(i<0) return 0;
203  if(static_cast<unsigned int>(i) > m_errdeltay.size()-1) return 0;
204  m_errdeltay[i] = value;
205  return 1;
206  }
207 
208 
210  float ang,
211  int ilayer) const
212  {
213  int ibin = getBarrelBinX(nrows, ang, ilayer);
214  float delta2 = getDeltaX(ibin);
215  return delta2;
216  }
217 
218 
220  float eta,
221  int ilayer) const{
222  // double delta = 0;
223  // if(ncol == 2 && eta<2) delta = 0.25*CLHEP::mm+0.13*CLHEP::mm*eta;
224  // if(ncol == 2 && eta>2) delta = 0.5*CLHEP::mm;
225  // if(ncol == 3 && eta>0.8) delta = 0.25*CLHEP::mm;
226 
227  int ibin = getBarrelBinY(ncol, eta, ilayer);
228  float delta2 = getDeltaY(ibin);
229  return delta2;
230  }
231 
236  int iclustersize, int ilayer) const{
237  int ibin = getBarrelBinX(iclustersize, iangle, ilayer);
238  if(ibin < 0) return 0;
239  return getDeltaX(ibin);
240  }
241 
243  int iclustersize, int ilayer) const{
244  int ibin = getBarrelBinY(iclustersize, ieta, ilayer);
245  if(ibin < 0) return 0;
246  return getDeltaY(ibin);
247  }
248 
250  int iclustersize, int ilayer,
251  float value){
252  int ibin = getBarrelBinX(iclustersize, iangle, ilayer);
253  if(ibin < 0) return 0; // error code
254  return setDeltaX(ibin, value);
255  }
256 
258  int iclustersize, int ilayer,
259  float value){
260  int ibin = getBarrelBinY(iclustersize, ieta, ilayer);
261  if(ibin < 0) return 0; // error code
262  return setDeltaY(ibin, value);
263  }
264 
269  int iclustersize, int ilayer) const{
270  int ibin = getBarrelBinX(iclustersize, iangle, ilayer);
271  if(ibin < 0) return 0;
272  return getErrDeltaX(ibin);
273  }
274 
276  int iclustersize, int ilayer) const{
277  int ibin = getBarrelBinY(iclustersize, ieta, ilayer);
278  if(ibin < 0) return 0;
279  return getErrDeltaY(ibin);
280  }
281 
283  int iclustersize, int ilayer,
284  float value){
285  int ibin = getBarrelBinX(iclustersize, iangle, ilayer);
286  if(ibin < 0) return 0; // error code
287  return setErrDeltaX(ibin, value);
288  }
289 
291  int iclustersize, int ilayer,
292  float value){
293  int ibin = getBarrelBinY(iclustersize, ieta, ilayer);
294  if(ibin < 0) return 0; // error code
295  return setErrDeltaY(ibin, value);
296  }
297 
299  return 10*CLHEP::micrometer;
300  }
301 
303  return 10*CLHEP::micrometer;
304  }
305 
307  float ang,
308  int ilayer) const{
309  // look for the phi bin
310  int iphi = 0;
311  int icsx=0;
312  if(m_version<-1 && ilayer ==0){
313  int nphi = m_iblphibins.size();
314  // check wether we are inside the parametrized range
315  if(ang < m_iblphibins[0]) return -1;
316  if(ang > m_iblphibins[nphi-1]) return -1;
317  if (nrows>=2 && nrows<=m_csxbinsibl+1) icsx=nrows-2;
318  else{
319  return -1;
320  }
321  for(int i=0; i<nphi; i++){
322  if(ang > m_iblphibins[i]) iphi=i; // 8
323  }
324  }
325  else{
326  int nphi = m_phibins.size();
327  // check wether we are inside the parametrized range
328  if(ang < m_phibins[0]) return -1;
329  if(ang > m_phibins[nphi-1]) return -1;
330  for(int i=0; i<nphi; i++){
331  if(ang > m_phibins[i]) iphi=i; // 8
332  }
333  int ncsx = m_csx.size(); // 4?
334  if(nrows>m_csx[ncsx-1]) return -1;
335  if(nrows<m_csx[0]) return -1;
336  for(int i=0; i<ncsx; i++){
337  if(nrows>(m_csx[i])) icsx=i; //0
338  }
339  }
340  return getBarrelBinX(icsx, iphi, ilayer);
341  // int ibin = iphi*m_nlayerbins*(ncsx-1)+ilayer*(ncsx-1)+icsx; // 8*6*3
342  // return ibin;
343 
344  }
345 
347  float eta,
348  int ilayer) const{
349  // int nxbin=nphibins*m_nlayerbins*ncs;
350  // int nybin=netabins*m_nlayerbins*ncs;
351  int ieta=0;
352  int icsy=0;
353  if(m_version<-1 && ilayer==0){ // IBL
354  int neta = m_ibletabins.size();
355  if(eta < m_ibletabins[0]) return -1;
356  if(eta > m_ibletabins[neta-1]) return -1;
357  for(int i=0; i<neta; i++){
358  if(eta > m_ibletabins[i]) ieta=i; // 10
359  }
360  if (ncol>=2 && ncol<=m_csybinsibl+1) icsy=ncol-2;
361  else{
362  return -1;
363  }
364  }
365  else{
366  int neta = m_etabins.size();
367  if(eta < m_etabins[0]) return -1;
368  if(eta > m_etabins[neta-1]) return -1;
369  for(int i=0; i<neta; i++){
370  if(eta > m_etabins[i]) ieta=i; // 10
371  }
372  int ncsy = m_csy.size();
373  if(ncol < m_csy[0]) return -1;
374  if(ncol > m_csy[ncsy-1]) return -1;
375  for(int i=0; i<ncsy; i++){
376  if(ncol>m_csy[i]) icsy=i;
377  }
378  }
379  return getBarrelBinY(icsy, ieta,ilayer);
380  // int ibin = ieta*m_nlayerbins*(ncsy-1)+ilayer*(ncsy-1)+icsy;
381  // return ibin;
382 
383  }
384 
388  int iangle,
389  int ilayer) const{
390 
391  // check wether we are inside parametrized range
392  int dl = (ilayer>0) ? 1 : 0;
393  if(nrows > int(m_csx.size()-1) || nrows < 0 ||
394  iangle > int(m_phibins.size()-1) || iangle < 0 ||
395  ilayer <0 || ilayer > (m_nlayerbins+dl)) return -1;
396  int ncsx = m_csx.size();
397  int ibin = (m_version<-1&&ilayer==0) ? iangle*m_csxbinsibl+nrows:
398  m_csxbinsibl*m_alphaibl+iangle*m_nlayerbins*(ncsx-1)+(ilayer-dl)*(ncsx-1)+nrows;
399  return ibin;
400  }
401 
405  int ieta,
406  int ilayer) const{
407 
408  // check wether we are inside parametrized range
409  int dl = (ilayer>0) ? 1 : 0;
410  if(ncol > int(m_csy.size()-1) || ncol < 0 ||
411  ieta > int(m_etabins.size()-1) || ieta < 0 ||
412  ilayer <0 || ilayer > (m_nlayerbins+dl)) return -1;
413  int ncsy = m_csy.size();
414  int ibin = (m_version<-1&&ilayer==0) ? ieta*m_csybinsibl+ncol:
415  m_csybinsibl*m_etaibl+ieta*m_nlayerbins*(ncsy-1)+(ilayer-dl)*(ncsy-1)+ncol;
416  return ibin;
417  }
418 
419 
420  //
421  void PixelChargeInterpolationParameters::Print(const std::string& file) const{
422 
423  std::ofstream* outfile = new std::ofstream(file.c_str());
424 
425  // std::cout << "TOMTOM printing constants" << std::endl;
426 
427  if(m_version < 0) *outfile << m_version << std::endl;
428  // The number of bins is the number of bin extremes minus 1.
429  int ncsx = m_csx.size()-1;
430  int ncsy = m_csy.size()-1;
431  int neta = m_etabins.size()-1;
432  int nalpha = m_phibins.size()-1;
433 
434  // if new format, write number o bins and bin extremes
435  if(m_version <0){ // IBL
436 
437  // std::cout << "TOMTOM new format" << std::endl;
438  if(m_version<-1){
439  *outfile <<ncsx<<" "<<ncsy<<" "<<neta<<" "<<nalpha<<" "<<m_csxbinsibl<<
440  " "<<m_csybinsibl<<" "<<m_etaibl<<" "<<m_alphaibl<<std::endl;
441  }
442  else{
443  *outfile <<ncsx<<" "<<ncsy<<" "<<neta<<" "<<nalpha<<std::endl;
444  }
445  // Then write bin extremes
446 
447  for(float i : m_csx){
448  *outfile << i << " ";
449  }
450  *outfile << std::endl;
451  for(float i : m_csy){
452  *outfile << i << " ";
453  }
454  *outfile << std::endl;
455  if(m_etaibl>0 && m_alphaibl >0 ){ // IBL
456  for(float ibletabin : m_ibletabins){
457  *outfile << ibletabin << " ";
458  }
459  *outfile << std::endl;
460  for(float iblphibin : m_iblphibins){
461  *outfile << iblphibin << " ";
462  }
463  *outfile << std::endl;
464  }
465  for(float etabin : m_etabins){
466  *outfile << etabin << " ";
467  }
468  *outfile << std::endl;
469  for(float phibin : m_phibins){
470  *outfile << phibin << " ";
471  }
472  *outfile << std::endl;
473  }
474  else{
475 
476  // std::cout << "TOMTOM old format" << std::endl;
477  *outfile << m_deltax.size() << " " << m_deltay.size() << std::endl;
478  }
479 
480  // Then bin content
481  for(unsigned int ib=0; ib<m_deltax.size(); ib++){
482  *outfile << m_deltax[ib] << " " << m_errdeltax[ib] << std::endl;
483  }
484  for(unsigned int ie=0; ie<m_deltay.size(); ie++){
485  *outfile << m_deltay[ie] << " " << m_errdeltay[ie] << std::endl;
486  }
487  outfile->close();
488 
489  delete outfile;
490  }
491 
492  // Load costants from file
494  std::ifstream infile(file.c_str());
495  int version = 0;
496  int nxbins = 0;
497  int nybins = 0;
498  int ncsx;
499  int ncsy;
500  int neta;
501  int nalpha;
502  m_csxbinsibl = 0;
503  m_csybinsibl = 0;
504  m_etaibl = 0;
505  m_alphaibl = 0;
506  int nxbinsibl(0);
507  int nybinsibl(0);
508 
509  float value, error;
510  infile >> version;
511  if (version>0) { // old format (without version number)
512 
513  m_version = 0;
514  nxbins = version;
515  infile >> nybins;
516  nxbins = std::min(nxbins, nmax);
517  if(nybins<0)nybins = 0;
518  nybins = std::min(nybins, nmax);
519  m_deltax.clear();
520  m_deltay.clear();
521  m_deltax.reserve(nxbins);
522  m_deltay.reserve(nybins);
523 
524  for(int ib=0; ib<nxbins && !infile.eof(); ib++){
525  infile >> value;
526  m_deltax.push_back(value);
527  }
528  for(int ib=0; ib<nybins && !infile.eof(); ib++){
529  infile >> value;
530  m_deltay.push_back(value);
531  }
532  }
533  else {
534  m_version = version;
535  if(version<-1){ // IBL version
536  // read the number of bins
537  infile >> ncsx >> ncsy >> neta >> nalpha>>m_csxbinsibl>>m_csybinsibl>>m_etaibl>>m_alphaibl;
538  nxbinsibl = m_csxbinsibl*m_alphaibl;
539  nybinsibl = m_csybinsibl*m_etaibl;
540  }
541  else{ // current pixel detector
542  infile >> ncsx >> ncsy >> neta >> nalpha;
543  }
544 
545  // read bins of parametrization
546  // Note: n bins = n+1 bin extremes
547 
548  float value;
549  m_csx.clear();
550  if(ncsx<0)ncsx = 0;
551  ncsx = std::min(ncsx,nmax);
552  m_csx.reserve(ncsx+1);
553  for(int i=0; i<ncsx+1 && !infile.eof(); i++){
554  infile >> value;
555  m_csx.push_back(value);
556  }
557  m_csy.clear();
558  if(ncsy<0)ncsy = 0;
559  ncsy = std::min(ncsy, nmax);
560  m_csy.reserve(ncsy+1);
561  for(int i=0; i<ncsy+1 && !infile.eof(); i++){
562  infile >> value;
563  m_csy.push_back(value);
564  }
565  if(m_etaibl>0 && m_alphaibl >0 ){ // IBL
566  m_ibletabins.clear();
568  m_ibletabins.reserve(m_etaibl+1);
569  for(int i=0; i<m_etaibl+1; i++){
570  infile >> value;
571  m_ibletabins.push_back(value);
572  }
573  m_iblphibins.clear();
575  m_iblphibins.reserve(m_alphaibl+1);
576  for(int i=0; i<m_alphaibl+1; i++){
577  infile >> value;
578  m_iblphibins.push_back(value);
579  }
580  }
581  //
582  m_etabins.clear();
583  if(neta<0)neta = 0;
584  neta = std::min(neta, nmax);
585  m_etabins.reserve(neta+1);
586  for(int i=0; i<neta+1 && !infile.eof(); i++){
587  infile >> value;
588  m_etabins.push_back(value);
589  }
590  m_phibins.clear();
591  if(nalpha<0)nalpha = 0;
592  nalpha = std::min(nalpha, nmax);
593  m_phibins.reserve(nalpha+1);
594  for(int i=0; i<nalpha+1 && !infile.eof(); i++){
595  infile >> value;
596  m_phibins.push_back(value);
597  }
598 
599  // Read contents of parametrization
600 
601  int nxbins = 6*ncsx*nalpha + nxbinsibl;
602  int nybins = 6*ncsy*neta + nybinsibl;
603  m_deltax.clear();
604  m_deltay.clear();
605  m_errdeltax.clear();
606  m_errdeltay.clear();
607  if(nxbins<0)nxbins = 0;
608  nxbins = std::min(nxbins, nmax);
609  if(nybins<0)nybins = 0;
610  nybins =std::min(nybins, nmax);
611  m_deltax.reserve(nxbins);
612  m_deltay.reserve(nybins);
613  m_errdeltax.reserve(nxbins);
614  m_errdeltay.reserve(nybins);
615  for(int ib=0; ib<nxbins && !infile.eof(); ib++){
616  infile >> value >> error;
617  m_deltax.push_back(value);
618  m_errdeltax.push_back(error);
619  }
620  for(int ib=0; ib<nybins && !infile.eof(); ib++){
621  infile >> value >> error;
622  m_deltay.push_back(value);
623  m_errdeltay.push_back(error);
624  }
625  } // and of check if version number is the first thing on file
626  } // end of Load method
627 
628 } // end of namespace
PixelCalib::PixelChargeInterpolationParameters::getBarrelBinX
int getBarrelBinX(int iclustersize, float angle, int ilayer) const
Get the global bin index as a function of the value of the variables of the parametrization.
Definition: PixelChargeInterpolationParameters.cxx:306
TestSUSYToolsAlg.dl
dl
Definition: TestSUSYToolsAlg.py:81
PixelCalib::PixelChargeInterpolationParameters::m_csy
std::vector< float > m_csy
Definition: PixelChargeInterpolationParameters.h:128
PixelCalib::PixelChargeInterpolationParameters::setDeltaY
int setDeltaY(int ieta, int iclustersize, int ilayer, float value)
Definition: PixelChargeInterpolationParameters.cxx:257
run.infile
string infile
Definition: run.py:13
PixelCalib::PixelChargeInterpolationParameters::setParameters
void setParameters(const int ncsx, const int ncsy, const int neta, const int nalpha, int offset, const std::vector< float > &constants)
Definition: PixelChargeInterpolationParameters.cxx:70
PixelCalib::PixelChargeInterpolationParameters::m_iblphibins
std::vector< float > m_iblphibins
Definition: PixelChargeInterpolationParameters.h:141
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
PixelCalib::PixelChargeInterpolationParameters::getDeltaY
float getDeltaY(int ieta, int iclustersize, int ilayer) const
Definition: PixelChargeInterpolationParameters.cxx:242
PlotCalibFromCool.ib
ib
Definition: PlotCalibFromCool.py:419
PixelCalib::PixelChargeInterpolationParameters::m_deltay
std::vector< float > m_deltay
Definition: PixelChargeInterpolationParameters.h:131
PixelCalib::PixelChargeInterpolationParameters::m_ibletabins
std::vector< float > m_ibletabins
Definition: PixelChargeInterpolationParameters.h:140
athena.value
value
Definition: athena.py:124
PixelCalib::PixelChargeInterpolationParameters::Load
void Load(const std::string &filename)
Definition: PixelChargeInterpolationParameters.cxx:493
PixelCalib::PixelChargeInterpolationParameters::m_version
int m_version
Definition: PixelChargeInterpolationParameters.h:123
PixelCalib::PixelChargeInterpolationParameters::getDeltaX
float getDeltaX(int iangle, int iclustersize, int ilayer) const
methods to get/set the calibration data as a function of the bin index for the various variables sepa...
Definition: PixelChargeInterpolationParameters.cxx:235
PixelCalib::PixelChargeInterpolationParameters::getDeltaYendcap
static float getDeltaYendcap()
Definition: PixelChargeInterpolationParameters.cxx:302
PixelCalib::PixelChargeInterpolationParameters::m_nlayerbins
int m_nlayerbins
Definition: PixelChargeInterpolationParameters.h:124
PixelCalib::PixelChargeInterpolationParameters::getNumberOfYbins
int getNumberOfYbins() const
Definition: PixelChargeInterpolationParameters.cxx:143
PixelCalib::PixelChargeInterpolationParameters::m_etaibl
int m_etaibl
Definition: PixelChargeInterpolationParameters.h:138
PlotCalibFromCool.ie
ie
Definition: PlotCalibFromCool.py:420
PixelCalib::PixelChargeInterpolationParameters::getNumberOfXbins
int getNumberOfXbins() const
Definition: PixelChargeInterpolationParameters.cxx:139
lumiFormat.i
int i
Definition: lumiFormat.py:85
PixelCalib::PixelChargeInterpolationParameters::PixelChargeInterpolationParameters
PixelChargeInterpolationParameters()
Definition: PixelChargeInterpolationParameters.cxx:20
file
TFile * file
Definition: tile_monitor.h:29
PixelCalib
Definition: PixelChargeInterpolationCalibration.h:14
python.SystemOfUnits.micrometer
int micrometer
Definition: SystemOfUnits.py:71
PixelCalib::PixelChargeInterpolationParameters::getBarrelBinY
int getBarrelBinY(int iclustersize, float eta, int ilayer) const
Definition: PixelChargeInterpolationParameters.cxx:346
PixelChargeInterpolationParameters.h
PixelCalib::PixelChargeInterpolationParameters::setVersion
void setVersion(int version)
Definition: PixelChargeInterpolationParameters.cxx:66
PixelCalib::PixelChargeInterpolationParameters::getVersion
int getVersion() const
Definition: PixelChargeInterpolationParameters.cxx:68
PixelCalib::PixelChargeInterpolationParameters::m_csybinsibl
int m_csybinsibl
Definition: PixelChargeInterpolationParameters.h:137
Rtt_histogram.n1
n1
Definition: Rtt_histogram.py:21
PixelCalib::PixelChargeInterpolationParameters::getErrDeltaY
float getErrDeltaY(int ieta, int iclustersize, int ilayer) const
Definition: PixelChargeInterpolationParameters.cxx:275
get_generator_info.version
version
Definition: get_generator_info.py:33
PixelCalib::PixelChargeInterpolationParameters::Print
void Print(const std::string &filename) const
Definition: PixelChargeInterpolationParameters.cxx:421
PixelCalib::PixelChargeInterpolationParameters::setErrDeltaY
int setErrDeltaY(int ieta, int iclustersize, int ilayer, float value)
Definition: PixelChargeInterpolationParameters.cxx:290
PixelCalib::PixelChargeInterpolationParameters::m_alphaibl
int m_alphaibl
Definition: PixelChargeInterpolationParameters.h:139
PixelCalib::PixelChargeInterpolationParameters::getDeltaYbarrel
float getDeltaYbarrel(int nCol, float eta, int ilayer=0) const
Definition: PixelChargeInterpolationParameters.cxx:219
PixelCalib::PixelChargeInterpolationParameters::getDeltaXbarrel
float getDeltaXbarrel(int nRows, float angle, int ilayer=0) const
Methods to access the calibration data as a function of the cluster size, angle/pseudorapidity,...
Definition: PixelChargeInterpolationParameters.cxx:209
PixelCalib::PixelChargeInterpolationParameters::m_csx
std::vector< float > m_csx
Definition: PixelChargeInterpolationParameters.h:127
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
PixelCalib::PixelChargeInterpolationParameters::getErrDeltaX
float getErrDeltaX(int iangle, int iclustersize, int ilayer) const
methods to get/set the calibration data as a function of the bin index for the various variables sepa...
Definition: PixelChargeInterpolationParameters.cxx:268
PixelCalib::PixelChargeInterpolationParameters::setDeltaX
int setDeltaX(int iangle, int iclustersize, int ilayer, float value)
Definition: PixelChargeInterpolationParameters.cxx:249
PixelCalib::PixelChargeInterpolationParameters::m_csxbinsibl
int m_csxbinsibl
Definition: PixelChargeInterpolationParameters.h:136
PixelCalib::PixelChargeInterpolationParameters::m_etabins
std::vector< float > m_etabins
Definition: PixelChargeInterpolationParameters.h:125
PixelCalib::PixelChargeInterpolationParameters::m_phibins
std::vector< float > m_phibins
Definition: PixelChargeInterpolationParameters.h:126
get_generator_info.error
error
Definition: get_generator_info.py:40
PixelCalib::PixelChargeInterpolationParameters::m_deltax
std::vector< float > m_deltax
Definition: PixelChargeInterpolationParameters.h:130
PrepareReferenceFile.outfile
outfile
Definition: PrepareReferenceFile.py:42
error
Definition: IImpactPoint3dEstimator.h:70
PixelCalib::PixelChargeInterpolationParameters::m_errdeltay
std::vector< float > m_errdeltay
Definition: PixelChargeInterpolationParameters.h:134
python.compressB64.c
def c
Definition: compressB64.py:93
nmax
const int nmax(200)
PixelCalib::PixelChargeInterpolationParameters::getDeltaXendcap
static float getDeltaXendcap()
Definition: PixelChargeInterpolationParameters.cxx:298
PixelCalib::PixelChargeInterpolationParameters::setErrDeltaX
int setErrDeltaX(int iangle, int iclustersize, int ilayer, float value)
Definition: PixelChargeInterpolationParameters.cxx:282
PixelCalib::PixelChargeInterpolationParameters::m_errdeltax
std::vector< float > m_errdeltax
Definition: PixelChargeInterpolationParameters.h:133