GENFIT
Rev:NoNumberAvailable
|
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>
Public Member Functions | |
virtual | ~ICalibrationParametersDerivatives () |
virtual std::vector< int > | labels ()=0 |
Vector of integer labels for calibration/alignment parameters available (must match #columns of derivatives(...)) More... | |
virtual TMatrixD | derivatives (const genfit::StateOnPlane *sop)=0 |
Derivatives of residuals (local measurement coordinates) w.r.t. alignment/calibration parameters Matrix "G" of derivatives valid for given prediction of track state: 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... | |
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
Definition at line 44 of file ICalibrationParametersDerivatives.h.
|
inlinevirtual |
Definition at line 47 of file ICalibrationParametersDerivatives.h.
|
pure virtual |
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 |
Referenced by genfit::GblFitterInfo::constructGblPoint().
|
pure virtual |
Vector of integer labels for calibration/alignment parameters available (must match #columns of derivatives(...))
unique across all sub-detectors in calibration
Referenced by genfit::GblFitterInfo::constructGblPoint().
|
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!)
Definition at line 108 of file ICalibrationParametersDerivatives.h.
Referenced by genfit::GblFitterInfo::constructGblPoint().
|
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
Definition at line 118 of file ICalibrationParametersDerivatives.h.