12 #include "TVirtualPad.h" 20 TNamed(
"Minuit2TraceObject",
"ROOT Trace Object for Minuit2"),
22 fHistoFval(0), fHistoEdm(0), fHistoParList(0),
23 fOldPad(0), fMinuitPad(0)
39 if (h1) h1->GetXaxis()->SetRange(1,niter);
56 fHistoFval =
new TH1D(
"minuit2_hist_fval",
"Function Value/iteration",2,0,1);
57 fHistoEdm =
new TH1D(
"minuit2_hist_edm",
"Edm/iteration",2,0,1);
63 for (
unsigned int ipar = 0; ipar < state.
Params().size(); ++ipar) {
65 TH1D * h1 =
new TH1D(TString::Format(
"minuit2_hist_par%d",ipar),TString::Format(
"Value of %s/iteration",state.
Name(ipar)),2,0,1);
66 h1->SetCanExtend(TH1::kAllAxes);
88 int lastIter = int(
fHistoFval->GetEntries()+0.5);
92 if (iter == 0 && lastIter > 0)
105 for (
unsigned int ipar = 0; ipar < state.
Vec().
size(); ++ipar) {
108 histoPar->SetBinContent(iter+1,eval);
virtual void Init(const MnUserParameterState &state)
Namespace for new ROOT classes and functions.
virtual void operator()(int i, const MinimumState &state)
const MinuitParameter & Parameter(unsigned int i) const
std::vector< double > Params() const
const MnUserTransformation & Trafo() const
class which holds the external user and/or internal Minuit representation of the parameters and error...
unsigned int size() const
virtual ~TMinuit2TraceObject()
const MnUserParameterState & UserState() const
const char * Name(unsigned int) const
virtual void operator()(int i, const ROOT::Minuit2::MinimumState &state)
virtual void Init(const ROOT::Minuit2::MnUserParameterState &state)
MinimumState keeps the information (position, Gradient, 2nd deriv, etc) after one minimization step (...
TMinuit2TraceObject(int parNumber=-1)
const MnAlgebraicVector & Vec() const