GSI Forum - RDF feed
type: channel
description: GSI Helmholtzzentrum für Schwerionenforschung
items: Conversion of track parameters
items: Re: Conversion of track parameters

Conversion of track parameters
type: item
description: Hello, let's assume that I have one track represented by a parabula (FairTrackParP), and I want to convert it into a helix (FairTrackParH). What should I do exactly? I have seen there is a class FairGeaneUtil doing conversions, but it is not using FairTrackPar objects, and for me SC SD Pt MARS are just ununderstandable acronyms. Is there some function doing the covnersion in a simple way?
creator: StefanoSpataro
date: 2009-07-13T09:54:19-00:00

Re: Conversion of track parameters
type: item
description: Hi, dont know if it will help a lot, but it's a start: SC = FairTrackParH SD = FairTrackParP MARS = master reference system \vec{x} & \vec{p} The names parabola and helix are questionable and you can ignore them for any practical purposes. What the real difference between SD and SC is, that SD cones from a fixed geometrical plane (the D stands for detector), whereas SC is defined in a plane perpendicular to the track. Cheers, Christian
date: 2009-07-13T10:20:48-00:00

Re: Conversion of track parameters
type: item
description: Thanks, even if those functions do not solve my problem. I have decided to use the following constructor, which should do the job: FairTrackParP *parabula.... FairTrackParH *helix = new FairTrackParH(TVector3(parabula->GetX(), parabula->GetY(), parabula->GetZ()), TVector3(parabula->GetPx(), parabula->GetPy(), parabula->GetPz()), TVector3(parabula->GetDX(), parabula->GetDY(), parabula->GetDZ()), TVector3(parabula->GetDPx(), parabula->GetDPy(), parabula->GetDPz()), parabula->GetQ()); which is not so... stylish, bit it should work. Maybe one should implement a constructor from a generic FairTrackPar, such as: FairTrackParP::FairTrackParP(const FairTrackPar* xxx); FairTrackParH::FairTrackParH(const FairTrackPar* xxx); to have something easier to write.
creator: StefanoSpataro
date: 2009-07-13T11:33:37-00:00

Re: Conversion of track parameters
type: item
description: Hi, well you lose all correlations that way... So it is not just an elegance issue... Christian
date: 2009-07-13T12:06:21-00:00

Re: Conversion of track parameters
type: item
description: Ok, I lose error correlation, but for me the function: FairGeaneutile::FromSCToSD(Double_t PC[3], Double_t RC[15], Double_t H[3], Double_t CH, Double_t DJ[3], Double_t DK[3], Int_t &IERR, Double_t &SPU, Double_t* PD, Double_t* RD); is almost impossible to understand and to use. We need a function which moves easily from FairTrackParP to FairtrackParH and vice versa. I supposed it was already imp,emented, but it seems not yet. Could this kind of function be implemented? I think it should be not so difficult, at least for somebody who knows what those variables mean and how to use them.
creator: StefanoSpataro
date: 2009-07-13T12:33:49-00:00

Re: Conversion of track parameters
type: item
description: Dear Stefano, I wrote the routines that change references. The systems are defined in: http://www.pv.infn.it/~rotondi/tracking.pdf and explained in the routine comments. If you want to avoid the direct use of these, I will think about with Lia and we will try to solve. As a last remarks, remember that the helix and parabola labels are meaningless: the tracking is always made by using helix pieces! The SC system is the transverse system, with momentum perp to the reference plane (is called helix); the SD system has the reference plane coincident with that of the detector (it is called for misterious reasons parabola) best regards Alberto
creator: Alberto Rotondi
date: 2009-07-13T14:01:23-00:00

Re: Conversion of track parameters
type: item
description: Thanks, the mathematics is clear, but I think a direct implementation inside the classes could avoid the developer doing wrong assignments (such as, in the previous case, diagonalize the covariance matrix). About the labels, I am just trying to do track extrapolation based on helix assumption, without geane (faster). Therefore I need the helix parameters, such as lambda, phi, etc etc. The track parameters are stored inside the PndTrack as FairTrackParP, and the conversion between these two parametrizations is missing. regards
creator: StefanoSpataro
date: 2009-07-14T07:55:27-00:00

Re: Conversion of track parameters
type: item
description: Hi, so, I guess the real question here is: Who can provide a proper set of constructors for the FairTrackParams? I cant do it. Who can? Cheers, Christian
date: 2009-07-14T08:57:02-00:00

Re: Conversion of track parameters
type: item
description: Hi all, I can create two new constructors to make the conversion from parabola to helix (and reverse), i.e.: FairTrackParP(FairTrackParH *helix) and FairTrackParH(FairTrackParP *parab) If it is ok, I can do it! Ciao, Lia.
creator: Lia Lavezzi
date: 2009-07-14T12:03:40-00:00

Re: Conversion of track parameters
type: item
description: That would be nice!
creator: StefanoSpataro
date: 2009-07-14T12:23:18-00:00

Re: Conversion of track parameters
type: item
description: By the way, the conversion is very important, even because inside PndTrack the track parametrization is using FairTrackParP, while in Fairgeanepro the propagation to volume is not implemented using FairTrackParP but only with FairTrackParH. This means that in order to propagate one track to volume one has to convert the param from P to H and I think this is not so nice.
creator: StefanoSpataro
date: 2009-07-14T13:10:52-00:00

Re: Conversion of track parameters
type: item
description: Hi, after testing the changes I uploaded to svn the new versions of the FairTrackPar* classes. 1) In FairTrackParP/H, there are two new constructors: FairTrackParP(FairTrackParH *helix, TVector3 dj, TVector3 dk, Int_t &ierr) and FairTrackParH(FairTrackParP *parab, Int_t &ierr) which allow the user to create a parabola from an helix, by setting also the unit vector which span the plane, (and an helix from a parabola) without directly calling FairGeaneUtil functions. The transformation is not always possible, the problematic cases are flagged in FairGeaneUtil by the IERR flag, so I kept it also here and I printed an error message. 2) In FairTrackPar, Stefano, I added your two functions to easily get momentum and position in MARS (master reference system) as a 3-vector. Obviously if you find that something does not work as it should, please tell me! Ciao, Lia.
creator: Lia Lavezzi
date: 2009-07-15T14:42:04-00:00