Dear community,

I am using Roofit for fitting. I have used Double gaussian for signal and polynomial for background. I have added used RooAddPdf to mode my pdf. I am using fitTo to do the fitting. I am recieving the following warning:

**Warning in : VariableMetricBuilder Reached machine accuracy limit; Edm 0.00289339 is smaller than machine limit 0.0355437 while 0.001 was requested**

I have run it on different data sets. If the data size is increased the machine limit also increases.

This text will be hidden

I am posting a snipped portion for the details here.

////////////////Signal/////////////////

RooRealVar mean1(“mean1”,“mean of Gaussian-1”,-0.001,-0.1,0.1);

RooRealVar mean2(“mean2”,“mean of Gaussian-2”,0.002,-0.1,0.1);

RooRealVar sigma1(“sigma1”,“sigma of Gaussian-1”,0.0004 ,0.00000001,0.1);

RooRealVar sigma2(“sigma2”,“sigma of Gaussian-2”,0.001 ,0.00000001,0.1);

RooRealVar fsig1(“fsig1”, “signal fraction”, 0.4,0.,1.);

RooGaussian sig1(“sig1”,“Gaussian-1”,deltae,mean1,sigma1);

RooGaussian sig2(“sig2”,“Gaussian-2”,deltae,mean2,sigma2);

RooAddPdf twoGaussians(“twoGaussians”, "sum of two Gaussians ",RooArgList(sig1, sig2), RooArgList(fsig1));

//////////////////////////////////////////

///////////////Background/////////////////

RooRealVar p1(“p1”,“coeff #1”, 0., -100., 100.);

RooRealVar p2(“p2”,“coeff #2”, 0., -10000., 10000.);

RooPolynomial bkg(“bkg”,“bkgd pdf”, deltae, RooArgList(p1,p2));

//////////////////////////////////////////

RooRealVar nsig(“nsig”,“number of sig events”,total_entries - backg ,0.0 ,total_entries);

RooRealVar nbkg(“nbkg”,“number of bkg events”,backg ,0.0 ,total_entries);

```
RooAddPdf model2("model"," two-Gaussians + background polynomial PDF's",RooArgList(bkg,twoGaussians), RooArgList(nbkg,nsig));
```

/////////////////////////////////////////////

// In the case of an extended fit, the normalization of the PDF is automatically taken care of by RooFit.

/*

If RooFit::Save() is not mentioned, result will be a nll ptr

*/

// RooFitResult *result = model2.fitTo(*dataIMC, RooFit::Save()); //Extended(kTRUE), Range(-0.1,0.1));

RooFitResult* result = model2.fitTo(*dataIMC,

Extended(kTRUE), // Use extended maximum likelihood fit

RooFit::Save(), // Save the fit result

Strategy(1), // Use the MINUIT2 algorithm with better precision

Minimizer(“Minuit2”, “migrad”), // Use the MIGRAD algorithm for minimization

Range(-0.1, 0.1), // Fit only in the range [-5, 5]

SumW2Error(kTRUE), // Use weighted errors for fitting

Hesse(kTRUE), // Calculate the covariance matrix with HESSE algorithm after minimization

Verbose(kFALSE)); // Do not print debug information during the fit