![]() |
AliRoot Core
a565103 (a565103)
|
#include <AliTPCkalmanFit.h>
Public Member Functions | |
AliTPCkalmanFit () | |
void | Init () |
void | InitTransformation () |
void | Add (const AliTPCkalmanFit *kalman) |
void | AddCalibration (AliTPCTransformation *calib) |
AliTPCTransformation * | GetTransformation (Int_t i) |
Int_t | GetTransformationIndex (const char *trName) |
void | SetStatus (const char *name, Bool_t setOn, Bool_t isOr=kTRUE) |
void | FitTrackLinear (AliTrackPointArray &points, TTreeSRedirector *debug=0, Float_t scalingRMSY=1., Float_t scalingRMSZ=1.) |
void | DumpTrackLinear (AliTrackPointArray &points, TTreeSRedirector *debug) |
void | UpdateLinear (AliTrackPoint &point, TTreeSRedirector *debug=0) |
void | Propagate (TTreeSRedirector *debug=0) |
void | PropagateTime (Int_t time) |
void | AddCovariance (const char *varName, Double_t sigma) |
void | Update (const AliTPCkalmanFit *kalman) |
void | ApplyCalibration (AliTrackPointArray *array, Double_t csign) |
Bool_t | CheckCovariance (TMatrixD &covar, Float_t maxEl) |
Bool_t | DumpCorelation (Double_t threshold, const char *mask0=0, const char *mask1=0) |
Bool_t | DumpCalib (const char *mask=0, Float_t correlationCut=-1) |
Double_t | GetTPCDeltaXYZ (Int_t coord, Int_t volID, Int_t icoordsys, Double_t x, Double_t y, Double_t z) |
Double_t | GetTPCtransXYZ (Int_t coord, Int_t volID, Int_t calibID, Int_t icoordsys, Double_t x, Double_t y, Double_t z) |
void | MakeTreeTrans (TTreeSRedirector *debug, const char *treeName="all") |
AliTPCkalmanFit * | Test (Int_t ntracks) |
void | SetInstance (AliTPCkalmanFit *param) |
Static Public Member Functions | |
static AliTrackPointArray * | SortPoints (AliTrackPointArray &points) |
static AliTrackPointArray * | MakePointArrayLinear (Double_t alpha, Double_t y0, Double_t z0, Double_t ky, Double_t kz, Double_t err=0.02) |
static Double_t | SGetTPCDeltaXYZ (Int_t coord, Int_t volID, Int_t icoordsys, Double_t x, Double_t y, Double_t z) |
static Double_t | SGetTPCtransXYZ (Int_t coord, Int_t volID, Int_t calibID, Int_t icoordsys, Double_t x, Double_t y, Double_t z) |
Public Attributes | |
TObjArray * | fCalibration |
array of calibrations More... | |
TMatrixD * | fCalibParam |
calibration parameters More... | |
TMatrixD * | fCalibCovar |
calibration parameters More... | |
TMatrixD * | fLinearParam |
linear parameters More... | |
TMatrixD * | fLinearCovar |
linear covariance More... | |
THnSparse * | fLinearTrackDelta [12] |
linear tracks matching residuals - delta More... | |
THnSparse * | fLinearTrackPull [12] |
linear tracks matching residuals - pull More... | |
Int_t | fLastTimeStamp |
last time stamp - used for propagation of parameters More... | |
Static Public Attributes | |
static AliTPCkalmanFit * | fgInstance = 0 |
! Instance of this class (singleton implementation) More... | |
Private Member Functions | |
AliTPCkalmanFit & | operator= (const AliTPCkalmanFit &) |
AliTPCkalmanFit (const AliTPCkalmanFit &) | |
ClassDef (AliTPCkalmanFit, 3) | |
Private Attributes | |
Double_t | fCurrentAlpha |
! current rotation frame More... | |
Double_t | fCA |
! cosine of current angle More... | |
Double_t | fSA |
! sinus of current angle More... | |
Kalman filter(s) for fitting of the tracks together with calibration/transformation parameters.
Correction/Transformation are currently described by set (TObjArray) of primitive correction/transformatio - AliTPCTransformation. Currently we assume that transformation comute (in first order). AliTPCTransformation describe general non linear transformation.
Current calibration parameters and covariance stored (fCalibParam, fCalibCovar).
Currenly only linear track model implemented. Fits to be implemented: 0. Plane fitting (Laser CE)
How to use it - see AliTPCkalmanFit::Test function
Simple test (see AliTPCkalmanFit::Test)
Transformation visualization: Transforamtion can be visualized using TFn (TF1,TF2 ...) and using tree->Draw()
Definition at line 18 of file AliTPCkalmanFit.h.
AliTPCkalmanFit::AliTPCkalmanFit | ( | ) |
|
inlineprivate |
Definition at line 84 of file AliTPCkalmanFit.h.
void AliTPCkalmanFit::Add | ( | const AliTPCkalmanFit * | kalman | ) |
Definition at line 99 of file AliTPCkalmanFit.cxx.
Referenced by MakeFolders().
void AliTPCkalmanFit::AddCalibration | ( | AliTPCTransformation * | calib | ) |
Add calibration
Definition at line 802 of file AliTPCkalmanFit.cxx.
Referenced by AddAlignOROCIROCFourier(), AddAlignSectorFourier(), AddDrift(), AddFitFieldCage(), AddLocalXYMisalignment(), AddLocalXYMisalignmentSector(), AddPhiScaling(), AddZShift(), AddZTilting(), and Test().
void AliTPCkalmanFit::AddCovariance | ( | const char * | varName, |
Double_t | sigma | ||
) |
Definition at line 595 of file AliTPCkalmanFit.cxx.
void AliTPCkalmanFit::ApplyCalibration | ( | AliTrackPointArray * | array, |
Double_t | csign | ||
) |
Definition at line 828 of file AliTPCkalmanFit.cxx.
Referenced by DumpTrackLinear(), FitPointsLinear(), QAPointsLinear(), and Test().
Bool_t AliTPCkalmanFit::CheckCovariance | ( | TMatrixD & | covar, |
Float_t | maxEl | ||
) |
Check consistency of covariance matrix
Definition at line 919 of file AliTPCkalmanFit.cxx.
Referenced by UpdateLinear().
|
private |
Bool_t AliTPCkalmanFit::DumpCalib | ( | const char * | mask = 0 , |
Float_t | correlationCut = -1 |
||
) |
Print calibration entries - name, value, error
Definition at line 884 of file AliTPCkalmanFit.cxx.
Referenced by CalibAlignKalman().
Bool_t AliTPCkalmanFit::DumpCorelation | ( | Double_t | threshold, |
const char * | mask0 = 0 , |
||
const char * | mask1 = 0 |
||
) |
Definition at line 851 of file AliTPCkalmanFit.cxx.
void AliTPCkalmanFit::DumpTrackLinear | ( | AliTrackPointArray & | points, |
TTreeSRedirector * | debug | ||
) |
Dump the track parameters before and after current calibration
Track is divided to two parts - X mean is defined as middle point
Definition at line 381 of file AliTPCkalmanFit.cxx.
Referenced by FitPointsLinear(), QAPointsLinear(), and Test().
void AliTPCkalmanFit::FitTrackLinear | ( | AliTrackPointArray & | points, |
TTreeSRedirector * | debug = 0 , |
||
Float_t | scalingRMSY = 1. , |
||
Float_t | scalingRMSZ = 1. |
||
) |
Definition at line 259 of file AliTPCkalmanFit.cxx.
Referenced by FitPointsLinear(), and Test().
Double_t AliTPCkalmanFit::GetTPCDeltaXYZ | ( | Int_t | coord, |
Int_t | volID, | ||
Int_t | icoordsys, | ||
Double_t | x, | ||
Double_t | y, | ||
Double_t | z | ||
) |
function for visualization purposes
coord - coordinate for output
icoordsys - type of coordinate system for input
Definition at line 1089 of file AliTPCkalmanFit.cxx.
Referenced by MakeTreeTrans(), and SGetTPCDeltaXYZ().
Double_t AliTPCkalmanFit::GetTPCtransXYZ | ( | Int_t | coord, |
Int_t | volID, | ||
Int_t | calibID, | ||
Int_t | icoordsys, | ||
Double_t | x, | ||
Double_t | y, | ||
Double_t | z | ||
) |
Definition at line 1149 of file AliTPCkalmanFit.cxx.
Referenced by MakeTreeTrans(), and SGetTPCtransXYZ().
|
inline |
Definition at line 26 of file AliTPCkalmanFit.h.
Referenced by DumpCalib(), and DumpCorelation().
Int_t AliTPCkalmanFit::GetTransformationIndex | ( | const char * | trName | ) |
Definition at line 809 of file AliTPCkalmanFit.cxx.
void AliTPCkalmanFit::Init | ( | ) |
Initialize parameter vector and covariance matrix To be called after initialization of all of the transformations
Definition at line 115 of file AliTPCkalmanFit.cxx.
Referenced by CalibAlignKalmanFit(), SetupFit(), and Test().
void AliTPCkalmanFit::InitTransformation | ( | ) |
Initialize pointers to the transforamtion functions
Definition at line 89 of file AliTPCkalmanFit.cxx.
Referenced by CalibAlignKalman().
|
static |
void AliTPCkalmanFit::MakeTreeTrans | ( | TTreeSRedirector * | debug, |
const char * | treeName = "all" |
||
) |
Make the Tree before and after current calibration
Definition at line 1190 of file AliTPCkalmanFit.cxx.
|
private |
void AliTPCkalmanFit::Propagate | ( | TTreeSRedirector * | debug = 0 | ) |
Propagate the Kalman
Definition at line 590 of file AliTPCkalmanFit.cxx.
void AliTPCkalmanFit::PropagateTime | ( | Int_t | time | ) |
Propagate the calibration in time
Definition at line 612 of file AliTPCkalmanFit.cxx.
Referenced by FitPointsLinear().
|
inline |
Definition at line 77 of file AliTPCkalmanFit.h.
void AliTPCkalmanFit::SetStatus | ( | const char * | name, |
Bool_t | setOn, | ||
Bool_t | isOr = kTRUE |
||
) |
0. To activate all transforamtion call SetStatus(0,kTRUE)
Definition at line 196 of file AliTPCkalmanFit.cxx.
|
static |
Definition at line 1138 of file AliTPCkalmanFit.cxx.
|
static |
Definition at line 1182 of file AliTPCkalmanFit.cxx.
|
static |
Creates the array - points sorted according radius - neccessay for kalman fit
0. choose the frame - rotation angle
Definition at line 725 of file AliTPCkalmanFit.cxx.
Referenced by FitPointsLinear(), and TestScattering().
AliTPCkalmanFit * AliTPCkalmanFit::Test | ( | Int_t | ntracks | ) |
This is test example
< generate random parameters
< backup
Definition at line 964 of file AliTPCkalmanFit.cxx.
void AliTPCkalmanFit::Update | ( | const AliTPCkalmanFit * | kalman | ) |
Update Kalman filter
< X vector
< X covariance
< vector to mesurement
< Innovation or measurement residual
< helper matrix Hk transpose
< Innovation (or residual) covariance
< Optimal Kalman gain
< helper matrix
< helper matrix
Definition at line 221 of file AliTPCkalmanFit.cxx.
Referenced by Add().
void AliTPCkalmanFit::UpdateLinear | ( | AliTrackPoint & | point, |
TTreeSRedirector * | debug = 0 |
||
) |
Update Kalman
< X vector
< X covariance
< vector to mesurement
< Innovation or measurement residual
< Innovation or measurement residual
< helper matrix Hk transpose
< Innovation (or residual) covariance
< Optimal Kalman gain
< helper matrix
< helper matrix
Definition at line 629 of file AliTPCkalmanFit.cxx.
Referenced by FitTrackLinear().
|
private |
! cosine of current angle
Definition at line 81 of file AliTPCkalmanFit.h.
Referenced by DumpTrackLinear(), FitTrackLinear(), and UpdateLinear().
TMatrixD* AliTPCkalmanFit::fCalibCovar |
calibration parameters
Definition at line 64 of file AliTPCkalmanFit.h.
Referenced by AddCovariance(), DumpCalib(), DumpCorelation(), FitTrackLinear(), Init(), PropagateTime(), Test(), and Update().
TMatrixD* AliTPCkalmanFit::fCalibParam |
calibration parameters
Definition at line 63 of file AliTPCkalmanFit.h.
Referenced by DumpTrackLinear(), FitTrackLinear(), Init(), MakeTreeTrans(), Test(), and Update().
TObjArray* AliTPCkalmanFit::fCalibration |
array of calibrations
Definition at line 62 of file AliTPCkalmanFit.h.
Referenced by AddCalibration(), AddCovariance(), ApplyCalibration(), FitTrackLinear(), GetTPCDeltaXYZ(), GetTPCtransXYZ(), GetTransformation(), GetTransformationIndex(), Init(), InitTransformation(), MakeTreeTrans(), PropagateTime(), SetStatus(), Test(), Update(), and UpdateLinear().
|
private |
! current rotation frame
Definition at line 80 of file AliTPCkalmanFit.h.
Referenced by DumpTrackLinear(), and FitTrackLinear().
|
static |
! Instance of this class (singleton implementation)
Definition at line 78 of file AliTPCkalmanFit.h.
Referenced by SetInstance(), SGetTPCDeltaXYZ(), and SGetTPCtransXYZ().
Int_t AliTPCkalmanFit::fLastTimeStamp |
last time stamp - used for propagation of parameters
Definition at line 75 of file AliTPCkalmanFit.h.
Referenced by PropagateTime().
TMatrixD* AliTPCkalmanFit::fLinearCovar |
linear covariance
Definition at line 69 of file AliTPCkalmanFit.h.
Referenced by FitTrackLinear(), and UpdateLinear().
TMatrixD* AliTPCkalmanFit::fLinearParam |
linear parameters
Definition at line 68 of file AliTPCkalmanFit.h.
Referenced by FitTrackLinear(), and UpdateLinear().
THnSparse* AliTPCkalmanFit::fLinearTrackDelta[12] |
linear tracks matching residuals - delta
Definition at line 70 of file AliTPCkalmanFit.h.
Referenced by Add(), DumpQA1D(), DumpTrackLinear(), Init(), MakeFolders(), SelectNonPixelA(), SelectNonPixelC(), and SelectPixel().
THnSparse* AliTPCkalmanFit::fLinearTrackPull[12] |
linear tracks matching residuals - pull
Definition at line 71 of file AliTPCkalmanFit.h.
Referenced by Add(), DumpTrackLinear(), and Init().
|
private |
! sinus of current angle
Definition at line 82 of file AliTPCkalmanFit.h.
Referenced by DumpTrackLinear(), FitTrackLinear(), and UpdateLinear().