GENFIT  Rev:NoNumberAvailable
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
Public Member Functions | List of all members
genfit::ICalibrationParametersDerivatives Class Referenceabstract

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>

Collaboration diagram for genfit::ICalibrationParametersDerivatives:
Collaboration graph

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

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.

Constructor & Destructor Documentation

virtual genfit::ICalibrationParametersDerivatives::~ICalibrationParametersDerivatives ( )
inlinevirtual

Definition at line 47 of file ICalibrationParametersDerivatives.h.

Member Function Documentation

virtual TMatrixD genfit::ICalibrationParametersDerivatives::derivatives ( const genfit::StateOnPlane sop)
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))

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

Referenced by genfit::GblFitterInfo::constructGblPoint().

virtual std::vector<int> genfit::ICalibrationParametersDerivatives::labels ( )
pure virtual

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

Referenced by genfit::GblFitterInfo::constructGblPoint().

virtual TMatrixD genfit::ICalibrationParametersDerivatives::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

Definition at line 108 of file ICalibrationParametersDerivatives.h.

Referenced by genfit::GblFitterInfo::constructGblPoint().

virtual std::vector<int> genfit::ICalibrationParametersDerivatives::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 118 of file ICalibrationParametersDerivatives.h.


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