AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliTPCkalmanFit Class Reference

#include <AliTPCkalmanFit.h>

Inheritance diagram for AliTPCkalmanFit:

Public Member Functions

 AliTPCkalmanFit ()
 
void Init ()
 
void InitTransformation ()
 
void Add (const AliTPCkalmanFit *kalman)
 
void AddCalibration (AliTPCTransformation *calib)
 
AliTPCTransformationGetTransformation (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")
 
AliTPCkalmanFitTest (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

TObjArrayfCalibration
 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 AliTPCkalmanFitfgInstance = 0
 ! Instance of this class (singleton implementation) More...
 

Private Member Functions

AliTPCkalmanFitoperator= (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...
 

Detailed Description

AliTPCkalmanFit:

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)

  1. Primary vertex fitting.
  2. Propagation in magnetic field and fit of planes

How to use it - see AliTPCkalmanFit::Test function

Simple test (see AliTPCkalmanFit::Test)

TFile f("kalmanfitTest.root");

Transformation visualization: Transforamtion can be visualized using TFn (TF1,TF2 ...) and using tree->Draw()

kalmanFit0->SetInstance(kalmanFit0);
kalmanFit0->InitTransformation();
TF2 fxRZdz("fxRZdz","sign(y)*1000*(AliTPCkalmanFit::SGetTPCDeltaXYZ(0,-1,0,x,0,y)-AliTPCkalmanFit::SGetTPCDeltaXYZ(0,-1,0,x,0,y-1))",85,245,-250,250);
fxRZdz->Draw("");
TF2 fxRZ("fxRZ","sign(y)*10*(AliTPCkalmanFit::SGetTPCDeltaXYZ(0,-1,x,0,y))",85,245,-250,250);
fxRZ->Draw("");
Author
Marian Ivanov maria.nosp@m.n.iv.nosp@m.anov@.nosp@m.cern.nosp@m..ch

Definition at line 18 of file AliTPCkalmanFit.h.

Constructor & Destructor Documentation

AliTPCkalmanFit::AliTPCkalmanFit ( )

Default constructor

Definition at line 69 of file AliTPCkalmanFit.cxx.

Referenced by Test().

AliTPCkalmanFit::AliTPCkalmanFit ( const AliTPCkalmanFit )
inlineprivate

Definition at line 84 of file AliTPCkalmanFit.h.

Member Function Documentation

void AliTPCkalmanFit::Add ( const AliTPCkalmanFit kalman)

Definition at line 99 of file AliTPCkalmanFit.cxx.

Referenced by MakeFolders().

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

  • symetrize coavariance matrix

Definition at line 919 of file AliTPCkalmanFit.cxx.

Referenced by UpdateLinear().

AliTPCkalmanFit::ClassDef ( AliTPCkalmanFit  ,
 
)
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

  • 0 -X 1 -Y 2 -Z 3 -R 4 -RPhi 5 -Z

icoordsys - type of coordinate system for input

  • 0 - x,y,z
  • 1 - r,phi,z

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

AliTPCTransformation* AliTPCkalmanFit::GetTransformation ( Int_t  i)
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().

AliTrackPointArray * AliTPCkalmanFit::MakePointArrayLinear ( Double_t  alpha,
Double_t  y0,
Double_t  z0,
Double_t  ky,
Double_t  kz,
Double_t  err = 0.02 
)
static

< dummy covariance

Definition at line 757 of file AliTPCkalmanFit.cxx.

Referenced by Test().

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.

AliTPCkalmanFit& AliTPCkalmanFit::operator= ( const AliTPCkalmanFit )
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

  • Increase covariance matrix

Definition at line 612 of file AliTPCkalmanFit.cxx.

Referenced by FitPointsLinear().

void AliTPCkalmanFit::SetInstance ( AliTPCkalmanFit param)
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)

  1. To disable everything SetStatus(0,kFALSE)
  2. To activate/desactivate SetStatus("xxx",kTRUE/kFALSE,kFALSE)

Definition at line 196 of file AliTPCkalmanFit.cxx.

Double_t AliTPCkalmanFit::SGetTPCDeltaXYZ ( Int_t  coord,
Int_t  volID,
Int_t  icoordsys,
Double_t  x,
Double_t  y,
Double_t  z 
)
static

Definition at line 1138 of file AliTPCkalmanFit.cxx.

Double_t AliTPCkalmanFit::SGetTPCtransXYZ ( Int_t  coord,
Int_t  volID,
Int_t  calibID,
Int_t  icoordsys,
Double_t  x,
Double_t  y,
Double_t  z 
)
static

Definition at line 1182 of file AliTPCkalmanFit.cxx.

AliTrackPointArray * AliTPCkalmanFit::SortPoints ( AliTrackPointArray &  points)
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().

Member Data Documentation

Double_t AliTPCkalmanFit::fCA
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().

Double_t AliTPCkalmanFit::fCurrentAlpha
private

! current rotation frame

Definition at line 80 of file AliTPCkalmanFit.h.

Referenced by DumpTrackLinear(), and FitTrackLinear().

AliTPCkalmanFit * AliTPCkalmanFit::fgInstance = 0
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().

Double_t AliTPCkalmanFit::fSA
private

! sinus of current angle

Definition at line 82 of file AliTPCkalmanFit.h.

Referenced by DumpTrackLinear(), FitTrackLinear(), and UpdateLinear().


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