CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
SiPixelGenError Class Reference

#include <SiPixelGenError.h>

Public Member Functions

float fbin (int i)
 Return lower bound of Qbin definition. More...
 
float lorxbias ()
 signed lorentz x-bias (microns) More...
 
float lorxwidth ()
 signed lorentz x-width (microns) More...
 
float lorybias ()
 signed lorentz y-bias (microns) More...
 
float lorywidth ()
 signed lorentz y-width (microns) More...
 
int qbin (int id, float cotalpha, float cotbeta, float locBz, 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)
 
int qbin (int id)
 
 SiPixelGenError (const std::vector< SiPixelGenErrorStore > &thePixelTemp)
 Constructor for cases in which template store already exists. More...
 
float xsize ()
 pixel x-size (microns) More...
 
float ysize ()
 pixel y-size (microns) More...
 
float zsize ()
 pixel z-size or thickness (microns) More...
 

Static Public Member Functions

static void postInit (std::vector< SiPixelGenErrorStore > &thePixelTemp_)
 
static bool pushfile (int filenum, std::vector< SiPixelGenErrorStore > &thePixelTemp_)
 
static bool pushfile (const SiPixelGenErrorDBObject &dbobject, std::vector< SiPixelGenErrorStore > &thePixelTemp_)
 

Private Attributes

float fbin_ [3]
 The QBin definitions in Q_clus/Q_avg. More...
 
int id_current_
 current id More...
 
int index_id_
 current index More...
 
float lorxbias_
 Lorentz x-width. More...
 
float lorxwidth_
 Lorentz x-width. More...
 
float lorybias_
 Lorentz y-width (sign corrected for fpix frame) More...
 
float lorywidth_
 Lorentz y-width (sign corrected for fpix frame) More...
 
const std::vector
< SiPixelGenErrorStore > & 
thePixelTemp_
 
float xsize_
 Pixel x-size. More...
 
float ysize_
 Pixel y-size. More...
 
float zsize_
 Pixel z-size (thickness) More...
 

Detailed Description

A Generic Algorithm info management class. SiPixelGenError contains thePixelTemp (a std::vector of SiPixelGenErrorStore, each of which is a collection of many SiPixelGenErrorEntries). Each SiPixelGenErrorStore 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 SiPixelGenError is qbin(), which produces algorithm info on the fly, given a specific track's alpha and beta.

Definition at line 102 of file SiPixelGenError.h.

Constructor & Destructor Documentation

SiPixelGenError::SiPixelGenError ( const std::vector< SiPixelGenErrorStore > &  thePixelTemp)
inline

Constructor for cases in which template store already exists.

Definition at line 104 of file SiPixelGenError.h.

Member Function Documentation

float SiPixelGenError::fbin ( int  i)
inline

Return lower bound of Qbin definition.

Definition at line 128 of file SiPixelGenError.h.

float SiPixelGenError::lorxbias ( )
inline

signed lorentz x-bias (microns)

Definition at line 126 of file SiPixelGenError.h.

float SiPixelGenError::lorxwidth ( )
inline

signed lorentz x-width (microns)

Definition at line 124 of file SiPixelGenError.h.

float SiPixelGenError::lorybias ( )
inline

signed lorentz y-bias (microns)

Definition at line 125 of file SiPixelGenError.h.

float SiPixelGenError::lorywidth ( )
inline

signed lorentz y-width (microns)

Definition at line 123 of file SiPixelGenError.h.

void SiPixelGenError::postInit ( std::vector< SiPixelGenErrorStore > &  thePixelTemp_)
static

Definition at line 395 of file SiPixelGenError.cc.

bool SiPixelGenError::pushfile ( int  filenum,
std::vector< SiPixelGenErrorStore > &  thePixelTemp_ 
)
static

This routine initializes the global GenError structures from an external file generror_summary_zpNNNN where NNNN are four digits of filenum.

Parameters
filenum- an integer NNNN used in the filename generror_summary_zpNNNN

Definition at line 52 of file SiPixelGenError.cc.

