#include <SiPixelTemplate2D.h>
Public Member Functions | |
float | chi2avg (int i) |
average chi^2 in 4 charge bins More... | |
float | chi2avgone () |
//!< average y chi^2 for 1 pixel clusters More... | |
float | chi2min (int i) |
minimum chi^2 in 4 charge bins More... | |
float | chi2minone () |
//!< minimum of y chi^2 for 1 pixel clusters More... | |
void | landau_par (float lanpar[2][5]) |
Return the Landau probability parameters for this set of cot(alpha, cot(beta) More... | |
float | lorxwidth () |
signed lorentz x-width (microns) More... | |
float | lorywidth () |
signed lorentz y-width (microns) More... | |
float | pixmax () |
maximum pixel charge More... | |
float | qavg () |
average cluster charge for this set of track angles More... | |
float | qscale () |
charge scaling factor More... | |
float | s50 () |
1/2 of the pixel threshold signal in adc units More... | |
SiPixelTemplate2D (const std::vector< SiPixelTemplateStore2D > &thePixelTemp) | |
Default constructor. More... | |
int | storesize () |
return the size of the template store (the number of stored IDs More... | |
float | sxymax () |
max pixel signal for pixel error calculation More... | |
float | xsize () |
pixel x-size (microns) More... | |
void | xysigma2 (float qpixel, int index, float &xysig2) |
bool | xytemp (int id, float cotalpha, float cotbeta, float locBz, float xhit, float yhit, std::vector< bool > &ydouble, std::vector< bool > &xdouble, float template2d[13+2][21+2]) |
bool | xytemp (int id, float cotalpha, float cotbeta, float xhit, float yhit, std::vector< bool > &ydouble, std::vector< bool > &xdouble, float template2d[13+2][21+2]) |
float | xytemp (int j, int i) |
current 2-d template More... | |
float | ysize () |
pixel y-size (microns) More... | |
float | zsize () |
pixel z-size or thickness (microns) More... | |
Static Public Member Functions | |
static bool | pushfile (int filenum, std::vector< SiPixelTemplateStore2D > &thePixelTemp_) |
static bool | pushfile (const SiPixelTemplateDBObject &dbobject, std::vector< SiPixelTemplateStore2D > &thePixelTemp_) |
Private Attributes | |
float | adcota_ |
fractional pixel distance of cot(alpha) from jx0_ More... | |
float | adcotb_ |
fractional pixel distance of cot(beta) from iy0_ More... | |
float | chi2avg_ [4] |
average chi^2 in 4 charge bins More... | |
float | chi2avgone_ |
average chi^2 for 1 pixel clusters More... | |
float | chi2min_ [4] |
minimum of chi^2 in 4 charge bins More... | |
float | chi2minone_ |
minimum of chi^2 for 1 pixel clusters More... | |
float | cota_current_ |
current cot alpha More... | |
float | cotalpha0_ |
minimum cot(alpha) covered More... | |
float | cotalpha1_ |
maximum cot(alpha) covered More... | |
float | cotb_current_ |
current cot beta More... | |
float | cotbeta0_ |
minimum cot(beta) covered More... | |
float | cotbeta1_ |
maximum cot(beta) covered More... | |
float | deltacota_ |
cot(alpha) bin size More... | |
float | deltacotb_ |
cot(beta) bin size More... | |
int | Dtype_ |
flags BPix (=0) or FPix (=1) More... | |
int | id_current_ |
current id More... | |
int | index_id_ |
current index More... | |
int | iy0_ |
index of nearest cot(beta) bin More... | |
int | iy1_ |
index of next-nearest cot(beta) bin More... | |
int | jx0_ |
index of nearest cot(alpha) bin More... | |
int | jx1_ |
index of next-nearest cot(alpha) bin More... | |
float | lanpar_ [2][5] |
Interpolated Landau parameters. More... | |
float | lorxwidth_ |
Lorentz x-width. More... | |
float | lorywidth_ |
Lorentz y-width (sign corrected for fpix frame) More... | |
int | Nxx_ |
number of cot(alpha)-entries (rows) in template More... | |
int | Nyx_ |
number of cot(beta)-entries (columns) in template More... | |
float | pixmax_ |
maximum pixel charge More... | |
float | qavg_ |
average cluster charge for this set of track angles More... | |
float | qscale_ |
charge scaling factor More... | |
float | s50_ |
1/2 of the pixel threshold signal in adc units More... | |
bool | success_ |
true if cotalpha, cotbeta are inside of the acceptance (dynamically loaded) More... | |
float | sxymax_ |
average pixel signal for y-projection of cluster More... | |
const std::vector < SiPixelTemplateStore2D > & | thePixelTemp_ |
float | xsize_ |
Pixel x-size. More... | |
float | xypary0x0_ [2][5] |
Polynomial error parameterization at ix0,iy0. More... | |
float | xypary0x1_ [2][5] |
Polynomial error parameterization at ix1,iy0. More... | |
float | xypary1x0_ [2][5] |
Polynomial error parameterization at ix0,iy1. More... | |
float | xytemp_ [13+2][21+2] |
templates for y-reconstruction (binned over 5 central pixels) More... | |
float | ysize_ |
Pixel y-size. More... | |
float | zsize_ |
Pixel z-size (thickness) More... | |
A template management class. SiPixelTemplate contains thePixelTemp (a std::vector of SiPixelTemplateStore, each of which is a collection of many SiPixelTemplateEntries). Each SiPixelTemplateStore corresponds to a given detector condition, and is valid for a range of runs. We allow more than one Store since the may change over time.
This class reads templates from files via pushfile() method.
The main functionality of SiPixelTemplate is xytemp(), which produces a template on the fly, given a specific track's alpha and beta. The results are kept in data members and accessed via inline getters.
The resulting template is then used by PixelTempReco2D() (a global function) which get the reference for SiPixelTemplate & templ and uses the current template to reconstruct the SiPixelRecHit.
Definition at line 105 of file SiPixelTemplate2D.h.
|
inline |
Default constructor.
Definition at line 107 of file SiPixelTemplate2D.h.
References cota_current_, cotb_current_, id_current_, and index_id_.
|
inline |
|
inline |
//!< average y chi^2 for 1 pixel clusters
Definition at line 158 of file SiPixelTemplate2D.h.
References chi2avgone_.
|
inline |
|
inline |
//!< minimum of y chi^2 for 1 pixel clusters
Definition at line 159 of file SiPixelTemplate2D.h.
References chi2minone_.
void SiPixelTemplate2D::landau_par | ( | float | lanpar[2][5] | ) |
Return the Landau probability parameters for this set of cot(alpha, cot(beta)
Definition at line 784 of file SiPixelTemplate2D.cc.
Referenced by SiPixelTemplateSplit::PixelTempSplit().
|
inline |
signed lorentz x-width (microns)
Definition at line 161 of file SiPixelTemplate2D.h.
References lorxwidth_.
|
inline |
signed lorentz y-width (microns)
Definition at line 160 of file SiPixelTemplate2D.h.
References lorywidth_.
|
inline |
|
static |
This routine initializes the global template structures from an external file template_summary_zpNNNN where NNNN are four digits of filenum.
filenum | - an integer NNNN used in the filename template_summary_zpNNNN |
Definition at line 52 of file SiPixelTemplate2D.cc.
References SiPixelTemplateHeader2D::Bfield, EnergyCorrector::c, SiPixelTemplateHeader2D::Dtype, ENDL, SiPixelTemplateStore2D::entry, mergeVDriftHistosByStation::file, SiPixelTemplateHeader2D::fluence, SiPixelTemplateStore2D::head, i, SiPixelTemplateHeader2D::ID, recoMuon::in, create_public_lumi_plots::in_file, j, relval_2017::k, cmsLHEtoEOSManager::l, LOGERROR, LOGINFO, SiPixelTemplateHeader2D::lorxwidth, SiPixelTemplateHeader2D::lorywidth, SiPixelTemplateHeader2D::NTxx, SiPixelTemplateHeader2D::NTy, SiPixelTemplateHeader2D::NTyx, SiPixelTemplateHeader2D::qscale, SiPixelTemplateHeader2D::s50, AlCaHLTBitMon_QueryRunRegistry::string, T2XSIZE, T2YSIZE, SiPixelTemplateHeader2D::temperature, SiPixelTemplateHeader2D::templ_version, SiPixelTemplateHeader2D::title, SiPixelTemplateHeader2D::Vbias, SiPixelTemplateHeader2D::xsize, SiPixelTemplateHeader2D::ysize, and SiPixelTemplateHeader2D::zsize.
Referenced by PixelCPETemplateReco::localPosition(), and TrackClusterSplitter::TrackClusterSplitter().
|
static |
This routine initializes the global template structures from an external file template_summary_zpNNNN where NNNN are four digits
dbobject | - db storing multiple template calibrations |
Definition at line 225 of file SiPixelTemplate2D.cc.
References SiPixelTemplateHeader2D::Bfield, SiPixelTemplateDBObject::char2float::c, EcalCondDB::db, SiPixelTemplateHeader2D::Dtype, ENDL, SiPixelTemplateStore2D::entry, SiPixelTemplateDBObject::char2float::f, SiPixelTemplateDBObject::fail(), SiPixelTemplateHeader2D::fluence, SiPixelTemplateStore2D::head, i, SiPixelTemplateHeader2D::ID, SiPixelTemplateDBObject::incrementIndex(), SiPixelTemplateDBObject::index(), j, relval_2017::k, cmsLHEtoEOSManager::l, LOGERROR, LOGINFO, SiPixelTemplateHeader2D::lorxwidth, SiPixelTemplateHeader2D::lorywidth, visualization-live-secondInstance_cfg::m, SiPixelTemplateHeader2D::NTxx, SiPixelTemplateHeader2D::NTy, SiPixelTemplateHeader2D::NTyx, SiPixelTemplateDBObject::numOfTempl(), SiPixelTemplateHeader2D::qscale, SiPixelTemplateHeader2D::s50, SiPixelTemplateDBObject::sVector(), T2XSIZE, T2YSIZE, groupFilesInBlocks::temp, SiPixelTemplateHeader2D::temperature, SiPixelTemplateHeader2D::templ_version, SiPixelTemplateHeader2D::title, SiPixelTemplateHeader2D::Vbias, SiPixelTemplateHeader2D::xsize, SiPixelTemplateHeader2D::ysize, and SiPixelTemplateHeader2D::zsize.
|
inline |
average cluster charge for this set of track angles
Definition at line 132 of file SiPixelTemplate2D.h.
References qavg_.
|
inline |
|
inline |
1/2 of the pixel threshold signal in adc units
Definition at line 135 of file SiPixelTemplate2D.h.
References s50_.
|
inline |
return the size of the template store (the number of stored IDs
Definition at line 165 of file SiPixelTemplate2D.h.
References thePixelTemp_.
|
inline |
max pixel signal for pixel error calculation
Definition at line 136 of file SiPixelTemplate2D.h.
References sxymax_.
|
inline |
void SiPixelTemplate2D::xysigma2 | ( | float | qpixel, |
int | index, | ||
float & | xysig2 | ||
) |
Return y error (squared) for an input signal and yindex Add large Q scaling for use in cluster splitting.
qpixel | - (input) pixel charge |
index | - (input) y-index index of pixel |
xysig2 | - (output) square error |
Definition at line 731 of file SiPixelTemplate2D.cc.
References assert(), BYM2, ENDL, Exception, f, LOGERROR, and THXP1.
bool SiPixelTemplate2D::xytemp | ( | int | id, |
float | cotalpha, | ||
float | cotbeta, | ||
float | locBz, | ||
float | xhit, | ||
float | yhit, | ||
std::vector< bool > & | ydouble, | ||
std::vector< bool > & | xdouble, | ||
float | template2d[13+2][21+2] | ||
) |
Interpolate stored 2-D information for input angles and hit position to make a 2-D template
id | - (input) the id of the template |
cotalpha | - (input) the cotangent of the alpha track angle (see CMS IN 2004/014) |
cotbeta | - (input) the cotangent of the beta track angle (see CMS IN 2004/014) |
locBz | - (input) the sign of this quantity is used to determine whether to flip cot(beta)<0 quantities from cot(beta)>0 (FPix only) for FPix IP-related tracks, locBz < 0 for cot(beta) > 0 and locBz > 0 for cot(beta) < 0 |
xhit | - (input) x-position of hit relative to the lower left corner of pixel[1][1] (to allow for the "padding" of the two-d clusters in the splitter) |
yhit | - (input) y-position of hit relative to the lower left corner of pixel[1][1] |
ydouble | - (input) STL vector of 21 element array to flag a double-pixel starting at cluster[1][1] |
xdouble | - (input) STL vector of 11 element array to flag a double-pixel starting at cluster[1][1] |
template2d | - (output) 2d template of size matched to the cluster. Input must be zeroed since charge is added only. |
Definition at line 382 of file SiPixelTemplate2D.cc.
References funct::abs(), assert(), BXM2, BXM3, BYM2, BYM3, Exception, f, i, j, reco::ParticleMasses::k0, visualization-live-secondInstance_cfg::m, bookConverter::max, min(), gen::n, T2HX, T2HY, and T2YSIZE.
Referenced by SiPixelTemplateSplit::PixelTempSplit(), TrackClusterSplitter::splitCluster(), and xytemp().
bool SiPixelTemplate2D::xytemp | ( | int | id, |
float | cotalpha, | ||
float | cotbeta, | ||
float | xhit, | ||
float | yhit, | ||
std::vector< bool > & | ydouble, | ||
std::vector< bool > & | xdouble, | ||
float | template2d[13+2][21+2] | ||
) |
Interpolate stored 2-D information for input angles and hit position to make a 2-D template
id | - (input) the id of the template |
cotalpha | - (input) the cotangent of the alpha track angle (see CMS IN 2004/014) |
cotbeta | - (input) the cotangent of the beta track angle (see CMS IN 2004/014) |
xhit | - (input) x-position of hit relative to the lower left corner of pixel[1][1] (to allow for the "padding" of the two-d clusters in the splitter) |
yhit | - (input) y-position of hit relative to the lower left corner of pixel[1][1] |
ydouble | - (input) STL vector of 21 element array to flag a double-pixel starting at cluster[1][1] |
xdouble | - (input) STL vector of 11 element array to flag a double-pixel starting at cluster[1][1] |
template2d | - (output) 2d template of size matched to the cluster. Input must be zeroed since charge is added only. |
Definition at line 710 of file SiPixelTemplate2D.cc.
|
inline |
|
inline |
|
inline |
pixel z-size or thickness (microns)
Definition at line 164 of file SiPixelTemplate2D.h.
References zsize_.
|
private |
fractional pixel distance of cot(alpha) from jx0_
Definition at line 189 of file SiPixelTemplate2D.h.
|
private |
fractional pixel distance of cot(beta) from iy0_
Definition at line 186 of file SiPixelTemplate2D.h.
|
private |
average chi^2 in 4 charge bins
Definition at line 205 of file SiPixelTemplate2D.h.
Referenced by chi2avg().
|
private |
average chi^2 for 1 pixel clusters
Definition at line 207 of file SiPixelTemplate2D.h.
Referenced by chi2avgone().
|
private |
minimum of chi^2 in 4 charge bins
Definition at line 206 of file SiPixelTemplate2D.h.
Referenced by chi2min().
|
private |
minimum of chi^2 for 1 pixel clusters
Definition at line 208 of file SiPixelTemplate2D.h.
Referenced by chi2minone().
|
private |
current cot alpha
Definition at line 173 of file SiPixelTemplate2D.h.
Referenced by SiPixelTemplate2D().
|
private |
minimum cot(alpha) covered
Definition at line 181 of file SiPixelTemplate2D.h.
|
private |
maximum cot(alpha) covered
Definition at line 182 of file SiPixelTemplate2D.h.
|
private |
current cot beta
Definition at line 174 of file SiPixelTemplate2D.h.
Referenced by SiPixelTemplate2D().
|
private |
minimum cot(beta) covered
Definition at line 178 of file SiPixelTemplate2D.h.
|
private |
maximum cot(beta) covered
Definition at line 179 of file SiPixelTemplate2D.h.
|
private |
cot(alpha) bin size
Definition at line 183 of file SiPixelTemplate2D.h.
|
private |
cot(beta) bin size
Definition at line 180 of file SiPixelTemplate2D.h.
|
private |
flags BPix (=0) or FPix (=1)
Definition at line 177 of file SiPixelTemplate2D.h.
|
private |
|
private |
current index
Definition at line 172 of file SiPixelTemplate2D.h.
Referenced by SiPixelTemplate2D().
|
private |
index of nearest cot(beta) bin
Definition at line 184 of file SiPixelTemplate2D.h.
|
private |
index of next-nearest cot(beta) bin
Definition at line 185 of file SiPixelTemplate2D.h.
|
private |
index of nearest cot(alpha) bin
Definition at line 187 of file SiPixelTemplate2D.h.
|
private |
index of next-nearest cot(alpha) bin
Definition at line 188 of file SiPixelTemplate2D.h.
|
private |
Interpolated Landau parameters.
Definition at line 204 of file SiPixelTemplate2D.h.
|
private |
|
private |
Lorentz y-width (sign corrected for fpix frame)
Definition at line 209 of file SiPixelTemplate2D.h.
Referenced by lorywidth().
|
private |
number of cot(alpha)-entries (rows) in template
Definition at line 176 of file SiPixelTemplate2D.h.
|
private |
number of cot(beta)-entries (columns) in template
Definition at line 175 of file SiPixelTemplate2D.h.
|
private |
|
private |
average cluster charge for this set of track angles
Definition at line 195 of file SiPixelTemplate2D.h.
Referenced by qavg().
|
private |
|
private |
1/2 of the pixel threshold signal in adc units
Definition at line 198 of file SiPixelTemplate2D.h.
Referenced by s50().
|
private |
true if cotalpha, cotbeta are inside of the acceptance (dynamically loaded)
Definition at line 190 of file SiPixelTemplate2D.h.
|
private |
average pixel signal for y-projection of cluster
Definition at line 199 of file SiPixelTemplate2D.h.
Referenced by sxymax().
|
private |
Definition at line 217 of file SiPixelTemplate2D.h.
Referenced by storesize().
|
private |
|
private |
Polynomial error parameterization at ix0,iy0.
Definition at line 201 of file SiPixelTemplate2D.h.
|
private |
Polynomial error parameterization at ix1,iy0.
Definition at line 203 of file SiPixelTemplate2D.h.
|
private |
Polynomial error parameterization at ix0,iy1.
Definition at line 202 of file SiPixelTemplate2D.h.
|
private |
templates for y-reconstruction (binned over 5 central pixels)
Definition at line 200 of file SiPixelTemplate2D.h.
Referenced by xytemp().
|
private |
|
private |