EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
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(...)) | |
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.
View newest version in sPHENIX GitHub at line 44 of file ICalibrationParametersDerivatives.h
|
inlinevirtual |
Definition at line 47 of file ICalibrationParametersDerivatives.h.
View newest version in sPHENIX GitHub at line 47 of file ICalibrationParametersDerivatives.h
|
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))
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.
View newest version in sPHENIX GitHub at line 129 of file ICalibrationParametersDerivatives.h
Referenced by globalDerivatives().
|
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))
sop | Predicted state of the track as linearization point around which derivatives of alignment/calibration parameters shall be computed |
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().
|
inlinevirtual |
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.
View newest version in sPHENIX GitHub at line 90 of file ICalibrationParametersDerivatives.h
Referenced by globalDerivatives().
|
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 141 of file ICalibrationParametersDerivatives.h.
View newest version in sPHENIX GitHub at line 141 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 151 of file ICalibrationParametersDerivatives.h.
View newest version in sPHENIX GitHub at line 151 of file ICalibrationParametersDerivatives.h