![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
8 #include "CLHEP/Units/SystemOfUnits.h"
28 for(
int i=0;
i<netabins+1;
i++){
33 for(
int i=0;
i<nphibins+1;
i++){
38 for(
int i=0;
i<ncs+1;
i++){
49 for(
int i=0;
i<nxbin;
i++){
53 for(
int i=0;
i<nybin;
i++){
95 std::vector<float>
c){
105 for(
int i=0;
i<
n1+1;
i++){
109 for(
int i=0;
i<n2+1;
i++){
127 for(
int i=0;
i<n3+1;
i++){
131 for(
int i=0;
i<n4+1;
i++){
148 for(
int i=0;
i<nxbin;
i++){
152 for(
int i=0;
i<nybin;
i++){
170 if(
static_cast<unsigned int>(
i) >
m_deltax.size()-1)
return 0;
177 if(
static_cast<unsigned int>(
i) >
m_deltay.size()-1)
return 0;
184 if(
static_cast<unsigned int>(
i) >
m_deltax.size()-1)
return 0;
192 if(
static_cast<unsigned int>(
i) >
m_deltay.size()-1)
return 0;
201 if(
static_cast<unsigned int>(
i) >
m_errdeltax.size()-1)
return 0;
208 if(
static_cast<unsigned int>(
i) >
m_errdeltay.size()-1)
return 0;
215 if(
static_cast<unsigned int>(
i) >
m_errdeltax.size()-1)
return 0;
223 if(
static_cast<unsigned int>(
i) >
m_errdeltay.size()-1)
return 0;
256 int iclustersize,
int ilayer)
const{
258 if(ibin < 0)
return 0;
263 int iclustersize,
int ilayer)
const{
265 if(ibin < 0)
return 0;
270 int iclustersize,
int ilayer,
273 if(ibin < 0)
return 0;
278 int iclustersize,
int ilayer,
281 if(ibin < 0)
return 0;
289 int iclustersize,
int ilayer)
const{
291 if(ibin < 0)
return 0;
296 int iclustersize,
int ilayer)
const{
298 if(ibin < 0)
return 0;
303 int iclustersize,
int ilayer,
306 if(ibin < 0)
return 0;
311 int iclustersize,
int ilayer,
314 if(ibin < 0)
return 0;
341 for(
int i=0;
i<nphi;
i++){
350 for(
int i=0;
i<nphi;
i++){
353 int ncsx =
m_csx.size();
354 if(nrows>
m_csx[ncsx-1])
return -1;
355 if(nrows<
m_csx[0])
return -1;
356 for(
int i=0;
i<ncsx;
i++){
377 for(
int i=0;
i<neta;
i++){
389 for(
int i=0;
i<neta;
i++){
392 int ncsy =
m_csy.size();
393 if(ncol <
m_csy[0])
return -1;
394 if(ncol >
m_csy[ncsy-1])
return -1;
395 for(
int i=0;
i<ncsy;
i++){
412 int dl = (ilayer>0) ? 1 : 0;
413 if(nrows >
int(
m_csx.size()-1) || nrows < 0 ||
416 int ncsx =
m_csx.size();
429 int dl = (ilayer>0) ? 1 : 0;
430 if(ncol >
int(
m_csy.size()-1) || ncol < 0 ||
433 int ncsy =
m_csy.size();
443 std::ofstream*
outfile =
new std::ofstream(
file.c_str());
449 int ncsx =
m_csx.size()-1;
450 int ncsy =
m_csy.size()-1;
463 *
outfile <<ncsx<<
" "<<ncsy<<
" "<<neta<<
" "<<nalpha<<std::endl;
537 if(nybins<0)nybins = 0;
562 infile >> ncsx >> ncsy >> neta >> nalpha;
572 m_csx.reserve(ncsx+1);
573 for(
int i=0;
i<ncsx+1 && !
infile.eof();
i++){
580 m_csy.reserve(ncsy+1);
581 for(
int i=0;
i<ncsy+1 && !
infile.eof();
i++){
606 for(
int i=0;
i<neta+1 && !
infile.eof();
i++){
611 if(nalpha<0)nalpha = 0;
614 for(
int i=0;
i<nalpha+1 && !
infile.eof();
i++){
621 int nxbins = 6*ncsx*nalpha + nxbinsibl;
622 int nybins = 6*ncsy*neta + nybinsibl;
627 if(nxbins<0)nxbins = 0;
629 if(nybins<0)nybins = 0;
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.
std::vector< float > m_csy
int setDeltaY(int ieta, int iclustersize, int ilayer, float value)
std::vector< float > m_iblphibins
Scalar eta() const
pseudorapidity method
float getDeltaY(int ieta, int iclustersize, int ilayer) const
std::vector< float > m_deltay
std::vector< float > m_ibletabins
void Load(const std::string &filename)
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...
static float getDeltaYendcap()
int getNumberOfYbins() const
int getNumberOfXbins() const
PixelChargeInterpolationParameters()
int getBarrelBinY(int iclustersize, float eta, int ilayer) const
void setVersion(int version)
float getErrDeltaY(int ieta, int iclustersize, int ilayer) const
void Print(const std::string &filename) const
int setErrDeltaY(int ieta, int iclustersize, int ilayer, float value)
float getDeltaYbarrel(int nCol, float eta, int ilayer=0) const
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,...
std::vector< float > m_csx
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...
int setDeltaX(int iangle, int iclustersize, int ilayer, float value)
void setParameters(const int ncsx, const int ncsy, const int neta, const int nalpha, int offset, std::vector< float > constants)
std::vector< float > m_etabins
std::vector< float > m_phibins
std::vector< float > m_deltax
std::vector< float > m_errdeltay
static float getDeltaXendcap()
int setErrDeltaX(int iangle, int iclustersize, int ilayer, float value)
std::vector< float > m_errdeltax