Example for fitting signal/background. This example can be executed with:
root > .x FittingDemo.C (using the cling interpreter)
root > .x FittingDemo.C+ (using the native complier via ACLIC)
Author: Rene Brun
This notebook tutorial was automatically generated with ROOTBOOK-izer from the macro found in the ROOT repository on Wednesday, April 17, 2024 at 11:09 AM.
%%cpp -d
#include "TH1.h"
#include "TMath.h"
#include "TF1.h"
#include "TLegend.h"
#include "TCanvas.h"
Quadratic background function
%%cpp -d
double background(double *x, double *par) {
return par[0] + par[1]*x[0] + par[2]*x[0]*x[0];
}
Lorenzian Peak function
%%cpp -d
double lorentzianPeak(double *x, double *par) {
return (0.5*par[0]*par[1]/TMath::Pi()) /
TMath::Max( 1.e-10,(x[0]-par[2])*(x[0]-par[2])
+ .25*par[1]*par[1]);
}
Sum of background and peak function
%%cpp -d
double fitFunction(double *x, double *par) {
return background(x,par) + lorentzianPeak(x,&par[3]);
}
Bevington Exercise by Peter Malzacher, modified by Rene Brun
const int nBins = 60;
double data[nBins] = { 6, 1,10,12, 6,13,23,22,15,21,
23,26,36,25,27,35,40,44,66,81,
75,57,48,45,46,41,35,36,53,32,
40,37,38,31,36,44,42,37,32,32,
43,44,35,33,33,39,29,41,32,44,
26,39,29,35,32,21,21,15,25,15};
TCanvas *c1 = new TCanvas("c1","Fitting Demo",10,10,700,500);
c1->SetFillColor(33);
c1->SetFrameFillColor(41);
c1->SetGrid();
TH1F *histo = new TH1F("histo",
"Lorentzian Peak on Quadratic Background",60,0,3);
histo->SetMarkerStyle(21);
histo->SetMarkerSize(0.8);
histo->SetStats(false);
for(int i=0; i < nBins; i++) histo->SetBinContent(i+1,data[i]);
input_line_47:4:3: warning: 'data' shadows a declaration with the same name in the 'std' namespace; use '::data' to reference this declaration double data[nBins] = { 6, 1,10,12, 6,13,23,22,15,21, ^
create a TF1 with the range from 0 to 3 and 6 parameters
TF1 *fitFcn = new TF1("fitFcn",fitFunction,0,3,6);
fitFcn->SetNpx(500);
fitFcn->SetLineWidth(4);
fitFcn->SetLineColor(kMagenta);
first try without starting values for the parameters This defaults to 1 for each param. this results in an ok fit for the polynomial function however the non-linear part (lorenzian) does not respond well.
fitFcn->SetParameters(1,1,1,1,1,1);
histo->Fit("fitFcn","0");
**************************************** Minimizer is Minuit2 / Migrad Chi2 = 58.9284 NDf = 54 Edm = 9.73335e-07 NCalls = 606 p0 = -0.864746 +/- 0.887832 p1 = 45.8428 +/- 2.65453 p2 = -13.3213 +/- 0.980305 p3 = 13.8087 +/- 2.24457 p4 = 0.172313 +/- 0.0374057 p5 = 0.987278 +/- 0.0112928
second try: set start values for some parameters
fitFcn->SetParameter(4,0.2); // width
fitFcn->SetParameter(5,1); // peak
histo->Fit("fitFcn","V+","ep");
Minuit2Minimizer: Minimize with max-calls 1780 convergence for edm < 0.01 strategy 1 Number of iterations 10 ----------> Iteration 0 FVAL = 60.856975016 Edm = 2.04157626492 Nfcn = 23 Error matrix change = 1 Parameters : p0 = -0.864746 p1 = 45.8428 p2 = -13.3213 p3 = 13.8087 p4 = 0.2 p5 = 1 ----------> Iteration 1 FVAL = 59.0984738211 Edm = 0.192336813475 Nfcn = 40 Error matrix change = 0.589159 Parameters : p0 = -0.913462 p1 = 45.8154 p2 = -13.3295 p3 = 14.3068 p4 = 0.176677 p5 = 0.990619 ----------> Iteration 2 FVAL = 58.9599783699 Edm = 0.018918033963 Nfcn = 54 Error matrix change = 0.342284 Parameters : p0 = -0.906747 p1 = 45.8363 p2 = -13.3167 p3 = 14.116 p4 = 0.177064 p5 = 0.986977 ----------> Iteration 3 FVAL = 58.9376425149 Edm = 0.00958566000238 Nfcn = 68 Error matrix change = 0.364189 Parameters : p0 = -0.924256 p1 = 45.83 p2 = -13.3146 p3 = 13.9161 p4 = 0.174171 p5 = 0.987051 ----------> Iteration 4 FVAL = 58.9318510093 Edm = 0.00157028886174 Nfcn = 82 Error matrix change = 0.246637 Parameters : p0 = -0.905334 p1 = 45.839 p2 = -13.3101 p3 = 13.8652 p4 = 0.172941 p5 = 0.987268 ----------> Iteration 5 FVAL = 58.9287717045 Edm = 0.000439744580493 Nfcn = 96 Error matrix change = 0.274881 Parameters : p0 = -0.867943 p1 = 45.8302 p2 = -13.3151 p3 = 13.8162 p4 = 0.172792 p5 = 0.987388 ----------> Iteration 6 FVAL = 58.9284179879 Edm = 9.10495513083e-07 Nfcn = 110 Error matrix change = 0.141986 Parameters : p0 = -0.862363 p1 = 45.8286 p2 = -13.316 p3 = 13.8144 p4 = 0.172388 p5 = 0.987291 ----------> Iteration 7 FVAL = 58.9284179879 Edm = 3.19179962054e-05 Nfcn = 150 Error matrix change = 0 Parameters : p0 = -0.862363 p1 = 45.8286 p2 = -13.316 p3 = 13.8144 p4 = 0.172388 p5 = 0.987291 ----------> Iteration 8 FVAL = 58.9283860619 Edm = 4.4843686043e-13 Nfcn = 163 Error matrix change = 3.09334e-05 Parameters : p0 = -0.864713 p1 = 45.8434 p2 = -13.3214 p3 = 13.8074 p4 = 0.172309 p5 = 0.987281 ----------> Iteration 9 FVAL = 58.9283860619 Edm = 4.4843686043e-13 Nfcn = 163 Error matrix change = 3.09334e-05 Parameters : p0 = -0.864713 p1 = 45.8434 p2 = -13.3214 p3 = 13.8074 p4 = 0.172309 p5 = 0.987281 Minuit2Minimizer : Valid minimum - status = 0 FVAL = 58.9283860619491762 Edm = 4.48436860430199946e-13 Nfcn = 163 p0 = -0.864713 +/- 0.891795 p1 = 45.8434 +/- 2.64223 p2 = -13.3214 +/- 0.976969 p3 = 13.8074 +/- 2.1776 p4 = 0.172309 +/- 0.0358282 p5 = 0.987281 +/- 0.0112683 Covariance Matrix: p0 p1 p2 p3 p4 p5 p0 0.7953 -1.2054 0.34842 -0.15946 -0.0037284 0.00042265 p1 -1.2054 6.9814 -2.5255 -3.0272 -0.037043 -0.0018129 p2 0.34842 -2.5255 0.95447 1.1587 0.014337 0.00058758 p3 -0.15946 -3.0272 1.1587 4.7419 0.05537 0.0017371 p4 -0.0037284 -0.037043 0.014337 0.05537 0.0012837 2.8395e-05 p5 0.00042265 -0.0018129 0.00058758 0.0017371 2.8395e-05 0.00012697 Correlation Matrix: p0 p1 p2 p3 p4 p5 p0 1 -0.51155 0.39991 -0.08211 -0.11669 0.042058 p1 -0.51155 1 -0.97834 -0.52614 -0.3913 -0.060891 p2 0.39991 -0.97834 1 0.54464 0.40958 0.053373 p3 -0.08211 -0.52614 0.54464 1 0.7097 0.070794 p4 -0.11669 -0.3913 0.40958 0.7097 1 0.070334 p5 0.042058 -0.060891 0.053373 0.070794 0.070334 1 **************************************** Minimizer is Minuit2 / Migrad Chi2 = 58.9284 NDf = 54 Edm = 4.48437e-13 NCalls = 163 p0 = -0.864713 +/- 0.891795 p1 = 45.8434 +/- 2.64223 p2 = -13.3214 +/- 0.976969 p3 = 13.8074 +/- 2.1776 p4 = 0.172309 +/- 0.0358282 p5 = 0.987281 +/- 0.0112683
Info in <Minuit2>: MnSeedGenerator Computing seed using NumericalGradient calculator Info in <Minuit2>: MnSeedGenerator 6 free parameters, FCN pointer 0x7fa012ffb440 Info in <Minuit2>: InitialGradientCalculator Calculating initial gradient at point [ -0.8647462635 45.84279873 -13.32130703 13.80866634 0.2 1] Info in <Minuit2>: InitialGradientCalculator Computed initial gradient for parameter p0 value -0.864746 [ -0.887832 , 0.887832 ] dirin 0.887832 grd 2.25268 g2 2.53728 Info in <Minuit2>: InitialGradientCalculator Computed initial gradient for parameter p1 value 45.8428 [ -2.65453 , 2.65453 ] dirin 2.65453 grd 0.753428 g2 0.283827 Info in <Minuit2>: InitialGradientCalculator Computed initial gradient for parameter p2 value -13.3213 [ -0.980305 , 0.980305 ] dirin 0.980305 grd 2.04018 g2 2.08117 Info in <Minuit2>: InitialGradientCalculator Computed initial gradient for parameter p3 value 13.8087 [ -2.24457 , 2.24457 ] dirin 2.24457 grd 0.891041 g2 0.396977 Info in <Minuit2>: InitialGradientCalculator Computed initial gradient for parameter p4 value 0.2 [ -0.0374057 , 0.0374057 ] dirin 0.0374057 grd 53.4677 g2 1429.4 Info in <Minuit2>: InitialGradientCalculator Computed initial gradient for parameter p5 value 1 [ -0.0112928 , 0.0112928 ] dirin 0.0112928 grd 177.104 g2 15683 Info in <Minuit2>: Numerical2PGradientCalculator Calculating gradient around function value 60.857 at point [ -0.8647462635 45.84279873 -13.32130703 13.80866634 0.2 1] Info in <Minuit2>: Numerical2PGradientCalculator Parameter Gradient g2 step p0 0.4279325531382 6.577921131386 0.00211755669569 p1 0.4500332858168 12.2921539295 0.002654534419915 p2 0.8036254612564 73.48739146482 0.0009803050263258 p3 -0.6666041376393 1.002005666841 0.005425556259355 p4 53.49472827923 1717.542922548 0.0003740574296809 p5 153.2919222349 12236.04296611 4.909745009126e-05 Info in <Minuit2>: MnSeedGenerator Initial state: FCN = 60.85697502 Edm = 2.041576265 NCalls = 23 Info in <Minuit2>: MnSeedGenerator Initial state Minimum value : 60.85697502 Edm : 2.041576265 Internal parameters: [ -0.8647462635 45.84279873 -13.32130703 13.80866634 0.2 1] Internal gradient : [ 0.4279325531 0.4500332858 0.8036254613 -0.6666041376 53.49472828 153.2919222] Internal covariance matrix: [[ 0.30404743 0 0 0 0 0] [ 0 0.16270541 0 0 0 0] [ 0 0 0.027215553 0 0 0] [ 0 0 0 1.9959967 0 0] [ 0 0 0 0 0.0011644542 0] [ 0 0 0 0 0 0.00016345153]]] Info in <Minuit2>: VariableMetricBuilder Start iterating until Edm is < 2e-05 with call limit = 1780 Info in <Minuit2>: VariableMetricBuilder 0 - FCN = 60.85697502 Edm = 2.041576265 NCalls = 23 Info in <Minuit2>: VariableMetricBuilder Start iterating... Info in <Minuit2>: VariableMetricBuilder Initial State: Parameter: [ -0.8647462635 45.84279873 -13.32130703 13.80866634 0.2 1] Gradient: [ 0.4279325531 0.4500332858 0.8036254613 -0.6666041376 53.49472828 153.2919222] InvHessian: [[ 0.15202371 0 0 0 0 0] [ 0 0.081352707 0 0 0 0] [ 0 0 0.013607777 0 0 0] [ 0 0 0 0.99799835 0 0] [ 0 0 0 0 0.00058222708 0] [ 0 0 0 0 0 8.1725767e-05]]] Edm: 2.04158 Info in <Minuit2>: VariableMetricBuilder Iteration 1 Fval 60.857 numOfCall 23 Internal parameters [ -0.8647462635 45.84279873 -13.32130703 13.80866634 0.2 1] Newton step [ -0.06505589602 -0.03661142615 -0.01093555568 0.665269828 -0.03114607942 -0.01252789996] Info in <Minuit2>: MnLineSearch gdel -4.08315 step [ -0.06505589602 -0.03661142615 -0.01093555568 0.665269828 -0.03114607942 -0.01252789996] Info in <Minuit2>: MnLineSearch flast 59.2865 f0 60.857 flast-f0 -1.57048 slam 1 Info in <Minuit2>: MnLineSearch denom 5.02534 Info in <Minuit2>: MnLineSearch new slam 0.812513 Info in <Minuit2>: MnLineSearch after initial 2-point iter: x0, x1, x2: 0 1 0.812513 f0, f1, f2: 60.857 59.2865 59.1002 Info in <Minuit2>: MnLineSearch Iteration 3 x0, x1, x2: 0 1 0.812513 f0, f1, f2: 60.857 59.2865 59.1002 slamax : 5 p2-p0,p1 : -1.75677 -0.18629 a, b, c : 3.15576 -4.72625 60.857 Info in <Minuit2>: MnLineSearch slam 0.748828 undral -100 overall 1000 Info in <Minuit2>: MnLineSearch iterate on f3- slam 3 slam 0.748828 xvmin 0.812513 Info in <Minuit2>: MnLineSearch f3 59.0985 f3-p(2-0).Y() -0.00172674 -0.188016 -1.7585 Info in <Minuit2>: MnLineSearch f3 59.0985 fvmin 59.1002 xvmin 0.812513 Info in <Minuit2>: MnLineSearch Iteration 4 x0, x1, x2: 0.748828 1 0.812513 f0, f1, f2: 59.0985 59.2865 59.1002 slamax : 5 p2-p0,p1 : 0.00172674 -0.18629 a, b, c : 3.84797 -5.98088 61.4194 Info in <Minuit2>: MnLineSearch slam 0.777148 undral -100 overall 1000 Info in <Minuit2>: MnLineSearch iterate on f3- slam 4 slam 0.777148 xvmin 0.748828 Info in <Minuit2>: VariableMetricBuilder Result after line search : x = 0.748828 Old Fval = 60.857 New Fval = 59.0985 NFcalls = 26 Info in <Minuit2>: Numerical2PGradientCalculator Calculating gradient around function value 59.0985 at point [ -0.9134619372 45.81538308 -13.32949588 14.30683898 0.176676945 0.9906187583] Info in <Minuit2>: Numerical2PGradientCalculator Parameter Gradient g2 step p0 -0.101387652828 6.577921134509 0.002087240213295 p1 -0.4099126677579 12.29215396025 0.001526872490899 p2 -1.4277645151 73.48739153097 0.0006244682337407 p3 0.3346507223423 1.097045253779 0.00534788003939 p4 -5.663262926807 3171.73434617 9.50535364297e-05 p5 50.84291686431 16087.85668979 4.839452933014e-05 Info in <Minuit2>: DavidonErrorUpdator dx [ -0.04871567374 -0.02741565946 -0.008188849825 0.4981726465 -0.02332305504 -0.009381241741] dg [ -0.529320206 -0.8599459536 -2.231389976 1.00125486 -59.15799121 -102.4490054] delgam 2.90728 gvg 4.06639 Info in <Minuit2>: DavidonErrorUpdator delgam<gvg : use rank 2 Davidon formula Info in <Minuit2>: VariableMetricBuilder Updated new point: Parameter: [ -0.9134619372 45.81538308 -13.32949588 14.30683898 0.176676945 0.9906187583] Gradient: [ -0.1013876528 -0.4099126678 -1.427764515 0.3346507223 -5.663262927 50.84291686] InvHessian: [[ 0.30249525 -0.0018500342 -0.00092731493 0.022852815 -0.00058156589 -1.6980216e-05] [ -0.0018500342 0.1608153 -0.00089034202 0.024987017 -0.00074526654 -0.00011116111] [ -0.00092731493 -0.00089034202 0.026808216 0.012116677 -0.00038299913 -7.2192524e-05] [ 0.022852815 0.024987017 0.012116677 1.6756245 0.0089348327 0.00089990333] [ -0.00058156589 -0.00074526654 -0.00038299913 0.0089348327 0.0009551749 8.6801283e-06] [ -1.6980216e-05 -0.00011116111 -7.2192524e-05 0.00089990333 8.6801283e-06 0.00018951563]]] Edm: 0.192337 Info in <Minuit2>: VariableMetricBuilder 1 - FCN = 59.09847382 Edm = 0.1923368135 NCalls = 40 Info in <Minuit2>: VariableMetricBuilder Dcovar = 0.589159 Corrected edm = 0.532288 Info in <Minuit2>: VariableMetricBuilder Iteration 2 Fval 59.0985 numOfCall 40 Internal parameters [ -0.9134619372 45.81538308 -13.32949588 14.30683898 0.176676945 0.9906187583] Newton step [ 0.009254497682 0.028765326 0.01763171916 -0.2630215593 0.0005333724866 -0.005018942245] Info in <Minuit2>: MnLineSearch gdel -0.384122 step [ 0.009254497682 0.028765326 0.01763171916 -0.2630215593 0.0005333724866 -0.005018942245] Info in <Minuit2>: MnLineSearch flast 58.9791 f0 59.0985 flast-f0 -0.119407 slam 1 Info in <Minuit2>: MnLineSearch denom 0.529431 Info in <Minuit2>: MnLineSearch new slam 0.725538 Info in <Minuit2>: MnLineSearch after initial 2-point iter: x0, x1, x2: 0 1 0.725538 f0, f1, f2: 59.0985 58.9791 58.96 Info in <Minuit2>: MnLineSearch Iteration 3 x0, x1, x2: 0 1 0.725538 f0, f1, f2: 59.0985 58.9791 58.96 slamax : 5 p2-p0,p1 : -0.138495 -0.0190888 a, b, c : 0.260436 -0.379843 59.0985 Info in <Minuit2>: MnLineSearch slam 0.729244 undral -100 overall 1000 Info in <Minuit2>: MnLineSearch iterate on f3- slam 3 slam 0.729244 xvmin 0.725538 Info in <Minuit2>: VariableMetricBuilder Result after line search : x = 0.725538 Old Fval = 59.0985 New Fval = 58.96 NFcalls = 42 Info in <Minuit2>: Numerical2PGradientCalculator Calculating gradient around function value 58.96 at point [ -0.9067474495 45.83625341 -13.31670341 14.11600691 0.1770639269 0.986977326] Info in <Minuit2>: Numerical2PGradientCalculator Parameter Gradient g2 step p0 0.1005919233225 6.577921138248 0.002084833831916 p1 0.09239147822596 12.29215396525 0.001525112154388 p2 -0.02601210425125 73.48739171456 0.0006237482824614 p3 0.1510665678178 1.096860632828 0.005105091049005 p4 4.017576161181 3024.524397641 9.494396765753e-05 p5 -6.716148041978 15787.1861919 4.215670752713e-05 Info in <Minuit2>: DavidonErrorUpdator dx [ 0.006714487718 0.02087033081 0.01279247841 -0.1908320786 0.0003869818907 -0.003641432222] dg [ 0.2019795762 0.502304146 1.401752411 -0.1835841545 9.680839088 -57.55906491] delgam 0.278149 gvg 0.420452 Info in <Minuit2>: DavidonErrorUpdator delgam<gvg : use rank 2 Davidon formula Info in <Minuit2>: VariableMetricBuilder Updated new point: Parameter: [ -0.9067474495 45.83625341 -13.31670341 14.11600691 0.1770639269 0.986977326] Gradient: [ 0.1005919233 0.09239147823 -0.02601210425 0.1510665678 4.017576161 -6.716148042] InvHessian: [[ 0.29984398 -0.0052295517 -0.0024015876 0.027842399 -0.00092444567 0.00047046099] [ -0.0052295517 0.15747863 -0.002055011 0.01729109 -0.0012202998 0.00032030979] [ -0.0024015876 -0.002055011 0.026514198 0.0045487714 -0.00060160122 5.9156358e-05] [ 0.027842399 0.01729109 0.0045487714 1.8696803 0.010129712 0.0027305832] [ -0.00092444567 -0.0012202998 -0.00060160122 0.010129712 0.00091231605 7.9142873e-05] [ 0.00047046099 0.00032030979 5.9156358e-05 0.0027305832 7.9142873e-05 0.00013701719]]] Edm: 0.018918 Info in <Minuit2>: VariableMetricBuilder 2 - FCN = 58.95997837 Edm = 0.01891803396 NCalls = 54 Info in <Minuit2>: VariableMetricBuilder Dcovar = 0.342284 Corrected edm = 0.038344 Info in <Minuit2>: VariableMetricBuilder Iteration 3 Fval 58.96 numOfCall 54 Internal parameters [ -0.9067474495 45.83625341 -13.31670341 14.11600691 0.1770639269 0.986977326] Newton step [ -0.01353676297 -0.004817649184 0.001624125098 -0.1545420134 -0.002236968309 5.719282841e-05] Info in <Minuit2>: MnLineSearch gdel -0.0345665 step [ -0.01353676297 -0.004817649184 0.001624125098 -0.1545420134 -0.002236968309 5.719282841e-05] Info in <Minuit2>: MnLineSearch flast 58.9388 f0 58.96 flast-f0 -0.0212036 slam 1 Info in <Minuit2>: MnLineSearch denom 0.0267258 Info in <Minuit2>: MnLineSearch new slam 1.29337 Info in <Minuit2>: MnLineSearch after initial 2-point iter: x0, x1, x2: 0 1 1.29337 f0, f1, f2: 58.96 58.9388 58.9376 Info in <Minuit2>: MnLineSearch Iteration 3 x0, x1, x2: 0 1 1.29337 f0, f1, f2: 58.96 58.9388 58.9376 slamax : 5 p2-p0,p1 : -0.0223359 -0.0011323 a, b, c : 0.0134099 -0.0346134 58.96 Info in <Minuit2>: MnLineSearch slam 1.29059 undral -100 overall 1000 Info in <Minuit2>: MnLineSearch iterate on f3- slam 3 slam 1.29059 xvmin 1.29337 Info in <Minuit2>: VariableMetricBuilder Result after line search : x = 1.29337 Old Fval = 58.96 New Fval = 58.9376 NFcalls = 56 Info in <Minuit2>: Numerical2PGradientCalculator Calculating gradient around function value 58.9376 at point [ -0.9242555303 45.83002239 -13.31460281 13.91612647 0.1741706929 0.9870512977] Info in <Minuit2>: Numerical2PGradientCalculator Parameter Gradient g2 step p0 -0.2566959641714 6.577921135141 0.002084445481594 p1 -0.2197606288375 12.29215393864 0.001524828066949 p2 -0.4956885543504 73.4873914466 0.0006236320941289 p3 0.005446208555915 1.110207477649 0.005104569670412 p4 1.150389814518 3133.369598836 9.720896698336e-05 p5 -3.931627278563 15816.37447108 4.254832898803e-05 Info in <Minuit2>: DavidonErrorUpdator dx [ -0.0175080808 -0.006231016335 0.002100599199 -0.1998804341 -0.002893233928 7.397164768e-05] dg [ -0.3572878875 -0.3121521071 -0.4696764501 -0.1456203593 -2.867186347 2.784520763] delgam 0.0448219 gvg 0.053915 Info in <Minuit2>: DavidonErrorUpdator delgam<gvg : use rank 2 Davidon formula Info in <Minuit2>: VariableMetricBuilder Updated new point: Parameter: [ -0.9242555303 45.83002239 -13.31460281 13.91612647 0.1741706929 0.9870512977] Gradient: [ -0.2566959642 -0.2197606288 -0.4956885544 0.005446208556 1.150389815 -3.931627279] InvHessian: [[ 0.2123185 -0.04342503 -0.013465361 -0.11747739 -0.0014511004 -0.00010938532] [ -0.04342503 0.14088706 -0.0066485429 -0.055415603 -0.0016017573 7.7600803e-05] [ -0.013465361 -0.0066485429 0.025833768 -0.04225533 -0.0011322691 1.7482618e-05] [ -0.11747739 -0.055415603 -0.04225533 2.7543398 0.027632162 0.00051569502] [ -0.0014511004 -0.0016017573 -0.0011322691 0.027632162 0.0012090834 5.5216808e-05] [ -0.00010938532 7.7600803e-05 1.7482618e-05 0.00051569502 5.5216808e-05 0.00013456831]]] Edm: 0.00958566 Info in <Minuit2>: VariableMetricBuilder 3 - FCN = 58.93764251 Edm = 0.009585660002 NCalls = 68 Info in <Minuit2>: VariableMetricBuilder Dcovar = 0.364189 Corrected edm = 0.0200586 Info in <Minuit2>: VariableMetricBuilder Iteration 4 Fval 58.9376 numOfCall 68 Internal parameters [ -0.9242555303 45.83002239 -13.31460281 13.91612647 0.1741706929 0.9870512977] Newton step [ 0.02008131988 0.009484169654 0.004744664288 -0.05402028427 -0.001305031766 0.0002301918773] Info in <Minuit2>: MnLineSearch gdel -0.0122914 step [ 0.02008131988 0.009484169654 0.004744664288 -0.05402028427 -0.001305031766 0.0002301918773] Info in <Minuit2>: MnLineSearch flast 58.9319 f0 58.9376 flast-f0 -0.00576905 slam 1 Info in <Minuit2>: MnLineSearch denom 0.0130448 Info in <Minuit2>: MnLineSearch new slam 0.942249 Info in <Minuit2>: MnLineSearch after initial 2-point iter: x0, x1, x2: 0 1 0.942249 f0, f1, f2: 58.9376 58.9319 58.9319 Info in <Minuit2>: MnLineSearch Iteration 3 x0, x1, x2: 0 1 0.942249 f0, f1, f2: 58.9376 58.9319 58.9319 slamax : 5 p2-p0,p1 : -0.00579151 -2.24601e-05 a, b, c : 0.00653538 -0.0123044 58.9376 Info in <Minuit2>: MnLineSearch slam 0.94137 undral -100 overall 1000 Info in <Minuit2>: MnLineSearch iterate on f3- slam 3 slam 0.94137 xvmin 0.942249 Info in <Minuit2>: VariableMetricBuilder Result after line search : x = 0.942249 Old Fval = 58.9376 New Fval = 58.9319 NFcalls = 70 Info in <Minuit2>: Numerical2PGradientCalculator Calculating gradient around function value 58.9319 at point [ -0.9053339344 45.83895884 -13.31013215 13.86522593 0.1729410285 0.9872681957] Info in <Minuit2>: Numerical2PGradientCalculator Parameter Gradient g2 step p0 -0.09312808518457 6.577921137018 0.00208434477287 p1 0.08140829373153 12.29215392989 0.0015247543977 p2 0.2624755671296 73.4873914873 0.0006236019650329 p3 0.015130964706 1.115911138227 0.005073548371677 p4 -0.527607411416 3198.541997471 9.550103502114e-05 p5 -0.03291821818638 15896.95339028 4.250699673839e-05 Info in <Minuit2>: DavidonErrorUpdator dx [ 0.01892159586 0.008936445727 0.004470653357 -0.05090053808 -0.001229664375 0.0002168979777] dg [ 0.163567879 0.3011689226 0.7581641215 0.00968475615 -1.677997226 3.89870906] delgam 0.0115919 gvg 0.0154538 Info in <Minuit2>: DavidonErrorUpdator delgam<gvg : use rank 2 Davidon formula Info in <Minuit2>: VariableMetricBuilder Updated new point: Parameter: [ -0.9053339344 45.83895884 -13.31013215 13.86522593 0.1729410285 0.9872681957] Gradient: [ -0.09312808518 0.08140829373 0.2624755671 0.01513096471 -0.5276074114 -0.03291821819] InvHessian: [[ 0.26918609 -0.027293048 -0.0056184475 -0.24954136 -0.0042210022 0.00041717274] [ -0.027293048 0.11998307 -0.017700473 -0.043195711 -0.00018826691 -7.0721239e-05] [ -0.0056184475 -0.017700473 0.019997328 -0.034587997 -0.00036843563 -6.4990086e-05] [ -0.24954136 -0.043195711 -0.034587997 2.9641566 0.029776469 -0.00012666807] [ -0.0042210022 -0.00018826691 -0.00036843563 0.029776469 0.0011541788 5.5263764e-05] [ 0.00041717274 -7.0721239e-05 -6.4990086e-05 -0.00012666807 5.5263764e-05 0.00013596585]]] Edm: 0.00157029 Info in <Minuit2>: VariableMetricBuilder 4 - FCN = 58.93185101 Edm = 0.001570288862 NCalls = 82 Info in <Minuit2>: VariableMetricBuilder Dcovar = 0.246637 Corrected edm = 0.00273216 Info in <Minuit2>: VariableMetricBuilder Iteration 5 Fval 58.9319 numOfCall 82 Internal parameters [ -0.9053339344 45.83895884 -13.31013215 13.86522593 0.1729410285 0.9872681957] Newton step [ 0.01516393621 -0.003555745318 -0.002002129434 -0.01989437425 -6.041813499e-05 4.860801944e-05] Info in <Minuit2>: MnLineSearch gdel -0.00249791 step [ 0.01516393621 -0.003555745318 -0.002002129434 -0.01989437425 -6.041813499e-05 4.860801944e-05] Info in <Minuit2>: MnLineSearch flast 58.9299 f0 58.9319 flast-f0 -0.0019914 slam 1 Info in <Minuit2>: MnLineSearch denom 0.00101303 Info in <Minuit2>: MnLineSearch new slam 2.46579 Info in <Minuit2>: MnLineSearch after initial 2-point iter: x0, x1, x2: 0 1 2.46579 f0, f1, f2: 58.9319 58.9299 58.9288 Info in <Minuit2>: MnLineSearch Iteration 3 x0, x1, x2: 0 1 2.46579 f0, f1, f2: 58.9319 58.9299 58.9288 slamax : 5 p2-p0,p1 : -0.0030793 -0.00108791 a, b, c : 0.000506611 -0.00249801 58.9319 Info in <Minuit2>: MnLineSearch slam 2.46541 undral -100 overall 1000 Info in <Minuit2>: MnLineSearch iterate on f3- slam 3 slam 2.46541 xvmin 2.46579 Info in <Minuit2>: VariableMetricBuilder Result after line search : x = 2.46579 Old Fval = 58.9319 New Fval = 58.9288 NFcalls = 84 Info in <Minuit2>: Numerical2PGradientCalculator Calculating gradient around function value 58.9288 at point [ -0.8679428862 45.83019112 -13.31506898 13.81617063 0.1727920503 0.9873880527] Info in <Minuit2>: Numerical2PGradientCalculator Parameter Gradient g2 step p0 -0.006886957878094 6.57792112366 0.002084291226502 p1 0.01749966619269 12.29215390876 0.00152471522723 p2 0.06133488299598 73.48739130668 0.0006235859443461 p3 -0.01402429444111 1.116556690262 0.005060435757114 p4 1.11623239053 3178.499536318 9.452065120212e-05 p5 1.613260335137 15840.11795036 4.239804030187e-05 Info in <Minuit2>: DavidonErrorUpdator dx [ 0.03739104826 -0.008767713275 -0.004936826247 -0.04905530446 -0.0001489782976 0.0001198570593] dg [ 0.08624112731 -0.06390862754 -0.2011406841 -0.02915525915 1.643839802 1.646178553] delgam 0.00616061 gvg 0.00337845 Info in <Minuit2>: DavidonErrorUpdator delgam<gvg : use dual (BFGS) formula Info in <Minuit2>: VariableMetricBuilder Updated new point: Parameter: [ -0.8679428862 45.83019112 -13.31506898 13.81617063 0.1727920503 0.9873880527] Gradient: [ -0.006886957878 0.01749966619 0.061334883 -0.01402429444 1.116232391 1.613260335] InvHessian: [[ 0.64285724 -0.11934246 -0.057989491 -0.65533172 -0.01147732 -0.00011492461] [ -0.11934246 0.14260586 -0.0048354549 0.057766688 0.0015308891 3.9853415e-05] [ -0.057989491 -0.0048354549 0.027312634 0.022970403 0.00060172267 -4.4627568e-06] [ -0.65533172 0.057766688 0.022970403 3.3857418 0.038959947 0.00084211917] [ -0.01147732 0.0015308891 0.00060172267 0.038959947 0.0012060699 3.8896125e-05] [ -0.00011492461 3.9853415e-05 -4.4627568e-06 0.00084211917 3.8896125e-05 0.00012871501]]] Edm: 0.000439745 Info in <Minuit2>: VariableMetricBuilder 5 - FCN = 58.9287717 Edm = 0.0004397445805 NCalls = 96 Info in <Minuit2>: VariableMetricBuilder Dcovar = 0.274881 Corrected edm = 0.000802377 Info in <Minuit2>: VariableMetricBuilder Iteration 6 Fval 58.9288 numOfCall 96 Internal parameters [ -0.8679428862 45.83019112 -13.31506898 13.81617063 0.1727920503 0.9873880527] Newton step [ 0.006939378492 -0.00199193213 -0.001166144286 -0.002148649234 -0.0005026792776 -0.0001202364922] Info in <Minuit2>: MnLineSearch gdel -0.000879121 step [ 0.006939378492 -0.00199193213 -0.001166144286 -0.002148649234 -0.0005026792776 -0.0001202364922] Info in <Minuit2>: MnLineSearch flast 58.9284 f0 58.9288 flast-f0 -0.000332473 slam 1 Info in <Minuit2>: MnLineSearch denom 0.0010933 Info in <Minuit2>: MnLineSearch new slam 0.804102 Info in <Minuit2>: MnLineSearch after initial 2-point iter: x0, x1, x2: 0 1 0.804102 f0, f1, f2: 58.9288 58.9284 58.9284 Info in <Minuit2>: MnLineSearch Iteration 3 x0, x1, x2: 0 1 0.804102 f0, f1, f2: 58.9288 58.9284 58.9284 slamax : 5 p2-p0,p1 : -0.000353717 -2.12433e-05 a, b, c : 0.000548331 -0.000880804 58.9288 Info in <Minuit2>: MnLineSearch slam 0.803169 undral -100 overall 1000 Info in <Minuit2>: MnLineSearch iterate on f3- slam 3 slam 0.803169 xvmin 0.804102 Info in <Minuit2>: VariableMetricBuilder Result after line search : x = 0.804102 Old Fval = 58.9288 New Fval = 58.9284 NFcalls = 98 Info in <Minuit2>: Numerical2PGradientCalculator Calculating gradient around function value 58.9284 at point [ -0.8623629187 45.82858941 -13.31600668 13.8144429 0.1723878449 0.9872913703] Info in <Minuit2>: Numerical2PGradientCalculator Parameter Gradient g2 step p0 -0.0001167361414326 6.577921137084 0.002084285078385 p1 -0.003153643605415 12.29215391291 0.00152471072912 p2 0.002700974606855 73.48739150724 0.0006235841048702 p3 0.000522811764383 1.118545924591 0.005058957737101 p4 -0.02430225939129 3210.398495273 9.481790948586e-05 p5 0.1051954691963 15890.50628964 4.247391039852e-05 Info in <Minuit2>: DavidonErrorUpdator dx [ 0.00557996748 -0.001601716425 -0.0009376988444 -0.001727732947 -0.0004042053659 -9.668239272e-05] dg [ 0.006770221737 -0.0206533098 -0.05863390839 0.01454710621 -1.14053465 -1.508064866] delgam 0.000707519 gvg 0.000882475 Info in <Minuit2>: DavidonErrorUpdator delgam<gvg : use rank 2 Davidon formula Info in <Minuit2>: VariableMetricBuilder Updated new point: Parameter: [ -0.8623629187 45.82858941 -13.31600668 13.8144429 0.1723878449 0.9872913703] Gradient: [ -0.0001167361414 -0.003153643605 0.002700974607 0.0005228117644 -0.02430225939 0.1051954692] InvHessian: [[ 0.6206493 -0.1095547 -0.055081636 -0.65548544 -0.0098550072 0.00015840035] [ -0.1095547 0.13871092 -0.006218178 0.056971719 0.00081755242 -9.4288737e-05] [ -0.055081636 -0.006218178 0.026956307 0.02319885 0.00038889796 -3.6948249e-05] [ -0.65548544 0.056971719 0.02319885 3.3875177 0.038967739 0.00087218663] [ -0.0098550072 0.00081755242 0.00038889796 0.038967739 0.001087565 1.8874959e-05] [ 0.00015840035 -9.4288737e-05 -3.6948249e-05 0.00087218663 1.8874959e-05 0.00012579779]]] Edm: 9.10496e-07 Info in <Minuit2>: VariableMetricBuilder 6 - FCN = 58.92841799 Edm = 9.104955131e-07 NCalls = 110 Info in <Minuit2>: VariableMetricBuilder Dcovar = 0.141986 Corrected edm = 1.29833e-06 Info in <Minuit2>: VariableMetricBuilder Exiting successfully; Ncalls 110 FCN 58.9284 Edm 1.29833e-06 Requested 2e-05 Info in <Minuit2>: VariableMetricBuilder MnMigrad will verify convergence and Error matrix; dcov = 0.141986 Info in <Minuit2>: MnHesse Gradient is numerical point: [ -0.8623629187 45.82858941 -13.31600668 13.8144429 0.1723878449 0.9872913703] fcn : 58.9284 grad : [ -0.0001167361414 -0.003153643605 0.002700974607 0.0005228117644 -0.02430225939 0.1051954692] step : [ 0.002084285078 0.001524710729 0.0006235841049 0.005058957737 9.481790949e-05 4.24739104e-05] g2 : [ 6.577921137 12.29215391 73.48739151 1.118545925 3210.398495 15890.50629] Info in <Minuit2>: MnHesse Derivative parameter 0 d = 0.00208429 dmin = 4.11207e-07 Info in <Minuit2>: MnHesse cycle 0 mul 0 sag = 1.4288e-05 d = 0.00208429 Info in <Minuit2>: MnHesse g1 = -0.000116736 g2 = 6.57792 step = 0.00208429 d = 0.0666971 diffd = 0.96875 diffg2 = 0 Info in <Minuit2>: MnHesse Derivative parameter 1 d = 0.00152471 dmin = 2.18528e-05 Info in <Minuit2>: MnHesse cycle 0 mul 0 sag = 1.4288e-05 d = 0.00152471 Info in <Minuit2>: MnHesse g1 = -0.00315364 g2 = 12.2922 step = 0.00152471 d = 0.0487907 diffd = 0.96875 diffg2 = 0 Info in <Minuit2>: MnHesse Derivative parameter 2 d = 0.000623584 dmin = 6.34957e-06 Info in <Minuit2>: MnHesse cycle 0 mul 0 sag = 1.4288e-05 d = 0.000623584 Info in <Minuit2>: MnHesse g1 = 0.00270097 g2 = 73.4874 step = 0.000623584 d = 0.0199547 diffd = 0.96875 diffg2 = 1.93378e-16 Info in <Minuit2>: MnHesse Derivative parameter 3 d = 0.00505896 dmin = 6.58724e-06 Info in <Minuit2>: MnHesse cycle 0 mul 0 sag = 1.43135e-05 d = 0.00505896 Info in <Minuit2>: MnHesse g1 = 0.000522812 g2 = 1.11855 step = 0.00505896 d = 0.161743 diffd = 0.968722 diffg2 = 1.98512e-16 Info in <Minuit2>: MnHesse Derivative parameter 4 d = 9.48179e-05 dmin = 8.2201e-08 Info in <Minuit2>: MnHesse cycle 0 mul 0 sag = 1.44314e-05 d = 9.48179e-05 Info in <Minuit2>: MnHesse g1 = -0.0243023 g2 = 3210.4 step = 9.48179e-05 d = 0.00301906 diffd = 0.968594 diffg2 = 1.41648e-16 Info in <Minuit2>: MnHesse Derivative parameter 5 d = 4.24739e-05 dmin = 4.70777e-07 Info in <Minuit2>: MnHesse cycle 0 mul 0 sag = 1.43335e-05 d = 4.24739e-05 Info in <Minuit2>: MnHesse g1 = 0.105195 g2 = 15890.5 step = 4.24739e-05 d = 0.00135701 diffd = 0.9687 diffg2 = 0 Info in <Minuit2>: MnHesse Second derivatives [ 6.577921137 12.29215391 73.48739151 1.118545925 3210.398495 15890.50629] Info in <Minuit2>: HessianGradientCalculator HGC Param : 0 new g1 = -0.000116736 gstep = 0.000416857 dgrd = 2.51112e-10 Info in <Minuit2>: HessianGradientCalculator HGC Param : 1 new g1 = -0.00315364 gstep = 0.000304942 dgrd = 3.43271e-10 Info in <Minuit2>: HessianGradientCalculator HGC Param : 2 new g1 = 0.00270097 gstep = 0.000124717 dgrd = 8.39325e-10 Info in <Minuit2>: HessianGradientCalculator HGC Param : 3 new g1 = 0.000522812 gstep = 0.00101179 dgrd = 1.03458e-10 Info in <Minuit2>: HessianGradientCalculator HGC Param : 4 new g1 = -0.0241845 gstep = 1.89636e-05 dgrd = 0.000117788 Info in <Minuit2>: HessianGradientCalculator HGC Param : 5 new g1 = 0.105196 gstep = 8.49478e-06 dgrd = 5.19851e-07 Info in <Minuit2>: MnHesse Original error matrix [[ 6.5779211 6.0562999 12.292154 0.85440735 19.921002 -8.4496081] [ 6.0562999 12.292154 29.184525 0.76071361 13.394423 6.8952224] [ 12.292154 29.184525 73.487392 0.84338992 20.32717 19.626314] [ 0.85440735 0.76071361 0.84338992 1.1185459 -33.149175 -3.7735078] [ 19.921002 13.394423 20.32717 -33.149175 3210.3985 -233.62804] [ -8.4496081 6.8952224 19.626314 -3.7735078 -233.62804 15890.506]]] Info in <Minuit2>: MnHesse PosDef error matrix [[ 6.5779211 6.0562999 12.292154 0.85440735 19.921002 -8.4496081] [ 6.0562999 12.292154 29.184525 0.76071361 13.394423 6.8952224] [ 12.292154 29.184525 73.487392 0.84338992 20.32717 19.626314] [ 0.85440735 0.76071361 0.84338992 1.1185459 -33.149175 -3.7735078] [ 19.921002 13.394423 20.32717 -33.149175 3210.3985 -233.62804] [ -8.4496081 6.8952224 19.626314 -3.7735078 -233.62804 15890.506]]] Info in <Minuit2>: MnHesse Hessian is ACCURATE. New state: First derivative: [ -0.0001167361585 -0.003153643543 0.002700974527 0.0005228117686 -0.02418447175 0.105195989] Second derivative: [ 6.577921137 12.29215391 73.48739151 1.118545925 3210.398495 15890.50629] Gradient step: [ 0.0004168570157 0.0003049421458 0.000124716821 0.001011791547 1.89635819e-05 8.49478208e-06] Covariance matrix: [[ 0.39764639 -0.60266937 0.17420262 -0.079755497 -0.0018641237 0.00021145145] [ -0.60266937 3.4905295 -1.2626741 -1.5134361 -0.018521807 -0.00090726095] [ 0.17420262 -1.2626741 0.47721345 0.57928225 0.0071684358 0.00029408094] [ -0.079755497 -1.5134361 0.57928225 2.3708295 0.027684811 0.00086886422] [ -0.0018641237 -0.018521807 0.0071684358 0.027684811 0.00064183838 1.4202895e-05] [ 0.00021145145 -0.00090726095 0.00029408094 0.00086886422 1.4202895e-05 6.34887e-05]]] Edm: 3.1918e-05 Info in <Minuit2>: VariableMetricBuilder After Hessian Info in <Minuit2>: VariableMetricBuilder 7 - FCN = 58.92841799 Edm = 3.191799621e-05 NCalls = 150 Info in <Minuit2>: VariableMetricBuilder New Edm 3.1918e-05 Requested 2e-05 Info in <Minuit2>: VariableMetricBuilder Tolerance not sufficient, continue minimization; Edm 3.1918e-05 Required 2e-05 Info in <Minuit2>: VariableMetricBuilder Continue iterating... Info in <Minuit2>: VariableMetricBuilder Initial State: Parameter: [ -0.8623629187 45.82858941 -13.31600668 13.8144429 0.1723878449 0.9872913703] Gradient: [ -0.0001167361585 -0.003153643543 0.002700974527 0.0005228117686 -0.02418447175 0.105195989] InvHessian: [[ 0.39764639 -0.60266937 0.17420262 -0.079755497 -0.0018641237 0.00021145145] [ -0.60266937 3.4905295 -1.2626741 -1.5134361 -0.018521807 -0.00090726095] [ 0.17420262 -1.2626741 0.47721345 0.57928225 0.0071684358 0.00029408094] [ -0.079755497 -1.5134361 0.57928225 2.3708295 0.027684811 0.00086886422] [ -0.0018641237 -0.018521807 0.0071684358 0.027684811 0.00064183838 1.4202895e-05] [ 0.00021145145 -0.00090726095 0.00029408094 0.00086886422 1.4202895e-05 6.34887e-05]]] Edm: 3.1918e-05 Info in <Minuit2>: VariableMetricBuilder Iteration 8 Fval 58.9284 numOfCall 150 Internal parameters [ -0.8623629187 45.82858941 -13.31600668 13.8144429 0.1723878449 0.9872913703] Newton step [ -0.002350331066 0.0147867254 -0.005411056447 -0.007008131006 -7.843606156e-05 -1.042031825e-05] Info in <Minuit2>: MnLineSearch gdel -6.3836e-05 step [ -0.002350331066 0.0147867254 -0.005411056447 -0.007008131006 -7.843606156e-05 -1.042031825e-05] Info in <Minuit2>: MnLineSearch flast 58.9284 f0 58.9284 flast-f0 -3.1926e-05 slam 1 Info in <Minuit2>: MnLineSearch denom 6.38201e-05 Info in <Minuit2>: MnLineSearch new slam 1.00025 Info in <Minuit2>: VariableMetricBuilder Result after line search : x = 1 Old Fval = 58.9284 New Fval = 58.9284 NFcalls = 151 Info in <Minuit2>: Numerical2PGradientCalculator Calculating gradient around function value 58.9284 at point [ -0.8647132497 45.84337613 -13.32141773 13.80743477 0.1723094088 0.98728095] Info in <Minuit2>: Numerical2PGradientCalculator Parameter Gradient g2 step p0 3.11031372757e-07 6.577921111692 0.002084284521137 p1 1.904150299854e-07 12.29215393 0.001524710322782 p2 5.31097658218e-07 73.48739142136 0.0006235839379315 p3 7.518780094353e-07 1.118928460695 0.005054455938076 p4 -3.395786576262e-05 3212.096258925 9.434564650811e-05 p5 -5.791383965092e-05 15890.53328418 4.240650385811e-05 Info in <Minuit2>: DavidonErrorUpdator dx [ -0.002350331066 0.0147867254 -0.005411056447 -0.007008131006 -7.843606156e-05 -1.042031825e-05] dg [ 0.0001170471899 0.003153833958 -0.002700443429 -0.0005220598906 0.02415051388 -0.1052539029] delgam 6.38332e-05 gvg 6.38304e-05 Info in <Minuit2>: DavidonErrorUpdator delgam<gvg : use dual (BFGS) formula Info in <Minuit2>: VariableMetricBuilder Updated new point: Parameter: [ -0.8647132497 45.84337613 -13.32141773 13.80743477 0.1723094088 0.98728095] Gradient: [ 3.110313728e-07 1.9041503e-07 5.310976582e-07 7.518780094e-07 -3.395786576e-05 -5.791383965e-05] InvHessian: [[ 0.79529883 -1.2053819 0.34842135 -0.1594553 -0.0037284274 0.00042264501] [ -1.2053819 6.9813617 -2.525461 -3.0272375 -0.037042649 -0.0018129215] [ 0.34842135 -2.525461 0.95446895 1.1586991 0.014336529 0.00058757772] [ -0.1594553 -3.0272375 1.1586991 4.7419372 0.055370342 0.0017371263] [ -0.0037284274 -0.037042649 0.014336529 0.055370342 0.001283658 2.8395489e-05] [ 0.00042264501 -0.0018129215 0.00058757772 0.0017371263 2.8395489e-05 0.00012697499]]] Edm: 4.48437e-13 Info in <Minuit2>: VariableMetricBuilder 8 - FCN = 58.92838606 Edm = 4.484368604e-13 NCalls = 163 Info in <Minuit2>: VariableMetricBuilder Dcovar = 3.09334e-05 Corrected edm = 4.48478e-13 Info in <Minuit2>: VariableMetricBuilder Exiting successfully; Ncalls 163 FCN 58.9284 Edm 4.48478e-13 Requested 2e-05 Info in <Minuit2>: VariableMetricBuilder Minimum found Valid : yes Function calls: 163 Minimum value : 58.92838606 Edm : 4.484368604e-13 Internal parameters: [ -0.8647132497 45.84337613 -13.32141773 13.80743477 0.1723094088 0.98728095] Internal covariance matrix: [[ 0.79529883 -1.2053819 0.34842135 -0.1594553 -0.0037284274 0.00042264501] [ -1.2053819 6.9813617 -2.525461 -3.0272375 -0.037042649 -0.0018129215] [ 0.34842135 -2.525461 0.95446895 1.1586991 0.014336529 0.00058757772] [ -0.1594553 -3.0272375 1.1586991 4.7419372 0.055370342 0.0017371263] [ -0.0037284274 -0.037042649 0.014336529 0.055370342 0.001283658 2.8395489e-05] [ 0.00042264501 -0.0018129215 0.00058757772 0.0017371263 2.8395489e-05 0.00012697499]]] External parameters: Pos | Name | type | Value | Error +/- 0 | p0 | free | -0.8647132497 | 0.8917952862 1 | p1 | free | 45.84337613 | 2.642226651 2 | p2 | free | -13.32141773 | 0.9769692676 3 | p3 | free | 13.80743477 | 2.177598957 4 | p4 | free | 0.1723094088 | 0.03582817342 5 | p5 | free | 0.98728095 | 0.01126831814
improve the picture:
TF1 *backFcn = new TF1("backFcn",background,0,3,3);
backFcn->SetLineColor(kRed);
TF1 *signalFcn = new TF1("signalFcn",lorentzianPeak,0,3,3);
signalFcn->SetLineColor(kBlue);
signalFcn->SetNpx(500);
double par[6];
writes the fit results into the par array
fitFcn->GetParameters(par);
backFcn->SetParameters(par);
backFcn->Draw("same");
signalFcn->SetParameters(&par[3]);
signalFcn->Draw("same");
draw the legend
TLegend *legend=new TLegend(0.6,0.65,0.88,0.85);
legend->SetTextFont(72);
legend->SetTextSize(0.04);
legend->AddEntry(histo,"Data","lpe");
legend->AddEntry(backFcn,"Background fit","l");
legend->AddEntry(signalFcn,"Signal fit","l");
legend->AddEntry(fitFcn,"Global Fit","l");
legend->Draw();
Draw all canvases
%jsroot on
gROOT->GetListOfCanvases()->Draw()