def FeldmanCousins(this_ctr, total_ctr, confidence_interval): from ROOT import TEfficiency k = TEfficiency() eff_mean = float(this_ctr) / float(total_ctr) eff_upper = k.FeldmanCousins(total_ctr, this_ctr, confidence_interval, True) eff_lower = k.FeldmanCousins(total_ctr, this_ctr, confidence_interval, False) return eff_mean, [eff_lower, eff_upper]
import sys from ROOT import TEfficiency if (len(sys.argv) != 3): print print 'USAGE : python FCstats.py Ntotal Npass' print exit() tot = int(sys.argv[-2]) passing = int(sys.argv[-1]) k = TEfficiency() k.SetStatisticOption(TEfficiency.kFFC) # get +/- 1 sigma interval from Feldman Cousins statistics eff = passing / float(tot) eff_upper = k.FeldmanCousins(tot, passing, 0.6827, True) eff_lower = k.FeldmanCousins(tot, passing, 0.6827, False) print 'Efficiency : %.03f.' % (eff) print '1-sigma interval : [%.03f, %.03f]' % (eff_lower, eff_upper)