fitter = Fitter(['M', 'mjj'])
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("mjj").setVal((options.maxy - options.miny) / 2.0)
fitter.w.var("mjj").setMax(options.maxy)
fitter.w.var("mjj").setMin(options.miny)

#The MJ first that is trivial

jsonFile = open(options.json)
data = json.load(jsonFile)
jsonFile.close()

if data['type'] == 'erfexp':
    fitter.erfexp('modelJ', 'mjj')

    fitter.w.var("c_0").setVal(data['c_0'])
    fitter.w.var("c_0").setConstant(1)

    fitter.w.var("c_1").setVal(data['c_1'])
    fitter.w.var("c_1").setConstant(1)

    fitter.w.var("c_2").setVal(data['c_2'])
    fitter.w.var("c_2").setConstant(1)

if data['type'] == 'expo':
    fitter.expo('modelJ', 'mjj')
    fitter.w.var("c_0").setVal(data['c_0'])
    fitter.w.var("c_0").setConstant(1)
Ejemplo n.º 2
0
f = ROOT.TFile(args[0])
histo = f.Get(options.histo)

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

if options.function == 'expo':
    fitter.expo('model', 'x')
    parameterization['type'] = 'expo'

if options.function == 'erfpow':
    fitter.erfpow('model', 'x')
    parameterization['type'] = 'erfpow'

if options.function == 'erfexp':
    fitter.erfexp('model', 'x')
    parameterization['type'] = 'erfexp'

if options.function == 'erfexpCB':
    fitter.erfexpCB('model', 'x')
    parameterization['type'] = 'erfexpCB'

if options.function == 'erfexpTimesCB':
    fitter.erfexpTimesCB('model', 'x')
    parameterization['type'] = 'erfexpTimesCB'

if options.function.find('bernstein') != -1:
    order = int(options.function.split('_')[1])
    fitter.bernstein('model', 'x', order)
    parameterization['type'] = 'bernstein'
    parameterization['order'] = order