[ROOT] gMinuit->mnemat problem

From: Avdhesh Chandra (avdhesh@fnal.gov)
Date: Thu Jul 04 2002 - 23:04:20 MEST


 Hi,
     I am trying to get covariance matrix of the errors. I have a fit
function which gives two paramertes, part of the code looks like 

 ---------------------------------------------------
   TF1 *func_1 = new TF1("fitf",fitf,0.0,6.28,2);
  //Sets initial values and parameter names
  func_1->SetParameters(0.02,1.0);
  func_1->SetParNames("Constant","Offset");
  Dca_phi_1->Fit("fitf");

  TMatrixD A01(1,2); TMatrixD A02(2,2);  TMatrixD A03(2,1); 
  TMatrixD A11(1,2); TMatrixD A12(2,2);  TMatrixD A13(2,1); 
  TMatrixD B01(2,1); TMatrixD C01(1,1);
  TMatrixD B11(2,1); TMatrixD C11(1,1);

  gMinuit->mnemat(A02,2); 
  gMinuit->mnemat(A12,2); 
  double par10 = func_1->GetParameter("Constant") ;
  double par11 = func_1->GetParameter("Offset") ;
  double err_par10 = func_1->GetParError(0) ;
  double err_par11 = func_1->GetParError(1) ;
 -------------------------------------------------------


 it gives me following **ERROR** after running the code.



--------------------------------------------------------------------------
  FCN=140.116 FROM MIGRAD    STATUS=CONVERGED      48 CALLS          49
TOTAL
                     EDM=1.65745e-17    STRATEGY= 1      ERROR MATRIX
ACCURATE 
  EXT PARAMETER                                   STEP         FIRST   
  NO.   NAME      VALUE            ERROR          SIZE      DERIVATIVE 
   1  Constant     1.68390e-02   3.55273e-04   2.06067e-06   3.44811e-08
   2  Offset       1.25291e+00   2.29010e-02   1.32831e-04  -2.51413e-07
Error: Can't call TMinuit::mnemat(A02,2) in current scope
FILE:/prj_root/837/ckm_1/avdhesh/beam_width/1ros/test.C LINE:198
Possible candidates are...
filename       line:size busy function type and name  (in TMinuit)
(compiled)        0:0    0 public: virtual void mnemat(Double_t*
emat,Int_t ndim);
filename       line:size busy function type and name  (in TNamed)
filename       line:size busy function type and name  (in TObject)
*** Interpreter error recovered ***
-------------------------------------------------------------------

 I am not under standing why it is not working.
  
 
  one more thing is that, if i am writing to get error

  double err_par10 = func_1->GetParError("Constant") ;
  double err_par11 = func_1->GetParError("Offset") ;

  it does not works, insted of this i have to write 
           double err_par10 = func_1->GetParError(0) ;
           double err_par11 = func_1->GetParError(1) ;
 

  while  to get parameters
           double par10 = func_1->GetParameter("Constant") ;
           double par11 = func_1->GetParameter("Offset") ;
    works !

  Thanks for help
  Avdhesh



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:59 MET