TFractionFitter

Hi,

I have 3 histograms,
(1) data histogram
(2) signal MC histogram
(3) QCD background histogram

Here is how they come together.
(1) = (2) + frac*(3)

I want to use TFractionFitter to vary the fraction of QCD background so that when added to (2) it gives a good fit to the data. How would I do that?

I tried the following :
TObjArray *mc = new TObjArray(2);
mc->Add(signal_MC);
mc->Add(qcd);

TFractionFitter* fit = new TFractionFitter(data, mc); 
fit->Constrain(1,1.0,1.0); // I dont want the fraction of signal to vary, just the background
fit->Constrain(2,0.0001,0.07);

I get the following results for the fractions:
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 frac0 9.29616e-01 2.48729e-03 -0.00000e+00 1.04376e+01
2 frac1 6.99999e-02 6.40766e-06 0.00000e+00 -6.59979e-02

Can I not just keep the signal fraction constant at 1.0 and only vary the background fraction? Also, whereas the signal histogram is taken from MC, the background histogram is taken from data, can I trust the errors given by the fit?

Thanks
Sarah

Dear Sarah,

I’m afraid that what you want is not possible with TFractionFitter. A basic feature of its approach is that it normalizes (within statistical uncertainties) the (weighted) sums of templates to the data within a chosen range. But isn’t it acceptable to simply transform the results?

As for your second question: it makes no difference whether your template is obtained from MC or from data. Just make sure you don’t scale it before feeding it to TFractionFitter.

Regards,
Frank