bool SiPixelGenError::pushfile ( const SiPixelGenErrorDBObject dbobject,
std::vector< SiPixelGenErrorStore > &  thePixelTemp_ 
)
static

This routine initializes the global GenError structures from an SiPixelGenErrorDBObject

Parameters
dbobject- db storing multiple generic calibrations

Definition at line 241 of file SiPixelGenError.cc.

int SiPixelGenError::qbin ( int  id,
float  cotalpha,
float  cotbeta,
float  locBz,
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 
)

Definition at line 463 of file SiPixelGenError.cc.

int SiPixelGenError::qbin ( int  id)

Interpolate beta/alpha angles to produce an expected average charge. Return int (0-4) describing the charge of the cluster [0: 1.5<Q/Qavg, 1: 1<Q/Qavg<1.5, 2: 0.85<Q/Qavg<1, 3: 0.95Qmin<Q<0.85Qavg, 4: Q<0.95Qmin].

Parameters
id- (input) index of the GenError to use
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
qclus- (input) the cluster charge in electrons
pixmax- (output) the maximum pixel charge in electrons (truncation value)
sigmay- (output) the estimated y-error for CPEGeneric in microns
deltay- (output) the estimated y-bias for CPEGeneric in microns
sigmax- (output) the estimated x-error for CPEGeneric in microns
deltax- (output) the estimated x-bias for CPEGeneric in microns
sy1- (output) the estimated y-error for 1 single-pixel clusters in microns
dy1- (output) the estimated y-bias for 1 single-pixel clusters in microns
sy2- (output) the estimated y-error for 1 double-pixel clusters in microns
dy2- (output) the estimated y-bias for 1 double-pixel clusters in microns
sx1- (output) the estimated x-error for 1 single-pixel clusters in microns
dx1- (output) the estimated x-bias for 1 single-pixel clusters in microns
sx2- (output) the estimated x-error for 1 double-pixel clusters in microns
dx2- (output) the estimated x-bias for 1 double-pixel clusters in microns

Definition at line 432 of file SiPixelGenError.cc.

float SiPixelGenError::xsize ( )
inline

pixel x-size (microns)

Definition at line 135 of file SiPixelGenError.h.

float SiPixelGenError::ysize ( )
inline

pixel y-size (microns)

Definition at line 136 of file SiPixelGenError.h.

float SiPixelGenError::zsize ( )
inline

pixel z-size or thickness (microns)

Definition at line 137 of file SiPixelGenError.h.

Member Data Documentation

float SiPixelGenError::fbin_[3]
private

The QBin definitions in Q_clus/Q_avg.

Definition at line 153 of file SiPixelGenError.h.

int SiPixelGenError::id_current_
private

current id

Definition at line 143 of file SiPixelGenError.h.

int SiPixelGenError::index_id_
private

current index

Definition at line 144 of file SiPixelGenError.h.

float SiPixelGenError::lorxbias_
private

Lorentz x-width.

Definition at line 151 of file SiPixelGenError.h.

float SiPixelGenError::lorxwidth_
private

Lorentz x-width.

Definition at line 149 of file SiPixelGenError.h.

float SiPixelGenError::lorybias_
private

Lorentz y-width (sign corrected for fpix frame)

Definition at line 152 of file SiPixelGenError.h.

float SiPixelGenError::lorywidth_
private

Lorentz y-width (sign corrected for fpix frame)

Definition at line 150 of file SiPixelGenError.h.

const std::vector< SiPixelGenErrorStore >& SiPixelGenError::thePixelTemp_
private

Definition at line 161 of file SiPixelGenError.h.

float SiPixelGenError::xsize_
private

Pixel x-size.

Definition at line 154 of file SiPixelGenError.h.

float SiPixelGenError::ysize_
private

Pixel y-size.

Definition at line 155 of file SiPixelGenError.h.

float SiPixelGenError::zsize_
private

Pixel z-size (thickness)

Definition at line 156 of file SiPixelGenError.h.