N.B. this macro must be compiled with ACliC
****************************************
Minimizer is Minuit2 / Migrad
Chi2 = 131.104
NDf = 115
Edm = 2.11602e-08
NCalls = 225
Par_0 = 5.5396 +/- 0.0354094
Par_1 = 4.66089 +/- 0.050106
Par_2 = -0.0514037 +/- 0.00108539 (limited)
Par_3 = 77.2733 +/- 3.93105 (limited)
Par_4 = 30 (fixed)
Par_5 = 4.864 +/- 0.243005
int iparB[2] = { 0,
2
};
int iparSB[5] = { 1,
2,
3,
4,
5
};
struct GlobalChi2 {
fChi2_1(&
f1), fChi2_2(&f2) {}
double p1[2];
for (int i = 0; i < 2; ++i) p1[i] = par[iparB[i] ];
double p2[5];
for (int i = 0; i < 5; ++i) p2[i] = par[iparSB[i] ];
return (*fChi2_1)(p1) + (*fChi2_2)(p2);
}
};
void combinedFit() {
TH1D * hB =
new TH1D(
"hB",
"histo B",100,0,100);
TH1D * hSB =
new TH1D(
"hSB",
"histo S+B",100, 0,100);
TF1 * fB =
new TF1(
"fB",
"expo",0,100);
TF1 * fS =
new TF1(
"fS",
"gaus",0,100);
TF1 * fSB =
new TF1(
"fSB",
"expo + gaus(2)",0,100);
GlobalChi2 globalChi2(chi2_B, chi2_SB);
const int Npar = 6;
double par0[Npar] = { 5,5,-0.1,100, 30,10};
fitter.
FitFCN(6,globalChi2,0,dataB.Size()+dataSB.Size(),
true);
10,10,700,700);
}
TRObject operator()(const T1 &t1) const
R__EXTERN TStyle * gStyle
Class describing the binned data sets : vectors of x coordinates, y values and optionally error on y ...
Chi2FCN class for binnned fits using the least square methods.
class describing the range in the coordinates it supports multiple range in a coordinate.
void SetRange(unsigned int icoord, double xmin, double xmax)
set a range [xmin,xmax] for the new coordinate icoord If more range exists for other coordinates,...
void SetParamsSettings(unsigned int npar, const double *params, const double *vstep=0)
set the parameter settings from number of parameters and a vector of values and optionally step value...
void SetMinimizer(const char *type, const char *algo=0)
set minimizer type
const ParameterSettings & ParSettings(unsigned int i) const
get the parameter settings for the i-th parameter (const method)
ROOT::Math::MinimizerOptions & MinimizerOptions()
access to the minimizer control parameter (non const method)
class containg the result of the fit and all the related information (fitted parameter values,...
void Print(std::ostream &os, bool covmat=false) const
print the result and optionaly covariance matrix and correlations
Fitter class, entry point for performing all type of fits.
bool FitFCN(unsigned int npar, Function &fcn, const double *params=0, unsigned int dataSize=0, bool chi2fit=false)
Fit using the a generic FCN function as a C++ callable object implementing double () (const double *)...
const FitResult & Result() const
get fit result
const FitConfig & Config() const
access to the fit configuration (const method)
void SetStepSize(double err)
set the step size
void SetLimits(double low, double up)
set a double side limit, if low == up the parameter is fixed if low > up the limits are removed The c...
void Fix()
fix the parameter
Documentation for the abstract class IBaseFunctionMultiDim.
void SetPrintLevel(int level)
set print level
Class to Wrap a ROOT Function class (like TF1) in a IParamMultiFunction interface of multi-dimensions...
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void SetFitResult(const ROOT::Fit::FitResult &result, const Int_t *indpar=0)
Set the result from the fit parameter values, errors, chi2, etc... Optionally a pointer to a vector (...
virtual void SetRange(Double_t xmin, Double_t xmax)
Initialize the upper and lower bounds to draw the function.
virtual void SetParameters(const Double_t *params)
1-D histogram with a double per channel (see TH1 documentation)}
virtual void FillRandom(const char *fname, Int_t ntimes=5000, TRandom *rng=nullptr)
Fill histogram following distribution in function fname.
TList * GetListOfFunctions() const
virtual void Draw(Option_t *option="")
Draw this histogram with options.
virtual void Add(TObject *obj)
void SetOptFit(Int_t fit=1)
The type of information about fit parameters printed in the histogram statistics box can be selected ...
void FillData(BinData &dv, const TH1 *hist, TF1 *func=0)
fill the data vector from a TH1.
DataOptions : simple structure holding the options on how the data are filled.