Home » PANDA » PandaRoot » Tracking » Conversion of track parameters
|
Re: Conversion of track parameters [message #8971 is a reply to message #8970] |
Mon, 13 July 2009 12:20 |
Anonymous Poster
|
|
From: *pool.einsundeins.de
|
|
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
|
|
|
Re: Conversion of track parameters [message #8973 is a reply to message #8971] |
Mon, 13 July 2009 13:33 |
StefanoSpataro
Messages: 2736 Registered: June 2005 Location: Torino
|
first-grade participant |
From: *to.infn.it
|
|
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.
[Updated on: Mon, 13 July 2009 13:34] Report message to a moderator
|
|
|
|
Re: Conversion of track parameters [message #8975 is a reply to message #8974] |
Mon, 13 July 2009 14:33 |
StefanoSpataro
Messages: 2736 Registered: June 2005 Location: Torino
|
first-grade participant |
From: *to.infn.it
|
|
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.
|
|
|
|
Re: Conversion of track parameters [message #8977 is a reply to message #8976] |
Tue, 14 July 2009 09:55 |
StefanoSpataro
Messages: 2736 Registered: June 2005 Location: Torino
|
first-grade participant |
From: *to.infn.it
|
|
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
|
|
|
Re: Conversion of track parameters [message #8978 is a reply to message #8977] |
Tue, 14 July 2009 10:57 |
Anonymous Poster
|
|
From: *e18.physik.tu-muenchen.de
|
|
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
|
|
|
|
|
|
Re: Conversion of track parameters [message #8987 is a reply to message #8984] |
Wed, 15 July 2009 16:42 |
Lia Lavezzi
Messages: 291 Registered: May 2007 Location: Torino
|
first-grade participant |
From: *47-151.net24.it
|
|
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.
|
|
|
Goto Forum:
Current Time: Wed Dec 04 13:15:18 CET 2024
Total time taken to generate the page: 0.00864 seconds
|