#include <PixelCPEGeneric.h>
Classes | |
struct | ClusterParamGeneric |
Private Member Functions | |
void | collect_edge_charges (ClusterParam &theClusterParam, int &Q_f_X, int &Q_l_X, int &Q_f_Y, int &Q_l_Y) const |
ClusterParam * | createClusterParam (const SiPixelCluster &cl) const override |
float | err2X (bool &, int &) const |
float | err2Y (bool &, int &) const |
float | generic_position_formula (int size, int Q_f, int 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 override |
LocalPoint | localPosition (DetParam const &theDetParam, ClusterParam &theClusterParam) const override |
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< SiPixelGenErrorStore > | thePixelGenError_ |
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_ |
Definition at line 54 of file PixelCPEGeneric.h.
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 28 of file PixelCPEGeneric.cc.
References gather_cfg::cout, DoCosmics_, EdgeClusterErrorX_, EdgeClusterErrorY_, Exception, edm::ParameterSet::exists(), PixelCPEBase::genErrorDBObject_, edm::ParameterSet::getParameter(), inflate_all_errors_no_trk_angle, inflate_errors, createfilelist::int, IrradiationBiasCorrection_, isUpgrade_, PixelCPEBase::LoadTemplatesFromDB_, LogDebug, SiPixelGenError::pushfile(), the_eff_charge_cut_highX, the_eff_charge_cut_highY, the_eff_charge_cut_lowX, the_eff_charge_cut_lowY, the_size_cutX, the_size_cutY, thePixelGenError_, PixelCPEBase::theVerboseLevel, TruncatePixelCharge_, UseErrorsFromTemplates_, xerr_barrel_l1_, xerr_barrel_l1_def_, xerr_barrel_ln_, xerr_barrel_ln_def_, xerr_endcap_, xerr_endcap_def_, yerr_barrel_l1_, yerr_barrel_l1_def_, yerr_barrel_ln_, yerr_barrel_ln_def_, yerr_endcap_, and yerr_endcap_def_.
|
inlineoverride |
Definition at line 87 of file PixelCPEGeneric.h.
References haddnano::cl, collect_edge_charges(), createClusterParam(), err2X(), err2Y(), generic_position_formula(), localError(), localPosition(), and findQualityFiles::size.
|
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.
theClusterParamBase | input, the cluster |
Q_f_X | output, Q first in X |
Q_l_X | output, Q last in X |
Q_f_Y | output, Q first in Y |
Q_l_Y | output, Q last in Y |
Definition at line 525 of file PixelCPEGeneric.cc.
References mps_fire::i, SiPixelCluster::maxPixelCol(), SiPixelCluster::maxPixelRow(), min(), SiPixelCluster::minPixelCol(), SiPixelCluster::minPixelRow(), digitizers_cfi::pixel, SiPixelCluster::pixel(), PixelCPEGeneric::ClusterParamGeneric::pixmx, SiPixelCluster::size(), PixelCPEBase::ClusterParam::theCluster, TruncatePixelCharge_, UseErrorsFromTemplates_, TrackerOfflineValidation_Dqm_cff::xmax, TrackerOfflineValidation_Dqm_cff::xmin, Phase2TrackerMonitorDigi_cff::ymax, and Phase2TrackerMonitorDigi_cff::ymin.
Referenced by generic_position_formula(), localPosition(), and ~PixelCPEGeneric().
|
overrideprivatevirtual |
Implements PixelCPEBase.
Definition at line 151 of file PixelCPEGeneric.cc.
Referenced by ~PixelCPEGeneric().
|
private |
Referenced by ~PixelCPEGeneric().
|
private |
Referenced by ~PixelCPEGeneric().
|
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.
size | Size of this projection. |
Q_f | Charge in the first pixel. |
Q_l | Charge in the last pixel. |
upper_edge_first_pix | As the name says. |
lower_edge_last_pix | As the name says. |
lorentz_shift | L-width |
cot_angle | cot of alpha_ or beta_ |
pitch | thePitchX or thePitchY |
first_is_big | true if the first is big |
last_is_big | true if the last is big |
eff_charge_cut_low | Use edge if > W_eff (in pix) &&& |
eff_charge_cut_high | Use edge if < W_eff (in pix) &&& |
size_cut | Use edge when size == cuts |
Definition at line 400 of file PixelCPEGeneric.cc.
References funct::abs(), and collect_edge_charges().
Referenced by localPosition(), and ~PixelCPEGeneric().
|
overrideprivatevirtual |
Implements PixelCPEBase.
Definition at line 576 of file PixelCPEGeneric.cc.
References RectangularPixelTopology::containsBigPixelInX(), RectangularPixelTopology::containsBigPixelInY(), gather_cfg::cout, EdgeClusterErrorX_, EdgeClusterErrorY_, Exception, f, objects.autophobj::float, GeomDet::geographicalId(), inflate_errors, GeomDetEnumerators::isBarrel(), RectangularPixelTopology::isItBigPixelInX(), RectangularPixelTopology::isItBigPixelInY(), RectangularPixelTopology::isItEdgePixelInX(), RectangularPixelTopology::isItEdgePixelInY(), GeomDetEnumerators::isTrackerPixel(), TrackerTopology::layer(), LIKELY, SiPixelCluster::maxPixelCol(), SiPixelCluster::maxPixelRow(), SiPixelCluster::minPixelCol(), SiPixelCluster::minPixelRow(), PixelCPEBase::ClusterParam::qBin_, PixelCPEGeneric::ClusterParamGeneric::sigmax, PixelCPEGeneric::ClusterParamGeneric::sigmay, SiPixelCluster::sizeX(), SiPixelCluster::sizeY(), mathSSE::sqrt(), PixelCPEGeneric::ClusterParamGeneric::sx1, PixelCPEGeneric::ClusterParamGeneric::sx2, PixelCPEGeneric::ClusterParamGeneric::sy1, PixelCPEGeneric::ClusterParamGeneric::sy2, PixelCPEBase::ClusterParam::theCluster, PixelCPEBase::DetParam::theDet, PixelCPEBase::DetParam::thePart, PixelCPEBase::DetParam::thePitchX, PixelCPEBase::DetParam::thePitchY, PixelCPEBase::DetParam::theRecTopol, PixelCPEBase::ttopo_, UseErrorsFromTemplates_, xerr_barrel_l1_, xerr_barrel_l1_def_, xerr_barrel_ln_, xerr_barrel_ln_def_, xerr_endcap_, xerr_endcap_def_, yerr_barrel_l1_, yerr_barrel_l1_def_, yerr_barrel_ln_, yerr_barrel_ln_def_, yerr_endcap_, and yerr_endcap_def_.
Referenced by ~PixelCPEGeneric().
|
overrideprivatevirtual |
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 164 of file PixelCPEGeneric.cc.
References PixelCPEBase::DetParam::bx, PixelCPEBase::DetParam::bz, SiPixelCluster::charge(), collect_edge_charges(), PixelCPEBase::ClusterParam::cotalpha, PixelCPEBase::ClusterParam::cotbeta, gather_cfg::cout, PixelCPEGeneric::ClusterParamGeneric::deltax, PixelCPEGeneric::ClusterParamGeneric::deltay, PixelCPEBase::DetParam::detTemplateId, PixelCPEGeneric::ClusterParamGeneric::dx1, PixelCPEGeneric::ClusterParamGeneric::dx2, PixelCPEGeneric::ClusterParamGeneric::dy1, PixelCPEGeneric::ClusterParamGeneric::dy2, generic_position_formula(), IrradiationBiasCorrection_, RectangularPixelTopology::isItBigPixelInX(), RectangularPixelTopology::isItBigPixelInY(), PixelCPEBase::ClusterParam::loc_trk_pred, Topology::localPosition(), PixelCPEBase::DetParam::lorentzShiftInCmX, PixelCPEBase::DetParam::lorentzShiftInCmY, SiPixelGenError::lorxwidth(), SiPixelGenError::lorywidth(), SiPixelCluster::maxPixelCol(), SiPixelCluster::maxPixelRow(), SiPixelCluster::minPixelCol(), SiPixelCluster::minPixelRow(), PixelCPEGeneric::ClusterParamGeneric::pixmx, SiPixelGenError::qbin(), PixelCPEBase::ClusterParam::qBin_, PixelCPEGeneric::ClusterParamGeneric::sigmax, PixelCPEGeneric::ClusterParamGeneric::sigmay, SiPixelCluster::sizeX(), SiPixelCluster::sizeY(), PixelCPEGeneric::ClusterParamGeneric::sx1, PixelCPEGeneric::ClusterParamGeneric::sx2, PixelCPEGeneric::ClusterParamGeneric::sy1, PixelCPEGeneric::ClusterParamGeneric::sy2, the_eff_charge_cut_highX, the_eff_charge_cut_highY, the_eff_charge_cut_lowX, the_eff_charge_cut_lowY, the_size_cutX, the_size_cutY, PixelCPEBase::ClusterParam::theCluster, PixelCPEBase::DetParam::thePitchX, PixelCPEBase::DetParam::thePitchY, thePixelGenError_, PixelCPEBase::DetParam::theRecTopol, PixelCPEBase::DetParam::theThickness, PixelCPEBase::DetParam::theTopol, PixelCPEBase::theVerboseLevel, UseErrorsFromTemplates_, PixelCPEBase::DetParam::widthLAFractionX, PixelCPEBase::DetParam::widthLAFractionY, PixelCPEBase::ClusterParam::with_track_angle, PV3DBase< T, PVType, FrameType >::x(), SiPixelCluster::x(), PV3DBase< T, PVType, FrameType >::y(), and SiPixelCluster::y().
Referenced by ~PixelCPEGeneric().
|
private |
Definition at line 142 of file PixelCPEGeneric.h.
Referenced by PixelCPEGeneric().
|
private |
Definition at line 148 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 149 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 139 of file PixelCPEGeneric.h.
Referenced by PixelCPEGeneric().
|
private |
Definition at line 138 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 145 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 146 of file PixelCPEGeneric.h.
Referenced by PixelCPEGeneric().
|
private |
Definition at line 133 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 134 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 131 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 132 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 135 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 136 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 157 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 144 of file PixelCPEGeneric.h.
Referenced by collect_edge_charges(), and PixelCPEGeneric().
|
private |
Definition at line 141 of file PixelCPEGeneric.h.
Referenced by collect_edge_charges(), localError(), localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 151 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 153 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 151 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 153 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 152 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 154 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 151 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 153 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 152 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 154 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 152 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 154 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().