TBinomialEfficiencyFitter produces unexpected results

I tried to use TBinomialEfficiencyFitter on a pair of 1D histograms: numerator being a subset of the denominator and fitting the to a parametric form: efficiency vs. electronic threshold - as threshold goes up, efficeincy goes down. My histograms had very low statistics. My parameteric function is a simple sigmoidal: myFunc(t) = Aexp(-b*(t-t0))/(1+exp(-b*(t-t0))): A is the efficiency in the limit t–> 0. The three attached histograms show the efficiency with the binomial fitter (1st and 3rd plots - different data sets) and the “normal” fitter (2nd plot - same data as 3rd plot) using all equal weights: ratio->Fit(“myFunc”,“w”) The 3rd plot is the problem: Its as though the binomial fitter ignores the 100% efficiency bins for t<160. Note: if there is there are not a bunch of consecutive bins at the beginning that have 100% efficiency (1st plot), TBinomialEfficiencyFitter does a better job.

My comment is: I feel that that the fancy fitter is doing a worse job than the normal chi2 fitter w/ equal weights. Am I missign something? Thanks

I am using Root 5.18/0 on winxp

Lorenzo will process your mail once he will be back from holidays. Meanwhile could you post your histograms and a short script?


the attached .root file contains a numerator (pnum) and denominator (pden) histogram and a parametric efficency function (peff)

TBinomialEfficiencyFitter b(pnum,pden);

gives bad fit to data. Whereas


gives reasonable fit
binomial.root (7.61 KB)


your function can reach values greater than 1 which are not physicals and then confuse the binomial fitter which does not converge at the end.

You should either find a better function parameterization which cannot give values greater than 1 or set a limit on the first parameter P[0].
For example this works fine:

TBinomialEfficiencyFitter b(pnum,pden);