CMS 3D CMS Logo

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

#include <PixelCPEGeneric.h>

Inheritance diagram for PixelCPEGeneric:
PixelCPEBase PixelClusterParameterEstimator

Classes

struct  ClusterParamGeneric
 

Public Member Functions

 PixelCPEGeneric (edm::ParameterSet const &conf, const MagneticField *, const TrackerGeometry &, const TrackerTopology &, const SiPixelLorentzAngle *, const SiPixelGenErrorDBObject *, const SiPixelLorentzAngle *)
 The constructor. More...
 
 ~PixelCPEGeneric ()
 
- Public Member Functions inherited from PixelCPEBase
ReturnType getParameters (const SiPixelCluster &cl, const GeomDetUnit &det) const
 
ReturnType getParameters (const SiPixelCluster &cl, const GeomDetUnit &det, const LocalTrajectoryParameters &ltp) const
 
 PixelCPEBase (edm::ParameterSet const &conf, const MagneticField *mag, const TrackerGeometry &geom, const TrackerTopology &ttopo, const SiPixelLorentzAngle *lorentzAngle, const SiPixelGenErrorDBObject *genErrorDBObject, const SiPixelTemplateDBObject *templateDBobject, const SiPixelLorentzAngle *lorentzAngleWidth, int flag=0)
 
- Public Member Functions inherited from PixelClusterParameterEstimator
unsigned int clusterProbComputationFlag () const
 
virtual ReturnType getParameters (const SiPixelCluster &cl, const GeomDetUnit &det, const TrajectoryStateOnSurface &tsos) const
 
virtual VLocalValues localParametersV (const SiPixelCluster &cluster, const GeomDetUnit &gd) const
 
virtual VLocalValues localParametersV (const SiPixelCluster &cluster, const GeomDetUnit &gd, TrajectoryStateOnSurface &tsos) const
 
 PixelClusterParameterEstimator ()
 
virtual ~PixelClusterParameterEstimator ()
 

Private Member Functions

void collect_edge_charges (ClusterParam &theClusterParam, float &Q_f_X, float &Q_l_X, float &Q_f_Y, float &Q_l_Y) const
 
ClusterParamcreateClusterParam (const SiPixelCluster &cl) const
 
float err2X (bool &, int &) const
 
float err2Y (bool &, int &) const
 
float generic_position_formula (int size, float Q_f, float Q_l, float upper_edge_first_pix, float lower_edge_last_pix, float lorentz_shift, float theThickness, float cot_angle, float pitch, bool first_is_big, bool last_is_big, float eff_charge_cut_low, float eff_charge_cut_high, float size_cut) const
 
LocalError localError (DetParam const &theDetParam, ClusterParam &theClusterParam) const
 
LocalPoint localPosition (DetParam const &theDetParam, ClusterParam &theClusterParam) const
 

Private Attributes

bool DoCosmics_
 
float EdgeClusterErrorX_
 
float EdgeClusterErrorY_
 
bool inflate_all_errors_no_trk_angle
 
bool inflate_errors
 
bool IrradiationBiasCorrection_
 
bool isUpgrade_
 
float the_eff_charge_cut_highX
 
float the_eff_charge_cut_highY
 
float the_eff_charge_cut_lowX
 
float the_eff_charge_cut_lowY
 
float the_size_cutX
 
float the_size_cutY
 
std::vector< SiPixelGenErrorStorethePixelGenError_
 
bool TruncatePixelCharge_
 
bool UseErrorsFromTemplates_
 
std::vector< float > xerr_barrel_l1_
 
float xerr_barrel_l1_def_
 
std::vector< float > xerr_barrel_ln_
 
float xerr_barrel_ln_def_
 
std::vector< float > xerr_endcap_
 
float xerr_endcap_def_
 
std::vector< float > yerr_barrel_l1_
 
float yerr_barrel_l1_def_
 
std::vector< float > yerr_barrel_ln_
 
float yerr_barrel_ln_def_
 
std::vector< float > yerr_endcap_
 
float yerr_endcap_def_
 

Additional Inherited Members

- Public Types inherited from PixelClusterParameterEstimator
typedef std::pair< LocalPoint,
LocalError
LocalValues
 
using ReturnType = std::tuple< LocalPoint, LocalError, SiPixelRecHitQuality::QualWordType >
 
