Beispiel #1
0
# Sample N_GEN events
data = model_gen.generate(ROOT.RooArgSet(m), N_GEN)
data = data.reduce(
    f'{m.GetName()} > {m.getMin()} && {m.GetName()} < {m.getMax()}')

# Fit and plot'em all
DE = DataExplorer(label='test', data=data, model=model)
fit_results = DE.fit(minos=True)
c = ROOT.TCanvas()
frame = DE.plot_on_frame()
frame.Draw()

# Make pull distribution for the fit
c_pull = ROOT.TCanvas()
frame_pull = DE.plot_pull()
frame_pull.Draw()

# Plot likelihood profiles
c_ll = ROOT.TCanvas()
frame_ll = DE.plot_ll(poi=N_sig)
frame_ll.Draw()

# Check whether there is bias in the fit
frame_var, frame_err, frame_pull = DE.check_fit_bias(param_to_study=N_sig,
                                                     N_toys=100)
c_var = ROOT.TCanvas()
frame_var.Draw()
c_error = ROOT.TCanvas()
frame_err.Draw()
c_pull = ROOT.TCanvas()