Dear all,

I have quick question related to the size of the array/vector returned by TF1::GetParErrors().

In order to demonstrate what I mean, here is some example code:

[code]from ROOT import *

c1 = TCanvas(“c1”,“c1”,600,400);

# create/fill draw h1

gStyle.SetOptStat(kFALSE);

h1 = TH1F(“h1”,“Superimposing two histograms with different scales”,100,-3,3);

for i in range(0,10000):

h1.Fill(gRandom.Gaus(0,1));

h1.Draw();

h1.Fit(‘gaus’, “Q0”, “ah”, -3, 3)

fit = h1.GetFunction(‘gaus’)

fit.Draw(‘same’)

c1.Update();

print ‘Number of parameter errors’, len(fit.GetParErrors())

errors = fit.GetParErrors()

for i in range(0, 10):

print ‘Error No. %d:’ % i, errors[i]

[/code]

The output of this is:

```
Number of parameter errors 2147483647
Error No. 0: 2.99964769364
Error No. 1: 0.00995766345455
Error No. 2: 0.00722748152275
Error No. 3: 1.63041663128e-322
Error No. 4: 0.0
Error No. 5: 0.0
Error No. 6: 0.0
Error No. 7: 1.63041663128e-322
Error No. 8: 0.0
Error No. 9: 0.0
```

The size of the error vector is therefore unlimited.

Since I am working with different fit functions which I don’t know a priory and would like to store only the relevant errors, is it safe to use:

```
for i in range(0, fit.GetNumberFreeParameters()-1):
print 'Error No. %d:' % i, errors[i]
```

?

To rephrase it: are the free parameters always stored at the beginning of the list with no exceptions?

Cheers,

Luke