void rf607_fitresult()
{
RooRealVar mean(
"mean",
"mean of gaussians", 5, -10, 10);
RooRealVar sigma1(
"sigma1",
"width of gaussians", 0.5, 0.1, 10);
RooRealVar sigma2(
"sigma2",
"width of gaussians", 1, 0.1, 10);
RooGaussian sig1(
"sig1",
"Signal component 1",
x, mean, sigma1);
RooGaussian sig2(
"sig2",
"Signal component 2",
x, mean, sigma2);
RooRealVar sig1frac(
"sig1frac",
"fraction of component 1 in signal", 0.8, 0., 1.);
RooRealVar bkgfrac(
"bkgfrac",
"fraction of background", 0.5, 0., 1.);
std::unique_ptr<RooDataSet> data{model.generate(
x, 1000)};
std::unique_ptr<RooFitResult>
r{model.fitTo(*data,
Save(),
PrintLevel(-1))};
TH2 *hcorr =
r->correlationHist();
RooPlot *frame =
new RooPlot(sigma1, sig1frac, 0.45, 0.60, 0.65, 0.90);
frame->
SetTitle(
"Covariance between sigma1 and sig1frac");
r->plotOn(frame, sigma1, sig1frac,
"ME12ABHV");
cout <<
"EDM = " <<
r->edm() << endl;
cout <<
"-log(L) at minimum = " <<
r->minNll() << endl;
cout << "final value of floating parameters" << endl;
r->floatParsFinal().Print(
"s");
cout <<
"correlation between sig1frac and a0 is " <<
r->correlation(sig1frac, a0) << endl;
cout <<
"correlation between bkgfrac and mean is " <<
r->correlation(
"bkgfrac",
"mean") << endl;
cout << "correlation matrix" << endl;
cout << "covariance matrix" << endl;
TFile f(
"rf607_fitresult.root",
"RECREATE");
gPad->SetLeftMargin(0.15);
gPad->SetLeftMargin(0.15);
}
TMatrixTSym< Double_t > TMatrixDSym
Efficient implementation of a sum of PDFs of the form.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Chebychev polynomial p.d.f.
Plot frame and a container for graphics objects within that frame.
void SetTitle(const char *name) override
Set the title of the RooPlot to 'title'.
void Draw(Option_t *options=nullptr) override
Draw this plot and all of the elements it contains.
Variable that can be changed from the outside.
virtual void SetTitleOffset(Float_t offset=1)
Set distance between the axis and the axis title.
A file, usually with extension .root, that stores data and code in the form of serialized objects in ...
void Draw(Option_t *option="") override
Draw this histogram with options.
Service class for 2-D histogram classes.
void Print(Option_t *name="") const override
Print the matrix as a table of elements.
RooCmdArg Save(bool flag=true)
RooCmdArg PrintLevel(Int_t code)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
[#1] INFO:Fitting -- RooAbsPdf::fitTo(model) fixing normalization set for coefficient determination to observables in data
[#1] INFO:Fitting -- using generic CPU library compiled with no vectorizations
[#1] INFO:Fitting -- Creation of NLL object took 718.171 μs
[#1] INFO:Fitting -- RooAddition::defaultErrorLevel(nll_model_modelData) Summation contains a RooNLLVar, using its error level
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: activating const optimization
[#1] INFO:Minimization -- [fitFCN] No discrete parameters, performing continuous minimization only
[#1] INFO:Minimization -- RooAbsMinimizerFcn::setOptimizeConst: deactivating const optimization
RooFitResult: minimized FCN value: 1885.34, estimated distance to minimum: 0.000381082
covariance matrix quality: Full, accurate covariance matrix
Status : MINIMIZE=0 HESSE=0
Floating Parameter FinalValue +/- Error
-------------------- --------------------------
a0 7.2873e-01 +/- 1.13e-01
bkgfrac 4.3445e-01 +/- 8.57e-02
mean 5.0345e+00 +/- 3.36e-02
sig1frac 7.7758e-01 +/- 9.71e-02
sigma1 5.2318e-01 +/- 4.55e-02
sigma2 1.7671e+00 +/- 1.18e+00
RooFitResult: minimized FCN value: 1885.34, estimated distance to minimum: 0.000381082
covariance matrix quality: Full, accurate covariance matrix
Status : MINIMIZE=0 HESSE=0
Constant Parameter Value
-------------------- ------------
a1 -2.0000e-01
Floating Parameter InitialValue FinalValue +/- Error GblCorr.
-------------------- ------------ -------------------------- --------
a0 5.0000e-01 7.2873e-01 +/- 1.13e-01 <none>
bkgfrac 5.0000e-01 4.3445e-01 +/- 8.57e-02 <none>
mean 5.0000e+00 5.0345e+00 +/- 3.36e-02 <none>
sig1frac 8.0000e-01 7.7758e-01 +/- 9.71e-02 <none>
sigma1 5.0000e-01 5.2318e-01 +/- 4.55e-02 <none>
sigma2 1.0000e+00 1.7671e+00 +/- 1.18e+00 <none>
EDM = 0.000381082
-log(L) at minimum = 1885.34
final value of floating parameters
1) RooRealVar:: a0 = 0.72873 +/- 0.112573
2) RooRealVar:: bkgfrac = 0.43445 +/- 0.085744
3) RooRealVar:: mean = 5.03451 +/- 0.0336279
4) RooRealVar:: sig1frac = 0.777578 +/- 0.0971233
5) RooRealVar:: sigma1 = 0.523178 +/- 0.0455077
6) RooRealVar:: sigma2 = 1.76714 +/- 1.18159
correlation between sig1frac and a0 is -0.383713
correlation between bkgfrac and mean is -0.0516126
correlation matrix
6x6 matrix is as follows
| 0 | 1 | 2 | 3 | 4 |
----------------------------------------------------------------------
0 | 1 -0.8038 -0.02304 -0.3837 0.4249
1 | -0.8038 1 -0.05161 0.6011 -0.4042
2 | -0.02304 -0.05161 1 -0.08752 -0.04055
3 | -0.3837 0.6011 -0.08752 1 0.2836
4 | 0.4249 -0.4042 -0.04055 0.2836 1
5 | 0.8347 -0.8794 0.0146 -0.2731 0.5878
| 5 |
----------------------------------------------------------------------
0 | 0.8347
1 | -0.8794
2 | 0.0146
3 | -0.2731
4 | 0.5878
5 | 1
covariance matrix
6x6 matrix is as follows
| 0 | 1 | 2 | 3 | 4 |
----------------------------------------------------------------------
0 | 0.01295 -0.007884 -8.818e-05 -0.004281 0.002201
1 | -0.007884 0.007427 -0.0001496 0.005078 -0.001585
2 | -8.818e-05 -0.0001496 0.001131 -0.0002885 -6.206e-05
3 | -0.004281 0.005078 -0.0002885 0.00961 0.001265
4 | 0.002201 -0.001585 -6.206e-05 0.001265 0.002071
5 | 0.1142 -0.09113 0.0005905 -0.0322 0.03217
| 5 |
----------------------------------------------------------------------
0 | 0.1142
1 | -0.09113
2 | 0.0005905
3 | -0.0322
4 | 0.03217
5 | 1.446