15 #include "Riostream.h"
68 for(Int_t n=0;n<nPars;n++)
78 EPLUS =
new TArrayD(nPars);
79 EMINUS =
new TArrayD(nPars);
80 EPARAB =
new TArrayD(nPars);
81 GLOBCC =
new TArrayD(nPars);
83 for(Int_t n=0;n<nPars;n++)
95 Double_t* matrix =
new Double_t[nPars*nPars];
96 fMinuit->mnemat(matrix, nPars);
100 for(Int_t npar=0;npar<nPars;npar++) {
102 Double_t val,err,bnd1,bnd2;
104 fMinuit->mnpout(npar,name,val,err,bnd1,bnd2,fixed);
107 for(Int_t n=nPars-2;n>=npar-1;n--)
108 for(Int_t i=0;i<nPars;i++)
110 for(Int_t i=0;i<nPars;i++)
113 for(Int_t n=nPars-2;n>=npar-1;n--)
114 for(Int_t i=0;i<nPars;i++)
116 for(Int_t i=0;i<nPars;i++)
125 Int_t sz = strlen(fMinuit->fChpt);
130 for (Int_t i=0;i<sz;i++) {
131 (*CONTOX)[i] = fMinuit->fXpt[i];
132 (*CONTOY)[i] = fMinuit->fYpt[i];
133 (*CONTOCH)[i] = fMinuit->fChpt[i];
139 TNamed::Print(option);
140 std::cout << std::endl <<
"Minuit status:" << std::endl;
141 std::cout <<
" The best function value found so far " <<
FMIN << std::endl;
142 std::cout <<
" The estimated vertical distance remaining to minimum " <<
FEDM << std::endl;
143 std::cout <<
" The value of UP defining parameter uncertaintiesd " <<
ERRDEF << std::endl;
144 std::cout <<
" The number of currently variable parameters " <<
NPARI << std::endl;
145 std::cout <<
" The highest defined parameter number " <<
NPARX << std::endl;
146 std::cout <<
" Goodness of covariance matrix: " << std::endl <<
" ";
148 case 1: std::cout <<
"Diagonal approximation only, not accurate" << std::endl;
break;
149 case 2: std::cout <<
"Full matrix, but forced positive-defined" << std::endl;
break;
150 case 3: std::cout <<
"Full accurate covariance matrix (after MIGRAD)" << std::endl;
break;
151 default: std::cout <<
"Not calculated at all" << std::endl;
155 std::cout <<
"Current parameters valules and errors:" << std::endl;
156 for(Int_t n=0;n<
ParValues->GetSize();n++)
157 std::cout <<
" " << n <<
" " <<
ParValues->At(n) <<
" " <<
ParError->At(n) << std::endl;
161 std::cout <<
"Parameters errors, defined by MINOS routine" << std::endl;
162 std::cout <<
" NUM EPLUS EMINUS EPARAB GLOBCC" << std::endl;
163 for(Int_t n=0;n<
EPLUS->GetSize();n++)
164 std::cout <<
" " << n <<
" " <<
EPLUS->At(n) <<
" " <<
EMINUS->At(n) <<
" " <<
EPARAB->At(n) <<
" " <<
GLOBCC->At(n) << std::endl;
168 std::cout <<
"Error matrix" << std::endl;
172 std::cout << std::endl;
void GetContourPlot(TMinuit *fMinuit)
virtual void Print(Option_t *option) const
void CallMNERRS(TMinuit *fMinuit, Int_t nPars)
void CallMNEMAT(TMinuit *fMinuit, Int_t nPars, Bool_t DoTransform=kTRUE)
virtual ~TGo4FitMinuitResult()
void CallMNSTAT(TMinuit *fMinuit)
void CallMNPOUT(TMinuit *fMinuit, Int_t nPars)