|
|
Go to the documentation of this file.
90 #ifndef SiPixelTemplate_h
91 #define SiPixelTemplate_h 1
97 #include "boost/multi_array.hpp"
99 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
209 #ifndef SI_PIXEL_TEMPLATE_USE_BOOST
222 boost::multi_array<SiPixelTemplateEntry, 1>
enty;
223 boost::multi_array<SiPixelTemplateEntry, 2>
entx;
267 #ifdef SI_PIXEL_TEMPLATE_STANDALONE
285 std::vector<SiPixelTemplateStore>& pixelTemp,
291 std::vector<SiPixelTemplateStore>& pixelTemp);
298 bool interpolate(
int id,
float cotalpha,
float cotbeta,
float locBz,
float locBx);
301 bool interpolate(
int id,
float cotalpha,
float cotbeta,
float locBz);
304 bool interpolate(
int id,
float cotalpha,
float cotbeta);
307 void ytemp(
int fybin,
int lybin,
float ytemplate[41][
BYSIZE]);
309 void xtemp(
int fxbin,
int lxbin,
float xtemplate[41][
BXSIZE]);
320 void ytemp3d(
int j,
int k, std::vector<float>& ytemplate);
324 void xtemp3d(
int j,
int k, std::vector<float>& xtemplate);
334 float yflcorr(
int binq,
float qfly);
337 float xflcorr(
int binq,
float qflx);
379 int qbin(
int id,
float cotalpha,
float cotbeta,
float qclus);
382 int qbin(
int id,
float cotbeta,
float qclus);
408 float xhitp,
float yhitp, std::vector<bool>& ydouble, std::vector<bool>& xdouble,
float template2d[
BXM2][
BYM2]);
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
592 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
593 if (i < 0 || i > 3) {
595 <<
"SiPixelTemplate::chi2yavgc2m called with illegal index = " <<
i << std::endl;
603 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
604 if (i < 0 || i > 3) {
606 <<
"SiPixelTemplate::chi2yminc2m called with illegal index = " <<
i << std::endl;
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;
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;
634 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
635 if (i < 0 || i > 3) {
637 <<
"SiPixelTemplate::chi2xavgc2m called with illegal index = " <<
i << std::endl;
645 #ifndef SI_PIXEL_TEMPLATE_STANDALONE
646 if (i < 0 || i > 3) {
648 <<
"SiPixelTemplate::chi2xminc2m called with illegal index = " <<
i << std::endl;
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;
float sigmavav2
"sigma" scale fctor for Vavilov distribution for 2 merged clusters
float xflparll_[4][6]
Aqfl-parameterized x-correction in 4 charge bins for smaller cotbeta, cotalpha.
float xparl_[2][5]
projected x-pixel uncertainty parameterization for smaller cotalpha
static void postInit(std::vector< SiPixelTemplateStore > &thePixelTemp_)
float fracytwo
fraction of double pixel sample with ysize = 1
float qavg_avg
average cluster charge of clusters that are less than qavg (normalize 2-D simple templates)
float sxmax()
average pixel signal for x-projection of cluster
float yavggen[4]
generic algorithm: average y-bias of reconstruction binned in 4 charge bins
float xsize_
Pixel x-size.
boost::multi_array< float, 2 > temp2dy_
2d-primitive for spltting 3-d template
float xavggen[4]
generic algorithm: average x-bias of reconstruction binned in 4 charge bins
float yrmsc2m_[4]
1st pass chi2 min search: average y-rms of reconstruction binned in 4 charge bins
float fracytwo_
The simulated fraction of single double-size pixel y-clusters.
float chi2yminc2m[4]
1st pass chi2 min search: minimum of y chi^2 in 4 charge bins (merged clusters)
float qavg_
average cluster charge for this set of track angles
float syone_
rms for one pixel y-clusters
float dytwo_
mean offset/correction for one double-pixel y-clusters
float dxtwo()
mean offset/correction for one double-pixel x-clusters
float ss50()
1/2 of the single pixel per double column threshold in electrons
float syone
rms for one pixel y-clusters
float xrmsc2m_[4]
1st pass chi2 min search: average x-rms of reconstruction binned in 4 charge bins
const SiPixelTemplateEntry * entx02_
float qavg()
average cluster charge for this set of track angles
float pixmax()
maximum pixel charge
static bool pushfile(int filenum, std::vector< SiPixelTemplateStore > &pixelTemp, std::string dir="CalibTracker/SiPixelESProducers/data/")
float sxone()
rms for one pixel x-clusters
float xflparhl_[4][6]
Aqfl-parameterized x-correction in 4 charge bins for larger cotbeta, smaller cotalpha.
float fracyone_
The simulated fraction of single pixel y-clusters.
float yavgc2m(int i)
1st pass chi2 min search: average y-bias of reconstruction binned in 4 charge bins
float cotalphaX[80]
60 y templates spanning cluster lengths from 0px to +18px
float symax_
average pixel signal for y-projection of cluster
float lorxbias_
Lorentz x-bias.
float chi2xminc2m(int i)
1st pass chi2 min search: minimum x-chisq for merged clusters
float ygx0(int i)
average y0 from Gaussian fit binned in 4 charge bins
float delyavg_
average difference between clsleny_ and cluster length [with threshold effects]
float sxparmax_
maximum pixel signal for parameterization of x uncertainties
float dxone_
mean offset/correction for one pixel x-clusters
const SiPixelTemplateEntry * entx20_
float fracxone()
The simulated fraction of single pixel x-clusters.
float yrms[4]
average y-rms of reconstruction binned in 4 charge bins
float lorxwidth_
Lorentz x-width.
float yavg_[4]
average y-bias of reconstruction binned in 4 charge bins
float qmin
minimum cluster charge for valid hit (keeps 99.9% of simulated hits)
float ygsig_[4]
average sigma_y from Gaussian fit binned in 4 charge bins
float yflpar[4][6]
Aqfl-parameterized y-correction in 4 charge bins.
float kappavav
kappa parameter for Vavilov distribution
float chi2xminone
minimum of x chi^2 for 1 pixel clusters
float lorxwidth()
signed lorentz x-width (microns)
float syone()
rms for one pixel y-clusters
float syparmax_
maximum pixel signal for parameterization of y uncertainties
float scaleyavg_
average y-error scale factor
float mpvvav2()
most probable charge in 2-cluster Vavilov distribution (not actually for larger kappa)
float cotb_current_
current cot beta
float chi2yavgone_
average y chi^2 for 1 pixel clusters
float dyone()
mean offset/correction for one pixel y-clusters
SiPixelTemplateEntry entx[80][80]
float sxmax
average pixel signal for x-projection of cluster
bool flip_y_
flip y sign-sensitive quantities
float ygx0[4]
average y0 from Gaussian fit binned in 4 charge bins
float chi2yavgc2m[4]
1st pass chi2 min search: average y chi^2 in 4 charge bins (merged clusters)
float sxtwo_
rms for one double-pixel x-clusters
float ygsig(int i)
average sigma_y from Gaussian fit binned in 4 charge bins
float chi2xminc2m[4]
1st pass chi2 min search: minimum of x chi^2 in 4 charge bins (merged clusters)
const SiPixelTemplateEntry * entx22_
float xrmsc2m(int i)
1st pass chi2 min search: average x-rms of reconstruction binned in 4 charge bins
float offsety_[4]
y-offset in charge bins
float chi2yavgc2m_[4]
1st pass chi2 min search: average y-chisq for merged clusters
float xxratio()
fractional distance in x between cotalpha templates
int cytemp()
Return central pixel of y template pixels above readout threshold.
float chi2yavgone
average y chi^2 for 1 pixel clusters
void xtemp(int fxbin, int lxbin, float xtemplate[41][13+4])
float chi2xmin[4]
minimum of x chi^2 in 4 charge bins
float xavg(int i)
average x-bias of reconstruction binned in 4 charge bins
float xrmsgen[4]
generic algorithm: average x-rms of reconstruction binned in 4 charge bins
float dxtwo
mean offset/correction for one double-pixel x-clusters
float clslenx
cluster x-length in pixels at signal height sxmax/2
#define TEMP_ENTRY_SIZEX_B
float ysize()
pixel y-size (microns)
bool flip_x_
flip x sign-sensitive quantities
float costrk[3]
direction cosines of tracks used to generate this entry
float xrms[4]
average x-rms of reconstruction binned in 4 charge bins
float chi2yavg[4]
average y chi^2 in 4 charge bins
boost::multi_array< float, 2 > temp2dx_
2d-primitive for spltting 3-d template
float sigmavav2_
"sigma" scale fctor for 2-cluster Vavilov distribution
float xgx0gen[4]
generic algorithm: average x0 from Gaussian fit binned in 4 charge bins
float sigmavav
"sigma" scale fctor for Vavilov distribution
bool success_
true if cotalpha, cotbeta are inside of the acceptance (dynamically loaded)
float chi2xavgc2m(int i)
1st pass chi2 min search: average x-chisq for merged clusters
float chi2xmin(int i)
minimum y chi^2 in 4 charge bins
float mpvvav()
most probable charge in Vavilov distribution (not actually for larger kappa)
float xgx0_[4]
average x0 from Gaussian fit binned in 4 charge bins
float sigmavav_
"sigma" scale fctor for Vavilov distribution
float xgsiggen[4]
generic algorithm: average sigma_x from Gaussian fit binned in 4 charge bins
float chi2ymin(int i)
minimum y chi^2 in 4 charge bins
float xflpar[4][6]
Aqfl-parameterized x-correction in 4 charge bins.
float s50()
1/2 of the pixel threshold signal in electrons
const SiPixelTemplateEntry * enty0_
float fracxone_
The simulated fraction of single pixel x-clusters.
void vavilov2_pars(double &mpv, double &sigma, double &kappa)
float lorxbias()
signed lorentz x-width (microns)
float xparh_[2][5]
projected x-pixel uncertainty parameterization for larger cotalpha
float xgx0[4]
average x0 from Gaussian fit binned in 4 charge bins
float lorybias_
Lorentz y-bias.
float pixmax
maximum charge for individual pixels in cluster
float dyone_
mean offset/correction for one pixel y-clusters
const SiPixelTemplateEntry * enty1_
float qmin2_
tighter minimum cluster charge for valid hit (keeps 99.8% of simulated hits)
float yrms_[4]
average y-rms of reconstruction binned in 4 charge bins
float zsize_
Pixel z-size (thickness)
float pixmax_
maximum pixel charge
float chi2xavg_[4]
average x chi^2 in 4 charge bins
float yavg[4]
average y-bias of reconstruction binned in 4 charge bins
float scaley_[4]
y-error scale factor in charge bins
float yxratio_
fractional distance in y between x-slices of cotalpha templates
float xflcorr(int binq, float qflx)
float sytwo()
rms for one double-pixel y-clusters
float sigmavav2()
"sigma" scale fctor for 2-cluster Vavilov distribution
float xpar0_[2][5]
projected x-pixel uncertainty parameterization for central cotalpha
float beta
beta track angle (defined in CMS CMS IN 2004/014)
float chi2xminone_
minimum of x chi^2 for 1 pixel clusters
float xavgc2m_[4]
1st pass chi2 min search: average x-bias of reconstruction binned in 4 charge bins
const SiPixelTemplateEntry * entx21_
float chi2xmin_[4]
minimum of x chi^2 in 4 charge bins
float ysize_
Pixel y-size.
float chi2yminc2m_[4]
1st pass chi2 min search: minimum y-chisq for merged clusters
float dytwo()
mean offset/correction for one double-pixel y-clusters
float yrmsc2m(int i)
1st pass chi2 min search: average y-rms of reconstruction binned in 4 charge bins
float qavg_avg_
average of cluster charge less than qavg
float nxbins_
number of bins in each dimension of the x-splitting template
float ytemp[9][21]
templates for y-reconstruction (binned over 1 central pixel)
float yflparh_[4][6]
Aqfl-parameterized y-correction in 4 charge bins for larger cotbeta.
float symax
average pixel signal for y-projection of cluster
float chi2xavgone
average x chi^2 for 1 pixel clusters
const SiPixelTemplateEntry * entx00_
float chi2yavgone()
//!< average y chi^2 for 1 pixel clusters
int id_current_
current id
float yrmsgen[4]
generic algorithm: average y-rms of reconstruction binned in 4 charge bins
float ygsiggen[4]
generic algorithm: average sigma_y from Gaussian fit binned in 4 charge bins
float chi2yminc2m(int i)
1st pass chi2 min search: minimum y-chisq for merged clusters
float fbin(int i)
Return lower bound of Qbin definition.
float dytwo
mean offset/correction for one double-pixel y-clusters
float r_qMeas_qTrue
ratio of measured to true cluster charge
float chi2xavgone_
average x chi^2 for 1 pixel clusters
float cotbeta
cot(beta) is proportional to cluster length in y and is basis of interpolation
float alpha
alpha track angle (defined in CMS CMS IN 2004/014)
float sxmax_
average pixel signal for x-projection of cluster
float ytemp_[9][21+4]
templates for y-reconstruction (binned over 5 central pixels)
float yratio_
fractional distance in y between cotbeta templates
float xgsig[4]
average sigma_x from Gaussian fit binned in 4 charge bins
float xavgc2m(int i)
1st pass chi2 min search: average x-bias of reconstruction binned in 4 charge bins
float chi2yminone_
minimum of y chi^2 for 1 pixel clusters
float xrms_[4]
average x-rms of reconstruction binned in 4 charge bins
void xtemp3d(int j, int k, std::vector< float > &xtemplate)
float dxone()
mean offset/correction for one pixel x-clusters
float dxtwo_
mean offset/correction for one double-pixel x-clusters
float ygx0_[4]
average y0 from Gaussian fit binned in 4 charge bins
float ypar[2][5]
projected y-pixel uncertainty parameterization
float yratio()
fractional distance in y between cotbeta templates
float yparh_[2][5]
projected y-pixel uncertainty parameterization for larger cotbeta
float chi2xavgone()
//!< average x chi^2 for 1 pixel clusters
float qmin(int i)
minimum cluster charge for valid hit (keeps 99.9% or 99.8% of simulated hits)
float symax()
average pixel signal for y-projection of cluster
float s50_
1/2 of the pixel single col threshold signal in electrons
float xtemp_[9][13+4]
templates for x-reconstruction (binned over 5 central pixels)
float xxratio_
fractional distance in x between cotalpha templates
float lorybias()
signed lorentz y-width (microns)
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)
float chi2yavg_[4]
average y chi^2 in 4 charge bins
int index_id_
current index
float yrmsc2m[4]
1st pass chi2 min search: average y-rms of reconstruction binned in 4 charge bins
float dyone
mean offset/correction for one pixel y-clusters
float sigmavav()
"sigma" scale fctor for Vavilov distribution
float sytwo
rms for one double-pixel y-clusters
float xavg[4]
average x-bias of reconstruction binned in 4 charge bins
float chi2yminone()
//!< minimum of y chi^2 for 1 pixel clusters
float lorywidth()
signed lorentz y-width (microns)
float mpvvav2_
most probable charge in 2-cluster Vavilov distribution (not actually for larger kappa)
float mpvvav_
most probable charge in Vavilov distribution (not actually for larger kappa)
float ygsig[4]
average sigma_y from Gaussian fit binned in 4 charge bins
void ytemp3d_int(int nypix, int &nybins)
float qavg
average cluster charge for this set of track angles (now includes threshold effects)
float fracxtwo()
The simulated fraction of single double-size pixel x-clusters.
float r_qMeas_qTrue()
ratio of measured to true cluster charge
float chi2xavgc2m_[4]
1st pass chi2 min search: average x-chisq for merged clusters
float fbin_[3]
The QBin definitions in Q_clus/Q_avg.
float chi2xavg(int i)
averaage x chi^2 in 4 charge bins
float clsleny_
y-cluster length of smaller interpolated template in pixels
float yxratio()
fractional distance in y between cotalpha templates slices
float yavgc2m_[4]
1st pass chi2 min search: average y-bias of reconstruction binned in 4 charge bins
float chi2xavgc2m[4]
1st pass chi2 min search: average x chi^2 in 4 charge bins (merged clusters)
int dtype_
flags BPix (=0) or FPix (=1)
float clslenx_
x-cluster length of smaller interpolated template in pixels
int cxtemp()
Return central pixel of x-template pixels above readout threshold.
float clslenx()
x-size of smaller interpolated template in pixels
float qmin2
tighter minimum cluster charge for valid hit (keeps 99.8% of simulated hits)
float xsize()
pixel x-size (microns)
float xparly0_[2][5]
projected x-pixel uncertainty parameterization for smaller cotbeta (central alpha)
float mpvvav
most probable charge in Vavilov distribution (not actually for larger kappa)
float yparl_[2][5]
projected y-pixel uncertainty parameterization for smaller cotbeta
float r_qMeas_qTrue_
ratio of measured to true cluster charges
float fracxtwo
fraction of double pixel sample with xsize = 1
float nybins_
number of bins in each dimension of the y-splitting template
float xgsig_[4]
sigma from Gaussian fit binned in 4 charge bins
float kappavav_
kappa parameter for Vavilov distribution
float chi2yavg(int i)
average y chi^2 in 4 charge bins
float chi2ymin[4]
minimum of y chi^2 in 4 charge bins
SiPixelTemplateEntry enty[100]
60 Barrel x templates spanning cluster lengths from -6px (-1.125Rad) to +6px (+1.125Rad) in each of 6...
float qscale()
charge scaling factor
float xpar[2][5]
projected x-pixel uncertainty parameterization
float fracytwo()
The simulated fraction of single double-size pixel y-clusters.
float zsize()
pixel z-size or thickness (microns)
float chi2yminone
minimum of y chi^2 for 1 pixel clusters
float xrmsc2m[4]
1st pass chi2 min search: average x-rms of reconstruction binned in 4 charge bins
float yrms(int i)
average y-rms of reconstruction binned in 4 charge bins
float xavg_[4]
average x-bias of reconstruction binned in 4 charge bins
float ss50_
1/2 of the pixel double col threshold signal in electrons
float kappavav2_
kappa parameter for 2-cluster Vavilov distribution
float xgx0(int i)
average x0 from Gaussian fit binned in 4 charge bins
float qmin_
minimum cluster charge for valid hit (keeps 99.9% of simulated hits)
float fracyone
fraction of sample with ysize = 1
SiPixelTemplate(const std::vector< SiPixelTemplateStore > &thePixelTemp)
Constructor for cases in which template store already exists.
int runnum
< Basic template entry corresponding to a single set of track angles
float ygx0gen[4]
generic algorithm: average y0 from Gaussian fit binned in 4 charge bins
float cota_current_
current cot alpha
float xtemp[9][13]
templates for x-reconstruction (binned over 1 central pixel)
float offsetx_[4]
x-offset in charge bins
float xgsig(int i)
average sigma_x from Gaussian fit binned in 4 charge bins
float chi2yavgc2m(int i)
1st pass chi2 min search: average y-chisq for merged clusters
float sxone_
rms for one pixel x-clusters
float fracxone
fraction of sample with xsize = 1
float qscale_
charge scaling factor
float xrms(int i)
average x-rms of reconstruction binned in 4 charge bins
#define TEMP_ENTRY_SIZEX_A
float abs_cotb_
absolute value of cot beta
float yflcorr(int binq, float qfly)
float scalex_[4]
x-error scale factor in charge bins
float sxtwo
rms for one double-pixel x-clusters
SiPixelTemplateHeader head
< template storage structure
float qbfrac[3]
fraction of sample in qbin = 0-2 (>=3 is the complement)
void ytemp3d(int j, int k, std::vector< float > &ytemplate)
void temperrors(int id, float cotalpha, float cotbeta, int qBin, float &sigmay, float &sigmax, float &sy1, float &sy2, float &sx1, float &sx2)
float sxtwo()
rms for one double-pixel x-clusters
float xflparlh_[4][6]
Aqfl-parameterized x-correction in 4 charge bins for smaller cotbeta, larger cotalpha.
float xparhy0_[2][5]
projected x-pixel uncertainty parameterization for larger cotbeta (central alpha)
void ytemp(int fybin, int lybin, float ytemplate[41][21+4])
float sytwo_
rms for one double-pixel y-clusters
void xsigma2(int fxpix, int lxpix, float sxthr, float xsum[13+4], float xsig2[13+4])
void ysigma2(int fypix, int lypix, float sythr, float ysum[21+4], float ysig2[21+4])
float kappavav2()
kappa parameter for 2-cluster Vavilov distribution
float xflparhh_[4][6]
Aqfl-parameterized x-correction in 4 charge bins for larger cotbeta, cotalpha.
float chi2xminc2m_[4]
1st pass chi2 min search: minimum x-chisq for merged clusters
void xtemp3d_int(int nxpix, int &nxbins)
float yavgc2m[4]
1st pass chi2 min search: average y-bias of reconstruction binned in 4 charge bins
float xavgc2m[4]
1st pass chi2 min search: average x-bias of reconstruction binned in 4 charge bins
float chi2xavg[4]
average x chi^2 in 4 charge bins
float scalexavg_
average x-error scale factor
static const G4double kappa
float kappavav()
kappa parameter for Vavilov distribution
void vavilov_pars(double &mpv, double &sigma, double &kappa)
float fracxtwo_
The simulated fraction of single double-size pixel x-clusters.
float yflparl_[4][6]
Aqfl-parameterized y-correction in 4 charge bins for smaller cotbeta.
float lorywidth_
Lorentz y-width (sign corrected for fpix frame)
float clsleny()
y-size of smaller interpolated template in pixels
float dxone
mean offset/correction for one pixel x-clusters
float clsleny
cluster y-length in pixels at signal height symax/2
float chi2xminone()
//!< minimum of x chi^2 for 1 pixel clusters
float chi2ymin_[4]
minimum of y chi^2 in 4 charge bins
const SiPixelTemplateEntry * entry_sideloaded_
float delysig_
rms of difference between clsleny_ and cluster length [with threshold effects]
const std::vector< SiPixelTemplateStore > & thePixelTemp_
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.
float kappavav2
kappa parameter for Vavilov distribution for 2 merged clusters
bool interpolate(int id, float cotalpha, float cotbeta, float locBz, float locBx)
float yavg(int i)
average y-bias of reconstruction binned in 4 charge bins
float fracyone()
The simulated fraction of single pixel y-clusters.
float qmin()
minimum cluster charge for valid hit (keeps 99.9% of simulated hits)
float mpvvav2
most probable charge in Vavilov distribution for 2 merged clusters (not actually for larger kappa)
float sxone
rms for one pixel x-clusters
float cotalpha
cot(alpha) is proportional to cluster length in x and is basis of interpolation
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)