Re: [ROOT] TF1 and errors

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Jun 05 2003 - 21:16:13 MEST


Hi Michael,

On Thu, 5 Jun 2003, Michael Wiesmann wrote:

> Dear Rooters!
> 
> I have fitted a TH2F with a TF2 function (14 parameters). Now I want
> to calculate the value in a bin(cell) (btw, why are there functions
> TF2::SetCellContent(),TF2::SetBinContent(), which absolutely do the
> same?) with resulting error from the fit, including covariances.

SetCellContent accepts 2 arguments: bins in x and y. SetBinContent
accepts a "global bin" argument. The first one may be more user friendly,
the second more efficient.

> 
> I found a function TF1::Eval(x,y,z,t) which gives a value, but I could
> not find something connected to errors. (btw, what is "t")

TF1::Eval is defined in TF1 and has a signature valid up to 4 dimensions.
Currently only TF1,2,3 functions are implemented. A TF4 could also
be implemented.

> 
> In the digest from Wed Dec 04 2002 - 22:32:43 MET I found a way to get
> the cov matrix. via TMinuit::mnemat(..), thus with the knowledge of
> the Hesse matrix at this cell one should be able to compute an error
> (unoftunately neither TMinuit::mnhess() nor TMinut::mnhes1() do not
> have any return value) ...

The doc of TMinuit::mnemat says:

void TMinuit::mnemat(Double_t *emat, Int_t ndim)
{
// Calculates the external error matrix from the internal matrix
//
// Note that if the matrix is declared like Double_t matrix[5][5]
// in the calling program, one has to call mnemat with, eg
//     gMinuit->mnemat(&matrix[0][0],5);

All TMinuit members are public. You can access arrays like fDgrd, fGrd, 
fX, etc after calling mnhess or mnhes1.

> 
> 
> Does anybody have an example how to do this?

not me, but may be somebody has.

Rene Brun

> 
> 
> Thanks a lot,
> 
> Michael
> 



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET