Home » PANDA » PandaRoot » Bugs, Fixes, Releases » Bug in GenfitTrack2PndTrack
Re: Bug in GenfitTrack2PndTrack [message #9315 is a reply to message #9299] |
Thu, 03 September 2009 16:51 |
Lia Lavezzi
Messages: 291 Registered: May 2007 Location: Torino
|
first-grade participant |
From: *47-151.net24.it
|
|
Hi,
I think the reason of the strange behaviour for the last point is the following: we have two different results depending on how we retrieve the momentum on the last plane:
(i) the first way is:
gtr->getMom(lastPlane).Print();
(ii) the second one is to calculate the momentum starting from lastState and lastPlane, by:
TVector3 mom_cal = last_spu*lastPlane.getNormal()
+ last_spu*lastState[1][0]*lastPlane.getU()
+ last_spu*lastState[2][0]*lastPlane.getV();
mom_cal.SetMag(1./fabs(lastState[0][0]));
mom_cal.Print();
When doing the conversion Track -> PndTrack, the output PndTrack is constructed starting from lastPlane, lastState and lastCov, so the momentum is equal (exactly equal) to the one calculated in (ii), and not (i).
The difference between the results in (i) and (ii) is that in (i) the momentum on the last plane is obtained starting from the information on the first plane (after the whole Kalman), extrapolating the track to the last one in order to obtain a statePred and calculating the momentum from it; in case (ii) the momentum is calculated, without extrapolation, directly from lastState (the state on last plane which has been saved during the Kalman procedure, before the last backtracking (right?)): these two states are in general different.
I' d like to ask for some opinion about this: wouln' t it be better to fill the last point state or covariance with the value of the track extrapolated to the last plane after the whole Kalman procedure has ended? In this way the momentum calculated in both (i) and (ii) would be the same.
Ciao,
Lia.
|
|
|
Goto Forum:
Current Time: Tue Oct 15 12:25:57 CEST 2024
Total time taken to generate the page: 0.00687 seconds
|