typedef std::vector< LocalValuesVLocalValues
 
- Protected Types inherited from PixelCPEBase
typedef GloballyPositioned
< double > 
Frame
 
- Protected Attributes inherited from PixelCPEBase
bool alpha2Order
 
bool DoLorentz_
 
const SiPixelGenErrorDBObjectgenErrorDBObject_
 
const TrackerGeometrygeom_
 
float lAOffset_
 
float lAWidthBPix_
 
float lAWidthFPix_
 
bool LoadTemplatesFromDB_
 
const SiPixelLorentzAnglelorentzAngle_
 
const SiPixelLorentzAnglelorentzAngleWidth_
 
const MagneticFieldmagfield_
 
const SiPixelTemplateDBObjecttemplateDBobject_
 
int theFlag_
 
int theVerboseLevel
 
const TrackerTopologyttopo_
 
bool useLAOffsetFromConfig_
 
bool useLAWidthFromConfig_
 
bool useLAWidthFromDB_
 
- Protected Attributes inherited from PixelClusterParameterEstimator
unsigned int clusterProbComputationFlag_
 

Detailed Description

Definition at line 56 of file PixelCPEGeneric.h.

Constructor & Destructor Documentation

PixelCPEGeneric::PixelCPEGeneric ( edm::ParameterSet const &  conf,
const MagneticField mag,
const TrackerGeometry geom,
const TrackerTopology ttopo,
const SiPixelLorentzAngle lorentzAngle,
const SiPixelGenErrorDBObject genErrorDBObject,
const SiPixelLorentzAngle lorentzAngleWidth = 0 
)

The constructor.

Definition at line 31 of file PixelCPEGeneric.cc.

PixelCPEGeneric::~PixelCPEGeneric ( )
inline

Definition at line 95 of file PixelCPEGeneric.h.

Member Function Documentation

void PixelCPEGeneric::collect_edge_charges ( ClusterParam theClusterParamBase,
float &  Q_f_X,
float &  Q_l_X,
float &  Q_f_Y,
float &  Q_l_Y 
) const
private

Collect the edge charges in x and y, in a single pass over the pixel vector. Calculate charge in the first and last pixel projected in x and y and the inner cluster charge, projected in x and y.

Parameters
theClusterParamBaseinput, the cluster
Q_f_Xoutput, Q first in X
Q_l_Xoutput, Q last in X
Q_f_Youtput, Q first in Y
Q_l_Youtput, Q last in Y

Definition at line 575 of file PixelCPEGeneric.cc.

PixelCPEBase::ClusterParam * PixelCPEGeneric::createClusterParam ( const SiPixelCluster cl) const
privatevirtual

Implements PixelCPEBase.

Definition at line 185 of file PixelCPEGeneric.cc.

float PixelCPEGeneric::err2X ( bool &  ,
int &   
) const
private
float PixelCPEGeneric::err2Y ( bool &  ,
int &   
) const
private
float PixelCPEGeneric::generic_position_formula ( int  size,
float  Q_f,
float  Q_l,
float  upper_edge_first_pix,
float  lower_edge_last_pix,
float  lorentz_shift,
float  theThickness,
float  cot_angle,
float  pitch,
bool  first_is_big,
bool  last_is_big,
float  eff_charge_cut_low,
float  eff_charge_cut_high,
float  size_cut 
) const
private

A generic version of the position formula. Since it works for both X and Y, in the interest of the simplicity of the code, all parameters are passed by the caller. The only class variable used by this method is the theThickness, since that's common for both X and Y.

Parameters
sizeSize of this projection.
Q_fCharge in the first pixel.
Q_lCharge in the last pixel.
upper_edge_first_pixAs the name says.
lower_edge_last_pixAs the name says.
lorentz_shiftL-width
cot_anglecot of alpha_ or beta_
pitchthePitchX or thePitchY
first_is_bigtrue if the first is big
last_is_bigtrue if the last is big
eff_charge_cut_lowUse edge if > W_eff (in pix) &&&
eff_charge_cut_highUse edge if < W_eff (in pix) &&&
size_cutUse edge when size == cuts

Definition at line 450 of file PixelCPEGeneric.cc.

LocalError PixelCPEGeneric::localError ( DetParam const &  theDetParam,
ClusterParam theClusterParam 
) const
privatevirtual

