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