Re: [ROOT] Axis_t = Float and Fitting trouble

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Jun 15 2000 - 18:01:00 MEST


Hi Gerco,
Your mail comes at the right time.
The version that we are about to release includes several changes relative
to precision in many Root classes. In particular the histogramming package
uses double precision. The following classes have their internals changed:
TAxis, TH1, TH2, TH3, TGaxis, TGraph, TLego, just to name a few.

This change should be backward compatible. One can still read the old files.
The constructors like TH1F, etc, have their arguments in double precision.
This also should be backward compatible.
There are a few places where pointers to arrays are used (variable bin size
histograms). In this case, we provide two functions with float* and double*.

I have tested the system with all the cases reported to me with precision
and they all work.

With the new version (we will put more info in the release notes), you will have
to be careful if you inherit from one of the modified Root classes.


I will investigate your second problem with fitting and I will let you know.

Rene Brun

erco Onderwater wrote:
> 
> Hi Rooters,
> 
> I found two troubling things using version 2.23/12 of root.
> 
> First, it turns out that Axis_t happens to be a float. For a precision
> experiment such as we are involved in (Muon (g-2) at BNL), float
> precission is not sufficient. We intend to measure a modulation frequency
> down to 0.35 parts-per-million over approximately 1.4ms and obviously need
> an accuracy (much) better than 0.35ppm on the bin boundaries. I find a
> typical (relative) precision of 6e-8 (see attached ps-file), which is
> small, but not conveniently so. I realise that changing the axis-type will
> create backwards-compatibility problems, but would still like to urge you
> to change this type to a double-precision float (why did you guys start
> with something inferior in the first place ????).
> 
> Second, it turns out that it is impossible to fit the spectrum in the
> attached file "demo.root" to a pol4 (fitting option "W"; the errors are
> not really errors). The problem is not so much that the fit fails (tough
> problem), but more that Minuit says that the minimization has converged:
> 
> root [3] fscan->Fit("pol4","W")
>  FCN=0.0517549 FROM MIGRAD    STATUS=CONVERGED     264 CALLS         265
> TOTAL
>                      EDM=3.83883e-08    STRATEGY= 1      ERROR MATRIX
> ACCURATE
>   EXT PARAMETER                                   STEP         FIRST
>   NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE
>    1  p0           3.49545e+01   1.40721e-01   2.48411e-04   1.96904e-03
>    2  p1          -3.60430e+04   1.41421e+00   5.25577e-01   5.33101e-12
>    3  p2          -7.66045e+07   1.41421e+00   3.65279e+01  -4.35899e-10
>    4  p3          -1.97077e+04   1.41421e+00   2.90048e+00  -4.10165e-13
>    5  p4           2.54398e-12   1.41421e+00   7.66554e+05  -3.02779e-16
> 
> Clearly, the fit is beyond lousy. Is the problem simply that I gave Minuit
> a problem that is too difficult, or is there something wrong with it?
> 
> Greetings,
> 
> -- Gerco
> 
> Dr. C.J.G. Onderwater
> Nuclear Physics Laboratory
> 312 Loomis Laboratory of Physics
> University of Illinois at Urbana-Champaign
> 1110 West Green Street
> Urbana, IL 61801-3080
> Phone : (217) 244-7363
> Fax   : (217) 333-1215
> E-mail: onderwat@uiuc.edu
> 
>   --------------------------------------------------------------------------------
> 
>                      Name: accuracy.ps
>    accuracy.ps       Type: Postscript Document (APPLICATION/POSTSCRIPT)
>                  Encoding: BASE64
> 
>                    Name: demo.root
>    demo.root       Type: unspecified type (APPLICATION/OCTET-STREAM)
>                Encoding: BASE64



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:27 MET