#include <PixelCPEGeneric.h>
Private Member Functions | |
void | collect_edge_charges (const SiPixelCluster &cluster, float &Q_f_X, float &Q_l_X, float &Q_f_Y, float &Q_l_Y) 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 half_lorentz_shift, 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 (const SiPixelCluster &cl) const |
LocalPoint | localPosition (const SiPixelCluster &cluster) const |
Definition at line 54 of file PixelCPEGeneric.h.
PixelCPEGeneric::PixelCPEGeneric | ( | edm::ParameterSet const & | conf, |
const MagneticField * | mag, | ||
const SiPixelLorentzAngle * | lorentzAngle, | ||
const SiPixelCPEGenericErrorParm * | genErrorParm, | ||
const SiPixelTemplateDBObject * | templateDBobject | ||
) |
The constructor.
Definition at line 31 of file PixelCPEGeneric.cc.
References DoCosmics_, EdgeClusterErrorX_, EdgeClusterErrorY_, edm::hlt::Exception, edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), inflate_all_errors_no_trk_angle, inflate_errors, IrradiationBiasCorrection_, isUpgrade_, LoadTemplatesFromDB_, LogDebug, SiPixelTemplate::pushfile(), templ_, PixelCPEBase::templateDBobject_, templID_, 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::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_.
|
inline |
Definition at line 59 of file PixelCPEGeneric.h.
|
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.
cluster | 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 505 of file PixelCPEGeneric.cc.
References SiPixelCluster::Pixel::adc, i, SiPixelCluster::maxPixelCol(), SiPixelCluster::maxPixelRow(), bookConverter::min, SiPixelCluster::minPixelCol(), SiPixelCluster::minPixelRow(), SiPixelCluster::pixel(), pixmx, SiPixelCluster::size(), TruncatePixelCharge_, UseErrorsFromTemplates_, SiStripMonitorClusterAlca_cfi::xmax, SiStripMonitorClusterAlca_cfi::xmin, SiStripMonitorClusterAlca_cfi::ymax, and SiStripMonitorClusterAlca_cfi::ymin.
Referenced by localPosition().
|
private |
|
private |
|
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. |
half_lorentz_shift | L-shift at half thickness |
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 384 of file PixelCPEGeneric.cc.
References funct::abs(), gather_cfg::cout, IrradiationBiasCorrection_, PixelCPEBase::nRecHitsTotal_, PixelCPEBase::nRecHitsUsedEdge_, GeomDetEnumerators::PixelBarrel, PixelCPEBase::thePart, PixelCPEBase::theThickness, and PixelCPEBase::theVerboseLevel.
Referenced by localPosition().
|
privatevirtual |
Implements PixelCPEBase.
Definition at line 556 of file PixelCPEGeneric.cc.
References alpha, beta, PixelCPEBase::cotalpha_, PixelCPEBase::cotbeta_, DoCosmics_, EdgeClusterErrorX_, EdgeClusterErrorY_, edm::hlt::Exception, f, PixelCPEBase::genErrorParm_, genErrorsFromDB_, GeomDet::geographicalId(), SiPixelCPEGenericDBErrorParametrization::getError(), inflate_errors, isUpgrade_, PXBDetId::layer(), LogDebug, SiPixelCluster::maxPixelCol(), SiPixelCluster::maxPixelRow(), micronsToCm, SiPixelCluster::minPixelCol(), SiPixelCluster::minPixelRow(), PI, GeomDetEnumerators::PixelBarrel, PixelCPEBase::qBin_, sigmax, sigmay, SiPixelCluster::sizeX(), SiPixelCluster::sizeY(), mathSSE::sqrt(), sx1, sx2, sy1, sy2, PixelCPEBase::theDet, PixelCPEBase::thePart, PixelCPEBase::thePitchX, PixelCPEBase::thePitchY, PixelCPEBase::theRecTopol, unlikely, UseErrorsFromTemplates_, PixelCPEBase::with_track_angle, 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_, yerr_endcap_def_, and PixelCPEBase::zneg.
|
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).
< correctly compute lorentz shifts in X and Y
< 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 156 of file PixelCPEGeneric.cc.
References SiPixelCluster::charge(), collect_edge_charges(), PixelCPEBase::computeLorentzShifts(), PixelCPEBase::cotalpha_, PixelCPEBase::cotbeta_, gather_cfg::cout, deltax, deltay, dx1, dx2, dy1, dy2, generic_position_formula(), GeomDet::geographicalId(), SiPixelTemplateDBObject::getTemplateID(), IrradiationBiasCorrection_, PixelCPEBase::loc_trk_pred_, Topology::localPosition(), PixelCPEBase::lorentzShiftInCmX_, PixelCPEBase::lorentzShiftInCmY_, SiPixelCluster::maxPixelCol(), SiPixelCluster::maxPixelRow(), micronsToCm, SiPixelCluster::minPixelCol(), SiPixelCluster::minPixelRow(), pixmx, SiPixelTemplate::qbin(), PixelCPEBase::qBin_, DetId::rawId(), sigmax, sigmay, SiPixelCluster::sizeX(), SiPixelCluster::sizeY(), sx1, sx2, sy1, sy2, templ_, PixelCPEBase::templateDBobject_, templID_, 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::theDet, PixelCPEBase::thePitchX, PixelCPEBase::thePitchY, PixelCPEBase::theRecTopol, PixelCPEBase::theTopol, PixelCPEBase::theVerboseLevel, UseErrorsFromTemplates_, PixelCPEBase::with_track_angle, PV3DBase< T, PVType, FrameType >::x(), SiPixelCluster::x(), xPos, PV3DBase< T, PVType, FrameType >::y(), SiPixelCluster::y(), and yPos.
|
mutableprivate |
Definition at line 148 of file PixelCPEGeneric.h.
Referenced by localPosition().
|
mutableprivate |
Definition at line 147 of file PixelCPEGeneric.h.
Referenced by localPosition().
|
private |
Definition at line 111 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
mutableprivate |
Definition at line 151 of file PixelCPEGeneric.h.
Referenced by localPosition().
|
mutableprivate |
Definition at line 152 of file PixelCPEGeneric.h.
Referenced by localPosition().
|
mutableprivate |
Definition at line 149 of file PixelCPEGeneric.h.
Referenced by localPosition().
|
mutableprivate |
Definition at line 150 of file PixelCPEGeneric.h.
Referenced by localPosition().
|
private |
Definition at line 117 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 118 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 127 of file PixelCPEGeneric.h.
Referenced by localError().
|
private |
Definition at line 108 of file PixelCPEGeneric.h.
Referenced by PixelCPEGeneric().
|
private |
Definition at line 107 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 114 of file PixelCPEGeneric.h.
Referenced by generic_position_formula(), localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 115 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 112 of file PixelCPEGeneric.h.
Referenced by PixelCPEGeneric().
|
mutableprivate |
Definition at line 136 of file PixelCPEGeneric.h.
Referenced by collect_edge_charges(), and localPosition().
|
mutableprivate |
Definition at line 140 of file PixelCPEGeneric.h.
Referenced by localError(), and localPosition().
|
mutableprivate |
Definition at line 139 of file PixelCPEGeneric.h.
Referenced by localError(), and localPosition().
|
mutableprivate |
Definition at line 143 of file PixelCPEGeneric.h.
Referenced by localError(), and localPosition().
|
mutableprivate |
Definition at line 144 of file PixelCPEGeneric.h.
Referenced by localError(), and localPosition().
|
mutableprivate |
Definition at line 141 of file PixelCPEGeneric.h.
Referenced by localError(), and localPosition().
|
mutableprivate |
Definition at line 142 of file PixelCPEGeneric.h.
Referenced by localError(), and localPosition().
|
mutableprivate |
Definition at line 129 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
mutableprivate |
Definition at line 130 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 102 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 103 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 100 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 101 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 104 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 105 of file PixelCPEGeneric.h.
Referenced by localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 113 of file PixelCPEGeneric.h.
Referenced by collect_edge_charges(), and PixelCPEGeneric().
|
private |
Definition at line 110 of file PixelCPEGeneric.h.
Referenced by collect_edge_charges(), localError(), localPosition(), and PixelCPEGeneric().
|
private |
Definition at line 120 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 122 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 120 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 122 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 121 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 123 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 120 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 122 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 121 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 123 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 121 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().
|
private |
Definition at line 123 of file PixelCPEGeneric.h.
Referenced by localError(), and PixelCPEGeneric().