|
|
|
Re: GEANE: Propagate to Plane not implemented [message #7414 is a reply to message #7413] |
Wed, 15 October 2008 10:42 |
Lia Lavezzi
Messages: 291 Registered: May 2007 Location: Torino
|
first-grade participant |
From: *pv.infn.it
|
|
Hi Tobias,
I think the cross product is correct, since in the PropagateToPlane(TVector3 &v0, TVector3 &v1, TVector3 &v2) you give as input the three vectors o, u and v.
They will be given to the EUFILP routine, which says to GEANE to "propagate to plane" in the Propagate(CbmTrackParP *TStart, CbmTrackParP *TEnd, Int_t PDG) function (as Mohammad said).
To do this a vector is filled Float_t plo[12], in this way:
TVector3 v1u=v1.Unit();
TVector3 v2u=v2.Unit();
// first vector on plane
plo[0]=v1u.X();
plo[1]=v1u.Y();
plo[2]=v1u.Z();
// second vector on plane
plo[3]=v2u.X();
plo[4]=v2u.Y();
plo[5]=v2u.Z();
// origin of the plane
plo[6]=v0.X();
plo[7]=v0.Y();
plo[8]=v0.Z();
// normal to the plane (the third vector to define the reference system u, v, w)
TVector3 v3=v1u.Cross(v2u);
plo[9]=v3(0);
plo[10]=v3(1);
plo[11]=v3(2);
So what did you exactly change?
Ciao,
Lia.
|
|
|
|
Re: GEANE: Propagate to Plane not implemented [message #7416 is a reply to message #7415] |
Wed, 15 October 2008 12:05 |
Lia Lavezzi
Messages: 291 Registered: May 2007 Location: Torino
|
first-grade participant |
From: *pv.infn.it
|
|
Quote: |
I modified the lines with plo[9] = v0.Dead), plo[10] = v0.Y(), plo[11].v0.Z().
Which is wrong but did not cause any harm, because v0 is orthogonal to v1 and v2.
|
...ok, just pay attention that you need the triplet v0, v1, v2 to be right handed...
Concerning the results you get, if you plot GeaneTrackPar.fX - GeaneTrackFinal.fX is it correct? I mean, is it centered at 0? Is there a problem only on the error calculation or also on the parameter value?
It' s not easy to understand what happens without looking at to code ... is your code in the svn repository? Can I have a look at (and maybe try to run) it, please?
Ciao,
Lia.
|
|
|
|
|
|
|