Implements PixelCPEBase.

Definition at line 626 of file PixelCPEGeneric.cc.

LocalPoint PixelCPEGeneric::localPosition ( DetParam const &  theDetParam,
ClusterParam theClusterParamBase 
) const
privatevirtual

Hit position in the local frame (in cm). Unlike other CPE's, this one converts everything from the measurement frame (in channel numbers) into the local frame (in centimeters).

< Q of the first pixel in X

< Q of the last pixel in X

< Q of the first pixel in Y

< Q of the last pixel in Y

Implements PixelCPEBase.

Definition at line 198 of file PixelCPEGeneric.cc.

Member Data Documentation

bool PixelCPEGeneric::DoCosmics_
private

Definition at line 150 of file PixelCPEGeneric.h.

float PixelCPEGeneric::EdgeClusterErrorX_
private

Definition at line 156 of file PixelCPEGeneric.h.

float PixelCPEGeneric::EdgeClusterErrorY_
private

Definition at line 157 of file PixelCPEGeneric.h.

bool PixelCPEGeneric::inflate_all_errors_no_trk_angle
private

Definition at line 147 of file PixelCPEGeneric.h.

bool PixelCPEGeneric::inflate_errors
private

Definition at line 146 of file PixelCPEGeneric.h.

bool PixelCPEGeneric::IrradiationBiasCorrection_
private

Definition at line 153 of file PixelCPEGeneric.h.

bool PixelCPEGeneric::isUpgrade_
private

Definition at line 154 of file PixelCPEGeneric.h.

float PixelCPEGeneric::the_eff_charge_cut_highX
private

Definition at line 141 of file PixelCPEGeneric.h.

float PixelCPEGeneric::the_eff_charge_cut_highY
private

Definition at line 142 of file PixelCPEGeneric.h.

float PixelCPEGeneric::the_eff_charge_cut_lowX
private

Definition at line 139 of file PixelCPEGeneric.h.

float PixelCPEGeneric::the_eff_charge_cut_lowY
private

Definition at line 140 of file PixelCPEGeneric.h.

float PixelCPEGeneric::the_size_cutX
private

Definition at line 143 of file PixelCPEGeneric.h.

float PixelCPEGeneric::the_size_cutY
private

Definition at line 144 of file PixelCPEGeneric.h.

std::vector< SiPixelGenErrorStore > PixelCPEGeneric::thePixelGenError_
private

Definition at line 165 of file PixelCPEGeneric.h.

bool PixelCPEGeneric::TruncatePixelCharge_
private

Definition at line 152 of file PixelCPEGeneric.h.

bool PixelCPEGeneric::UseErrorsFromTemplates_
private

Definition at line 149 of file PixelCPEGeneric.h.

std::vector<float> PixelCPEGeneric::xerr_barrel_l1_
private

Definition at line 159 of file PixelCPEGeneric.h.

float PixelCPEGeneric::xerr_barrel_l1_def_
private

Definition at line 161 of file PixelCPEGeneric.h.

std::vector<float> PixelCPEGeneric::xerr_barrel_ln_
private

Definition at line 159 of file PixelCPEGeneric.h.

float PixelCPEGeneric::xerr_barrel_ln_def_
private

Definition at line 161 of file PixelCPEGeneric.h.

std::vector<float> PixelCPEGeneric::xerr_endcap_
private

Definition at line 160 of file PixelCPEGeneric.h.

float PixelCPEGeneric::xerr_endcap_def_
private

Definition at line 162 of file PixelCPEGeneric.h.

std::vector<float> PixelCPEGeneric::yerr_barrel_l1_
private

Definition at line 159 of file PixelCPEGeneric.h.

float PixelCPEGeneric::yerr_barrel_l1_def_
private

Definition at line 161 of file PixelCPEGeneric.h.

std::vector<float> PixelCPEGeneric::yerr_barrel_ln_
private

Definition at line 160 of file PixelCPEGeneric.h.

float PixelCPEGeneric::yerr_barrel_ln_def_
private

Definition at line 162 of file PixelCPEGeneric.h.

std::vector<float> PixelCPEGeneric::yerr_endcap_
private

Definition at line 160 of file PixelCPEGeneric.h.

float PixelCPEGeneric::yerr_endcap_def_
private

Definition at line 162 of file PixelCPEGeneric.h.