EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
genfit::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 <fun4all_GenFit/blob/master/GBL/include/ICalibrationParametersDerivatives.h>

Public Member Functions

virtual ~ICalibrationParametersDerivatives ()
 
virtual std::pair< std::vector
< int >, TMatrixD > 
globalDerivatives (const genfit::StateOnPlane *sop)
 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:
 
virtual std::vector< int > labels ()
 Vector of integer labels for calibration/alignment parameters available (must match #columns of derivatives(...))
 
virtual TMatrixD derivatives (const genfit::StateOnPlane *)
 Derivatives of residuals (local measurement coordinates) w.r.t. alignment/calibration parameters Matrix "G" of derivatives valid for given prediction of track state:
 
virtual TMatrixD localDerivatives (const genfit::StateOnPlane *)
 Derivatives for additional local parameters to be fitted in global calibration algorithms together with with global parameters.
 
virtual std::vector< int > localLabels ()
 Vector of integer labels for local calibration parameters available (must match #columns of localDerivatives(...))
 

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.

View newest version in sPHENIX GitHub at line 44 of file ICalibrationParametersDerivatives.h

Constructor & Destructor Documentation

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

Definition at line 47 of file ICalibrationParametersDerivatives.h.

View newest version in sPHENIX GitHub at line 47 of file ICalibrationParametersDerivatives.h

Member Function Documentation

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

View newest version in sPHENIX GitHub at line 129 of file ICalibrationParametersDerivatives.h

Referenced by globalDerivatives().

+ Here is the caller graph for this function:

virtual std::pair<std::vector<int>, TMatrixD> genfit::ICalibrationParametersDerivatives::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().

Definition at line 80 of file ICalibrationParametersDerivatives.h.

View newest version in sPHENIX GitHub at line 80 of file ICalibrationParametersDerivatives.h

References derivatives(), and labels().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

View newest version in sPHENIX GitHub at line 90 of file ICalibrationParametersDerivatives.h

Referenced by globalDerivatives().

+ Here is the caller graph for this function:

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 141 of file ICalibrationParametersDerivatives.h.

View newest version in sPHENIX GitHub at line 141 of file ICalibrationParametersDerivatives.h

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

+ Here is the caller graph for this function:

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 151 of file ICalibrationParametersDerivatives.h.

View newest version in sPHENIX GitHub at line 151 of file ICalibrationParametersDerivatives.h


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