Dear Root / RooFit experts,
For our analysis, we are trying to fit a mass spectrum. What we are trying to do is :
- First, fit the spectrum with background pdf only.
- Set background pdf parameters as constant
- Set signal pdf parameters as constant
- Finally, Fit the spectrum with background + signal pdfs. This fit has only to floating parameters, number of expected signal events and number of expected background events.
The first fit works as expected, and give coherent results (data_2011_nominal_750_fitRes_crystalball_faltB_bkg_only.pdf (16.9 KB)). However, the second fit gives very weird results (data_2011_nominal_750_fitRes_crystalball_faltB.pdf (17.4 KB)). As you can see, RooFit fit no backgrounds and only signal. There’s no fit errors. Outputs :
First fit:
[code]Dataset entries: 12461
RooFitResult: minimized FCN value: 78249.4, estimated distance to minimum: 5.6447e-05
covariance matrix quality: Full, accurate covariance matrix
Status : MIGRAD=0 HESSE=0
Floating Parameter InitialValue FinalValue +/- Error GblCorr.
muon_a 8.0000e+01 8.2559e+01 +/- 1.12e+01 <none>
muon_b -4.0000e+00 -3.9424e+00 +/- 7.51e-01 <none>
muon_c 1.0000e+00 9.9810e-01 +/- 1.29e-01 <none>[/code]
Second fit:
[code]RooFitResult: minimized FCN value: -30667.7, estimated distance to minimum: 3.68337e-08
covariance matrix quality: Full, accurate covariance matrix
Status : MIGRAD=0 HESSE=0
Constant Parameter Value
muon_a 8.2559e+01
muon_alpha 3.2884e+00
muon_b -3.9424e+00
muon_c 9.9810e-01
muon_mean 7.3029e+02
muon_n 2.4776e+00
muon_sigma 8.0612e+01
Floating Parameter InitialValue FinalValue +/- Error GblCorr.
nBkg_mu 1.2000e+04 1.3242e-08 +/- 1.21e+00 <none>
nSig 0.0000e+00 1.2461e+04 +/- 1.12e+02 <none>[/code]
I forgot to tell that the signal pdf parameters are obtained fitting a MC signal.
A little bit of code:
Firt fit:
RooFitResult* fitResult = backgroundPdf.fitTo(*RedData, Save(), Optimize(1));
Second fit:
RooFitResult* fitResult = globalPdf.fitTo(*RedData, Save(), Optimize(1));
Does anybody have an idea or a solution ?
Many thanks,
Sébastien