Belle II Software
release-08-01-10
|
This class is used to transfer PXD information to the track fit. More...
#include <AlignablePXDRecoHit.h>
Public Member Functions | |
virtual | ~AlignablePXDRecoHit () |
Destructor. | |
genfit::AbsMeasurement * | clone () const override |
Creating a deep copy of this hit. | |
virtual std::pair< std::vector< int >, TMatrixD > | globalDerivatives (const genfit::StateOnPlane *sop) override |
Labels and derivatives of residuals (local measurement coordinates) w.r.t. More... | |
PXDRecoHit () | |
Inherit constructors. | |
PXDRecoHit (const PXDTrueHit *hit, const genfit::TrackCandHit *trackCandHit=NULL, float sigmaU=-1, float sigmaV=-1) | |
Inherit constructors. | |
PXDRecoHit (const PXDCluster *hit, float sigmaU, float sigmaV, float covUV) | |
Inherit constructors. | |
PXDRecoHit (const PXDCluster *hit, const genfit::TrackCandHit *trackCandHit=NULL) | |
Inherit constructors. | |
virtual std::vector< genfit::MeasurementOnPlane * > | constructMeasurementsOnPlane (const genfit::StateOnPlane &state) const override |
Methods that actually interface to Genfit. More... | |
VxdID | getSensorID () const |
Get the compact ID. | |
const PXDTrueHit * | getTrueHit () const |
Get pointer to the TrueHit used when creating this RecoHit, can be NULL if created from something else. | |
const PXDCluster * | getCluster () const |
Get pointer to the Cluster used when creating this RecoHit, can be NULL if created from something else. | |
float | getU () const |
Get u coordinate. | |
float | getV () const |
Get v coordinate. | |
float | getUVariance () const |
Get u coordinate variance. | |
float | getVVariance () const |
Get v coordinate variance. | |
float | getUVCov () const |
Get u-v error covariance. | |
float | getEnergyDep () const |
Get deposited energy. | |
float | getShapeLikelyhood (const genfit::StateOnPlane &state) const |
Get deposited energy error. More... | |
virtual const genfit::AbsHMatrix * | constructHMatrix (const genfit::AbsTrackRep *) const override |
Construct the hessian matrix. | |
int | getPlaneId () const |
virtual SharedPlanePtr | constructPlane (const StateOnPlane &state) const override |
Construct (virtual) detector plane (use state's AbsTrackRep). More... | |
virtual void | setPlane (const SharedPlanePtr &physicalPlane, int planeId=-1) |
void | setStripV (bool v=true) |
Use if the coordinate for 1D hits measured in V direction. More... | |
TrackPoint * | getTrackPoint () const |
void | setTrackPoint (TrackPoint *tp) |
const TVectorD & | getRawHitCoords () const |
TVectorD & | getRawHitCoords () |
const TMatrixDSym & | getRawHitCov () const |
TMatrixDSym & | getRawHitCov () |
int | getDetId () const |
int | getHitId () const |
virtual bool | isLeftRightMeasurement () const |
If the AbsMeasurement is a wire hit, the left/right resolution will be used. | |
virtual int | getLeftRightResolution () const |
unsigned int | getDim () const |
void | setRawHitCoords (const TVectorD &coords) |
void | setRawHitCov (const TMatrixDSym &cov) |
void | setDetId (int detId) |
void | setHitId (int hitId) |
virtual void | Print (const Option_t *="") const |
virtual std::vector< int > | labels () |
Vector of integer labels for calibration/alignment parameters available (must match #columns of derivatives(...)) More... | |
virtual TMatrixD | derivatives (const genfit::StateOnPlane *) |
Derivatives of residuals (local measurement coordinates) w.r.t. More... | |
virtual TMatrixD | localDerivatives (const genfit::StateOnPlane *) |
Derivatives for additional local parameters to be fitted in global calibration algorithms together with with global parameters. More... | |
virtual std::vector< int > | localLabels () |
Vector of integer labels for local calibration parameters available (must match #columns of localDerivatives(...)) More... | |
Static Public Attributes | |
static bool | s_enableLorentzGlobalDerivatives = false |
Static enabling(true) or disabling(false) addition of global derivatives for Lorentz shift. | |
Protected Attributes | |
SharedPlanePtr | physicalPlane_ |
int | planeId_ |
This is persistent, but '!' makes ROOT shut up. | |
bool | stripV_ |
TVectorD | rawHitCoords_ |
TMatrixDSym | rawHitCov_ |
int | detId_ |
int | hitId_ |
TrackPoint * | trackPoint_ |
Pointer to TrackPoint where the measurement belongs to. | |
Private Types | |
enum | { HIT_DIMENSIONS = 2 } |
Private Member Functions | |
ClassDefOverride (AlignablePXDRecoHit, 3) | |
PXD RecoHit extended for alignment/calibration. | |
void | setDetectorPlane () |
Set up Detector plane information. | |
TVectorD | applyPlanarDeformation (TVectorD hitCoords, std::vector< double > planarParameters, const genfit::StateOnPlane &state) const |
Apply planar deformation of sensors. | |
Private Attributes | |
unsigned short | m_sensorID |
Unique sensor identifier. | |
const PXDTrueHit * | m_trueHit |
Pointer to the TrueHit used when creating this object. | |
const PXDCluster * | m_cluster |
transient member (not written out during streaming) More... | |
float | m_energyDep |
transient member (not written out during streaming) More... | |
Friends | |
class | PXDRecoHit |
This class is used to transfer PXD information to the track fit.
Definition at line 28 of file AlignablePXDRecoHit.h.
|
privateinherited |
Enumerator | |
---|---|
HIT_DIMENSIONS | sensitive Dimensions of the Hit |
Definition at line 134 of file PXDRecoHit.h.
|
overridevirtualinherited |
Methods that actually interface to Genfit.
Reimplemented from PlanarMeasurement.
Definition at line 192 of file PXDRecoHit.cc.
|
overridevirtualinherited |
Construct (virtual) detector plane (use state's AbsTrackRep).
It's possible to make corrections to the plane here. The state should be defined somewhere near the measurement. For virtual planes, the state will be extrapolated to the POCA to point (SpacepointMeasurement) or line (WireMeasurement), and from this info the plane will be constructed.
Implements AbsMeasurement.
Definition at line 46 of file PlanarMeasurement.cc.
|
inlinevirtualinherited |
Derivatives of residuals (local measurement coordinates) w.r.t.
alignment/calibration parameters Matrix "G" of derivatives valid for given prediction of track state:
G(i, j) = d_residual_i/d_parameter_j
For 2D measurement (u,v):
G = ( du/da du/db du/dc ... ) ( dv/da dv/db dv/dc ... )
for calibration parameters a, b, c.
For 1D measurement both forms are allowed:
G = ( 0 0 0 ... ) ( dv/da dv/db dv/dc ... ) for V-strip,
G = ( du/da du/db du/dc ... ) ( 0 0 0 ... ) for U-strip,
or :
G = ( d_sensitive/da d_sensitive/db d_sensitive/dc ... ) as matrix with one row.
A possible algorithm using these derivatives should be able to resolve this based on the measurement HMatrix. Measurements with more dimesions (slopes, curvature) should provide full 4-5Dx(n params) matrix (state as (q/p, u', v', u, v) or (u', v', u, v))
sop | Predicted state of the track as linearization point around which derivatives of alignment/calibration parameters shall be computed |
Definition at line 129 of file ICalibrationParametersDerivatives.h.
|
inherited |
Get deposited energy error.
Get the likelyhood that cluster shape is likely to be created from track state.
Definition at line 137 of file PXDRecoHit.cc.
|
overridevirtual |
Labels and derivatives of residuals (local measurement coordinates) w.r.t.
alignment/calibration parameters Matrix "G" of derivatives valid for given prediction of track state:
G(i, j) = d_residual_i/d_parameter_j
For 2D measurement (u,v):
G = ( du/da du/db du/dc ... ) ( dv/da dv/db dv/dc ... )
for calibration parameters a, b, c.
For 1D measurement:
G = ( 0 0 0 ... ) ( dv/da dv/db dv/dc ... ) for V-strip,
G = ( du/da du/db du/dc ... ) ( 0 0 0 ... ) for U-strip,
Measurements with more dimesions (slopes, curvature) should provide full 4-5Dx(n params) matrix (state as (q/p, u', v', u, v) or (u', v', u, v))
sop | Predicted state of the track as linearization point around which derivatives of alignment/calibration parameters shall be computed |
Reimplemented from ICalibrationParametersDerivatives.
Definition at line 25 of file AlignablePXDRecoHit.cc.
|
inlinevirtualinherited |
Vector of integer labels for calibration/alignment parameters available (must match #columns of derivatives(...))
unique across all sub-detectors in calibration
Definition at line 90 of file ICalibrationParametersDerivatives.h.
|
inlinevirtualinherited |
Derivatives for additional local parameters to be fitted in global calibration algorithms together with with global parameters.
Local parameters are not neccesarily identified by label because their number is proportional to number of measurements included in calibration (possibly very huge number!)
Reimplemented in AlignableCDCRecoHit.
Definition at line 141 of file ICalibrationParametersDerivatives.h.
|
inlinevirtualinherited |
Vector of integer labels for local calibration parameters available (must match #columns of localDerivatives(...))
This will be usually ignored (e.g. does not have to match localDerivatives), but it is a good practice to return vector of zeros of correct size
Definition at line 151 of file ICalibrationParametersDerivatives.h.
|
inlineinherited |
Use if the coordinate for 1D hits measured in V direction.
Per default for 1D planar hits, the coordinate is measured in U direction. With this function you can set it to be measured in V direction. This affects the outcoe of constructHMatrix().
Definition at line 70 of file PlanarMeasurement.h.
|
privateinherited |
transient member (not written out during streaming)
Pointer to the Cluster used when creating this object
Definition at line 140 of file PXDRecoHit.h.
|
privateinherited |
transient member (not written out during streaming)
deposited energy.
Definition at line 141 of file PXDRecoHit.h.