Belle II Software
release-08-01-10
|
Alignable BKLM hit. More...
#include <AlignableBKLMRecoHit.h>
Public Member Functions | |
AlignableBKLMRecoHit () | |
Constructor. | |
AlignableBKLMRecoHit (const KLMHit2d *hit, const genfit::TrackCandHit *trackCandHit) | |
Constructor. More... | |
virtual | ~AlignableBKLMRecoHit () |
Destructor. | |
genfit::AbsMeasurement * | clone () const override |
Creating a deep copy of this hit. | |
virtual std::vector< genfit::MeasurementOnPlane * > | constructMeasurementsOnPlane (const genfit::StateOnPlane &state) const override |
Measurement construction. | |
virtual const genfit::AbsHMatrix * | constructHMatrix (const genfit::AbsTrackRep *) const override |
Get the genfit projection H matrix (to U,V). | |
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... | |
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... | |
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 (AlignableBKLMRecoHit, 1) | |
Class version. | |
Private Attributes | |
uint16_t | m_KLMModule |
KLM module number. | |
int | m_Layer |
Hit layer. | |
const bklm::Module * | m_Module |
Module used to get geometry information. | |
CLHEP::Hep3Vector | global |
not streamed More... | |
const double | halfheight_sci = 0.5 |
not streamed More... | |
Alignable BKLM hit.
Definition at line 30 of file AlignableBKLMRecoHit.h.
|
private |
Enumerator | |
---|---|
HIT_DIMENSIONS | sensitive Dimensions of the Hit |
Definition at line 111 of file AlignableBKLMRecoHit.h.
|
explicit |
Constructor.
the position (in global coordinates) of this module's sensitive-volume origin
the directioin (in global coordinates) of this module's U axis
the directioin (in global coordinates) of this module's V axis
Definition at line 25 of file AlignableBKLMRecoHit.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.
|
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 124 of file AlignableBKLMRecoHit.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.
|
private |
|
private |
not streamed
half height of scintillator module
Definition at line 126 of file AlignableBKLMRecoHit.h.