We are currently doing a series of experiments and I noted that I was getting different results for my calculations on my laptop (running Windows XP and using the standard Windows binaries version 5.24/00) compared to the same calculations using exactly the same datafiles and scripts on my home linux system using Root version 5.25/02 built from source (the results generated under Windows are in line with expectations while the results generated under linux appear wildly out of line).
I have tracked the problem down to a script which calls a fit (on my 5.24/00 system the fit uses minuit).
Is there some substantial difference in the way in a fit function should be called between 5.24/00 and 5.25/02?
Is there any known difficult in compiling 5.25/02 under Ubuntu 9.10 (specifically affecting minuit)?
I compiled version 5.25/02 under Ubuntu 9.10 on 31 October and it all seemed to work perfectly and I have been using it without any noticable problems until this fit function problem occurred during our current experiment run.
Anything else I should look for to diagnose what I might be doing wrong?
I apologise that I don’t have the full details of my 5.25/02 build with me but I am currently at my lab nursing an experiment and the linux system is at my home.
Hello,
there should not be difference between 5.25.02 and 5.24.
I would need more information on how the fit is performed and how is called to understand this problem
Best Regards
I have attached the smallest set of files that can reproduce the problem. I apologise for the inelegance of the script. I am sending the full script so that you have a set in which I know the problem occurs. Unfortunately if any of the attached files are left out the script will crash without generating the problem.
The fit is called at line 333 of Heliofinal.C
When I run the script under 5.24/00 on Windows (standard Windows binaries) I get the following result
Thank you for the files. I could reproduce the problem. It is due to a change in the TGraph::Eval function (root.cern.ch/viewvc?view=rev&revision=29722 ).
Are your points in the graph sorted or not ?
I have found the bug in the TGraph::Eval and I have a fix I will commit soon in the ROOT trunk. The problem appears when you call TGraph::Eval(x) exactly at the graph points. In your fitting function you could avoid this either by shifting a bit the x evaluation or by calling directly
TGraph::GetY or TGraph::GetPoint.
Just to confirm that rebuilding from the trunk (SVN 31942) resolved my issue.
I apologise for the delay in confirmation - I had some other issues related to my home internet connection that I had resolve before I could access the trunk and recompile.
Thank you again for your help in resolving this issue.