Track parametrization for forward tracking

 
Good track parametrization is important.
==============================

In Sti & Stv  track represented: X,Y,Z,Psi,Ptin,TanL

It is good for eta about 1 and bad for bigger eta.
Why? 

  1. Too big tan(lambda)

 
TanL (Eta)
Eta tanL  
0 0  
1 1.1  
3 10  
5 74  
10 10000  

2. Unstable Psi
The same story for Psi. Near track direction along Z axis Psi is very unstable.
Direction along Z axis is a singularity. A linearisation near singularity works badly,
but any Fit is based on linearity.

3. Too big 1./Pt
 For forward tracking 1./Pt is also near singularity and tends to infinity.

4. Parametrisation is  extremely inconvenient in the cases where magnetic  field is not along Z axis and is not constant.


After few unsuccessful attempts I found the GOOD parametrization.

Looking at RungeKutta algorithm I found the parametrization which is used there:

X,Y,Z,Dx,Dy,Dz,Pinv
Where Dx,Dy,Dz direct cosines of the track
Pinv : -q/Ptot

These parameters have no singularities at all.
They are convenient for arbitrary magnetic field

Now what was done and what is still needed to do

1. THelixTrack which is used in Sti & Stv has the same problems.
    New class THelix3d was developed and tested,  which is working for arbitrary but constant magnetic field

1.1 .Matrix of derivatives  class THDer3d_t( for THelix3d)  was developed and tested.
1.2 Error matrix class THEmx3d_t ( for THelix3d)  was developed and tested.

2. TRungeKutta class, for arbitrary magnetic field,  was implemented (code of grkuta in Geant3), and  tested

2.1. THDer3d_t class was applied for TRungeKutta  derivatives and tested

2.2. THEmx3d_t class was applied for TRungeKutta  errors and tested



3 StvUtil library was redeveloped for new parametrization;

3.1 Old parametrization was replaced by the new one;
3.2 THDer3d_t derivative matrix was applied for Stv track derivatives and tested
3.3 THEmx3d_t error matrix was applied for Stv track errors and tested
3.4 Stv converter to radial parameters & errors (StvRadial) representation, used in StEvent was redesigned for
     new Stv parameters & error representation
3.5 Derivatives for StvRadial were tested
3.6 Errors for StvRadial were tested



3.7  Stv converter to impact  parameters & errors representation (StvImpact), used in StEvent was
      redesigned for new Stv parameters & error representation.
3.8 StvImpact derivatives  were tested. Test failed yet.

3.6 StvTrack error propagation implemented but not tested yet


When StvUtil will be finished (few days), then full Stv will be recompiled with new StvUtil and modified.
This job will be easier, because all mathematical tests already (almost) done

Examples of testing StvRadial errors