Home » PANDA » PandaRoot » Tracking » geane propagation: floating point exception
geane propagation: floating point exception [message #5130] |
Mon, 01 October 2007 16:02 |
Sebastian Neubert
Messages: 282 Registered: March 2006 Location: Munich
|
first-grade participant |
From: *e18.physik.tu-muenchen.de
|
|
Hi!
If I run the demo and try to use geane with the kalman filter I get the following error. Somehow a 0 momentum is appearing. It appears to me to be inside CbmGeanePro, since in geaneTrackRep the values look alright. I am not sure where the bug is.
Could anyone try to reproduce this, please!
*** S/R ERPROP IERR = 2
*** Error in subr. TRPROP 2 called bysubr. ERPROP
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread -1235680064 (LWP 3919)]
0xb35f5757 in CbmTrackParP::SetTrackPar (this=0xbfbb1210, X=-34.426101684570312, Y=-99.556777954101562,
Z=-54.186264038085938, Px=-0, Py=0, Pz=-0, Q=-1, CovMatrix=0xbfbb0af0, o=<incomplete type>,
dj=<incomplete type>, dk=<incomplete type>)
at /afs/e18/user/sneubert/scratch/PANDA/FAIRRoot/pandarootDev/trackbase/CbmTrackParP.cxx:246
246 fQp = fq/P;
Cheers! Sebastian.
Sebastian Neubert
Technische Universität München
Department Physik E18
sneubert@e18.physik.tu-muenchen.de
tel: +49-8928912592
|
|
|
|
|
|
|
|
|
|
|
|
Re: geane propagation: floating point exception [message #5160 is a reply to message #5130] |
Thu, 04 October 2007 17:06 |
Andrea Fontana
Messages: 32 Registered: May 2007
|
continuous participant |
From: *pv.infn.it
|
|
Hi Sebastian,
we are writing with an update on our progress with genfit.
First of all, the error of 0 momentum was due to a series of
reasons:
1) the PDG code of the track was hardwired to 211 (pion)
in GeaneTrackRep and in the macros we have 13 (muon).
2) the simulated momentum of 0.5 is too low. By increasing it
to 1.5 it works. We know that we need to track also slow
particles, but this will come...
3) finally we have protected the CbmTrackParP class by rejecting
the tracks with 0 momentum that are now skipped. This has been
commited to the svn repository.
Moreover, to generalize the use of the detector planes and
to make them independent from the particle direction (in
the demo they were orthogonal to z) we have modified the
DemoRecoHit class. We have created a new class DemoRecoHit
which we invite you to look at (it is in the attachment as I
cannot commit to recotasks/demo): here we defined a plane
at each hit with the correct orientation orthogonal to the
track momentum.
This is now general and can be used also with an isotropic
generator: for brevity we have done it only in the third
constructor DemoRecoHit(CbmMCPoint *point).
Having fixed this, we are now extrapolating muons of 1.5 GeV
in the TPC isotropically generated. The Kalman filter seems
to be working, but it fails on some tracks. If we shoot along
one axis (take X, to cross the TPC) the result is much better
and we are now trying to understand this.
We attach the plots of the reconstructed total momentum:
in the file X.ps we shoot along X, in Isotropic.ps isotropically.
Other thoughts in our minds:
- is there a way to reject one hit in the extrapolation/filtering
if something goes wrong? We have seen the statusFlag in
AbsTrackRep. Maybe we could also modify all the extrapolate
methods to return a bool that can be used to decide.
- We had to comment the call to FillGeotrack in DemoKalmanTask.
What is it used for?
For now this is all. Anyway we are very happy!!!
Ciao,
Andrea and Lia
-
Attachment: X.ps
(Size: 10.85KB, Downloaded 427 times)
-
Attachment: Isotropic.ps
(Size: 11.78KB, Downloaded 461 times)
-
Attachment: DemoRecoHit.cxx
(Size: 3.65KB, Downloaded 446 times)
|
|
|
|
Re: geane propagation [message #5688 is a reply to message #5194] |
Wed, 23 January 2008 16:03 |
Sebastian Neubert
Messages: 282 Registered: March 2006 Location: Munich
|
first-grade participant |
From: *e18.physik.tu-muenchen.de
|
|
Here is the gdb output of runDemo with geane:
x44e6b766 in CbmTrackParP (this=0xbffdb920, v=0, w=0, Tv=0, Tw=0, qp=0, CovMatrix=0xbffdbba0, o=
{<TObject> = {_vptr.TObject = 0x42ae5e68, fUniqueID = 0, fBits = 33554432, static fgDtorOnly = 0, static fgObjectStat = false, static fgIsA = 0x826e028}, fX =0, fY = 0, fZ = 18.817180633544922, static fgIsA = 0x9d77b60}, dj=
{<TObject> = {_vptr.TObject = 0x42ae5e68, fUniqueID = 0, fBits = 33554432, static fgDtorOnly = 0, static fgObjectStat = false, static fgIsA = 0x826e028}, fX =1, fY = 0, fZ = 0, static fgIsA = 0x9d77b60}, dk=
{<TObject> = {_vptr.TObject = 0x42ae5e68, fUniqueID = 0, fBits = 33554432, static fgDtorOnly = 0, static fgObjectStat = false, static fgIsA = 0x826e028}, fX =0, fY = 1, fZ = 0, static fgIsA = 0x9d77b60}) at /afs/e18/user/sneubert/scratch/PANDA/FAIRRoot/pandarootDev/trackbase/CbmTrackParP.cxx:45
#1 0x44ecd1f9 in GeaneTrackRep::extrapolate (this=0xa5ae158, pl=@0xbffdcb80, statePred=@0xbffdce00, covPred=@0xbffdcd00, jacobian=@0xbffdcc00)
at /afs/e18/user/sneubert/scratch/PANDA/FAIRRoot/pandarootDev/trackrep/GeaneTrackRep.cxx:151
#2 0x44ecda3d in GeaneTrackRep::predict (this=0xa5ae158, pl=@0xbffdcb80, statePred=@0xbffdce00, covPred=@0xbffdcd00, jacobian=@0xbffdcc00)
at /afs/e18/user/sneubert/scratch/PANDA/FAIRRoot/pandarootDev/trackrep/GeaneTrackRep.cxx:233
#3 0x44e0cf32 in Kalman::processHit (this=0xbffdd020, hit=0xa5af740, rep=0xa5ae158, hitIndex=1)
at /afs/e18/user/sneubert/scratch/PANDA/FAIRRoot/pandarootDev/genfit/Kalman.cxx:165
#4 0x44e0c72c in Kalman::continueTrack (this=0xbffdd020, trk=0xa5adc50) at /afs/e18/user/sneubert/scratch/PANDA/FAIRRoot/pandarootDev/genfit/Kalman.cxx:70
#5 0x44e0c62b in Kalman::processTrack (this=0xbffdd020, trk=0xa5adc50) at /afs/e18/user/sneubert/scratch/PANDA/FAIRRoot/pandarootDev/genfit/Kalman.cxx:45
#6 0x454d01e2 in DemoKalmanTask::Exec (this=0x9d5ae10, opt=0x44ceba20 "")
Sebastian Neubert
Technische Universität München
Department Physik E18
sneubert@e18.physik.tu-muenchen.de
tel: +49-8928912592
|
|
|
|
Re: geane propagation [message #5690 is a reply to message #5689] |
Wed, 23 January 2008 16:39 |
Sebastian Neubert
Messages: 282 Registered: March 2006 Location: Munich
|
first-grade participant |
From: *e18.physik.tu-muenchen.de
|
|
Ok now was too intimidated
Looking closer I see that indeed there happens an error in GEANE somehow and then I get out a zero state.
The intialization seems to work. There are valid(?) parameters fed to Geane.
Andrea could you check this:
(qp=-2 Dqp=0.1834
TV=0.8391 DTV=0.1526
TW=-0.001362 DTW=0.02911
V=0 DV=0.8391
W=0 DW=1)
Cardinal Rep before Fit
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AbsTrackRep::Parameters at reference plane DetPlane: O(0.001,0.001,0.001) u(1,0,0) v(0,1,0)
AbsTrackRep::State
5x1 matrix is as follows
| 0 |
------------------
0 | -2
1 | 0.8391
2 | -0.001362
3 | 0
4 | 0
AbsTrackRep::Covariances
5x5 matrix is as follows
| 0 | 1 | 2 | 3 | 4 |
----------------------------------------------------------------------
0 | 0.03364 -0.003742 2.434e-05 0 0
1 | -0.003742 0.0233 -1.789e-05 1.788e-05 -2.902e-08
2 | 2.434e-05 -1.789e-05 0.0008471 0.01102 -1.788e-05
3 | 0 1.788e-05 0.01102 0.7041 -0.001142
4 | 0 -2.902e-08 -1.788e-05 -0.001142 1
AbsTrackRep::chi^2
0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Before prop:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AbsTrackRep::Parameters at reference plane DetPlane: O(0.001,0.001,0.001) u(1,0,0) v(0,1,0)
AbsTrackRep::State
5x1 matrix is as follows
| 0 |
------------------
0 | -2
1 | 0.8391
2 | -0.001362
3 | 0
4 | 0
AbsTrackRep::Covariances
5x5 matrix is as follows
| 0 | 1 | 2 | 3 | 4 |
----------------------------------------------------------------------
0 | 0.03364 -0.003742 2.434e-05 0 0
1 | -0.003742 0.0233 -1.789e-05 1.788e-05 -2.902e-08
2 | 2.434e-05 -1.789e-05 0.0008471 0.01102 -1.788e-05
3 | 0 1.788e-05 0.01102 0.7041 -0.001142
4 | 0 -2.902e-08 -1.788e-05 -0.001142 1
AbsTrackRep::chi^2
0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
qp=-2 Dqp=0.1834
TV=0.8391 DTV=0.1526
TW=-0.001362 DTW=0.02911
V=0 DV=0.8391
W=0 DW=1
*** S/R ERPROP IERR = 2
*** Error in subr. TRPROP 2 called bysubr. ERPROP
After prop:
5x1 matrix is as follows
| 0 |
------------------
0 | 0
1 | 0
2 | 0
3 | 0
4 | 0
Sebastian Neubert
Technische Universität München
Department Physik E18
sneubert@e18.physik.tu-muenchen.de
tel: +49-8928912592
[Updated on: Wed, 23 January 2008 16:45] Report message to a moderator
|
|
|
|
|
|
Re: geane propagation: floating point exception [message #6009 is a reply to message #5130] |
Thu, 06 March 2008 20:11 |
Sebastian Neubert
Messages: 282 Registered: March 2006 Location: Munich
|
first-grade participant |
From: 140.181.9*
|
|
Hi!
After a day of debugging I made some progress with GeaneTrackRep. I found out that I need to use the so called "spu" option to specify the directiion of the particle momentum. The issue is a known problem to me, but the effects that happen when you miss something there were very hard to understand.
Please, Geane-Developers: Go ahead and make your code a little bit more robust and take a look at what I am struggeling to do in GeaneTrackRep.
Best Regards, Sebastian.
Sebastian Neubert
Technische Universität München
Department Physik E18
sneubert@e18.physik.tu-muenchen.de
tel: +49-8928912592
|
|
|
Goto Forum:
Current Time: Mon Nov 25 11:09:28 CET 2024
Total time taken to generate the page: 0.00738 seconds
|