Belle II Software  release-08-01-10
ICalibrationParametersDerivatives Class Reference

Abstract base class to establish an interface between physical representation of the detector for alignment/calibration and (fitted) state on genfit::Track. More...

#include <ICalibrationParametersDerivatives.h>

Inheritance diagram for ICalibrationParametersDerivatives:

Public Member Functions

virtual std::pair< std::vector< int >, TMatrixD > globalDerivatives (const genfit::StateOnPlane *sop)
 Labels and derivatives of residuals (local measurement coordinates) w.r.t. More...
 
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...
 

Detailed Description

Abstract base class to establish an interface between physical representation of the detector for alignment/calibration and (fitted) state on genfit::Track.

An implementing class (RecoHit) should be able to calculate derivatives of track fit residuals (2D for planar, 1D for strip hit) residuals w.r.t. global (and optionally additional local) parameters. Global parameters need unique integer labels to identify them across all sub-detectors

Author
TadeasBilka

Definition at line 44 of file ICalibrationParametersDerivatives.h.

Member Function Documentation

◆ derivatives()

virtual TMatrixD derivatives ( const genfit::StateOnPlane )
inlinevirtual

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))

Parameters
sopPredicted state of the track as linearization point around which derivatives of alignment/calibration parameters shall be computed
Returns
TMatrixD Matrix with #rows = dimension of residual, #columns = number of parameters. #columns must match labels().size().

Definition at line 129 of file ICalibrationParametersDerivatives.h.

◆ globalDerivatives()

virtual std::pair<std::vector<int>, TMatrixD> globalDerivatives ( const genfit::StateOnPlane sop)
inlinevirtual

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))

Parameters
sopPredicted state of the track as linearization point around which derivatives of alignment/calibration parameters shall be computed
Returns
pair<vector<int>, TMatrixD> With matrix with #rows = dimension of residual, #columns = number of parameters. #columns must match vector<int>.size().

Reimplemented in AlignableSVDRecoHit2D, AlignableSVDRecoHit, AlignablePXDRecoHit, AlignableEKLMRecoHit, AlignableCDCRecoHit, and AlignableBKLMRecoHit.

Definition at line 80 of file ICalibrationParametersDerivatives.h.

◆ labels()

virtual std::vector<int> labels ( )
inlinevirtual

Vector of integer labels for calibration/alignment parameters available (must match #columns of derivatives(...))

unique across all sub-detectors in calibration

Returns
std::vector< int > Vector of integer labels

Definition at line 90 of file ICalibrationParametersDerivatives.h.

◆ localDerivatives()

virtual TMatrixD localDerivatives ( const genfit::StateOnPlane )
inlinevirtual

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!)

Returns
TMatrixD Matrix in form d_residual_i/d_parameter_j

Reimplemented in AlignableCDCRecoHit.

Definition at line 141 of file ICalibrationParametersDerivatives.h.

◆ localLabels()

virtual std::vector<int> localLabels ( )
inlinevirtual

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

Returns
std::vector< int > Vector of integer labels

Definition at line 151 of file ICalibrationParametersDerivatives.h.


The documentation for this class was generated from the following file: