73 for(Int_t n=0;n<nPars;n++)
83 EPLUS =
new TArrayD(nPars);
84 EMINUS =
new TArrayD(nPars);
85 EPARAB =
new TArrayD(nPars);
86 GLOBCC =
new TArrayD(nPars);
88 for(Int_t n=0;n<nPars;n++)
100 Double_t* matrix =
new Double_t[nPars*nPars];
101 fMinuit->mnemat(matrix, nPars);
105 for(Int_t npar=0;npar<nPars;npar++) {
107 Double_t val,err,bnd1,bnd2;
109 fMinuit->mnpout(npar,name,val,err,bnd1,bnd2,fixed);
112 for(Int_t n=nPars-2;n>=npar-1;n--)
113 for(Int_t i=0;i<nPars;i++)
115 for(Int_t i=0;i<nPars;i++)
118 for(Int_t n=nPars-2;n>=npar-1;n--)
119 for(Int_t i=0;i<nPars;i++)
121 for(Int_t i=0;i<nPars;i++)
130 Int_t sz = strlen(fMinuit->fChpt);
135 for (Int_t i=0;i<sz;i++) {
136 (*CONTOX)[i] = fMinuit->fXpt[i];
137 (*CONTOY)[i] = fMinuit->fYpt[i];
138 (*CONTOCH)[i] = fMinuit->fChpt[i];
144 TNamed::Print(option);
145 std::cout << std::endl <<
"Minuit status:" << std::endl;
146 std::cout <<
" The best function value found so far " <<
FMIN << std::endl;
147 std::cout <<
" The estimated vertical distance remaining to minimum " <<
FEDM << std::endl;
148 std::cout <<
" The value of UP defining parameter uncertaintiesd " <<
ERRDEF << std::endl;
149 std::cout <<
" The number of currently variable parameters " <<
NPARI << std::endl;
150 std::cout <<
" The highest defined parameter number " <<
NPARX << std::endl;
151 std::cout <<
" Goodness of covariance matrix: " << std::endl <<
" ";
153 case 1: std::cout <<
"Diagonal approximation only, not accurate" << std::endl;
break;
154 case 2: std::cout <<
"Full matrix, but forced positive-defined" << std::endl;
break;
155 case 3: std::cout <<
"Full accurate covariance matrix (after MIGRAD)" << std::endl;
break;
156 default: std::cout <<
"Not calculated at all" << std::endl;
160 std::cout <<
"Current parameters valules and errors:" << std::endl;
161 for(Int_t n=0;n<
ParValues->GetSize();n++)
162 std::cout <<
" " << n <<
" " <<
ParValues->At(n) <<
" " <<
ParError->At(n) << std::endl;
166 std::cout <<
"Parameters errors, defined by MINOS routine" << std::endl;
167 std::cout <<
" NUM EPLUS EMINUS EPARAB GLOBCC" << std::endl;
168 for(Int_t n=0;n<
EPLUS->GetSize();n++)
169 std::cout <<
" " << n <<
" " <<
EPLUS->At(n) <<
" " <<
EMINUS->At(n) <<
" " <<
EPARAB->At(n) <<
" " <<
GLOBCC->At(n) << std::endl;
173 std::cout <<
"Error matrix" << std::endl;
177 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)