Ejemplo n.º 1
0
                     options.maxx, options.binsy, options.miny, options.maxy)
histo = copy.deepcopy(histo)
fitter = Fitter(['M', 'm'])
fitter.w.var("M").setVal((options.maxx - options.minx) / 2.0)
fitter.w.var("M").setMax(options.maxx)
fitter.w.var("M").setMin(options.minx)
fitter.w.var("m").setVal((options.maxy - options.miny) / 2.0)
fitter.w.var("m").setMax(options.maxy)
fitter.w.var("m").setMin(options.miny)
fitter.erfpowParam('model', ['M', 'm'])
fitter.importBinnedData(histo, ['M', 'm'], 'data')
fitter.fit('model', 'data', [
    ROOT.RooFit.SumW2Error(0),
    ROOT.RooFit.ConditionalObservables(ROOT.RooArgSet(fitter.w.var('m')))
])
fitter.fit('model', 'data', [
    ROOT.RooFit.SumW2Error(0),
    ROOT.RooFit.ConditionalObservables(ROOT.RooArgSet(fitter.w.var('m')))
])
fitter.projectionCond("model", "data", "M", "m",
                      'debug' + options.output + ".png")

data = {}

data['p0'] = returnString('c0', fitter.w)
data['p1'] = returnString('c1', fitter.w)
data['p2'] = returnString('c2', fitter.w)
f = open(options.output + ".json", "w")
json.dump(data, f)
f.close()
Ejemplo n.º 2
0
f = ROOT.TFile(args[0])
histo = f.Get(options.histo)

fitter = Fitter(['x', 'y'])
fitter.importBinnedData(histo, ['x', 'y'], 'data')

if options.function == 'erfexpW2D':
    fitter.mjjParamErfExp('model', options.json)

fitter.fit('model', 'data', [
    ROOT.RooFit.SumW2Error(1),
    ROOT.RooFit.ConditionalObservables(ROOT.RooArgSet(fitter.w.var("x")))
])
fitter.fit('model', 'data', [
    ROOT.RooFit.SumW2Error(1),
    ROOT.RooFit.ConditionalObservables(ROOT.RooArgSet(fitter.w.var("x")))
])
fitter.projectionCond("model", "data", "y", "x",
                      "debug" + options.output + ".png")

for i in range(0, 4):
    var = 'c_' + str(i)
    val, err = fitter.fetch(var)
    parameterization[var] = val
    parameterization[var + 'Err'] = err

f = open(options.output + ".json", "w")
json.dump(parameterization, f)
f.close()