'''
Created on 6 Oct 2013

@author: phxlk
'''
from model import get_model_from_ROOT_file
from utils.theta_auto.model_summary import model_summary
from utils.theta_auto.bayesian import bayesian_limits
from utils.theta_auto.cls_limits import cls_limits
from utils.theta_auto.misc import chi2_test
from utils.theta_auto import config

model = get_model_from_ROOT_file('../files/test_measured.root', 'Higgs_125*')

# first, it is a good idea to generate a summary report to make sure everything has worked
# as expected. The summary will generate quite some information which should it make easy to spot
# errors like typos in the name of uncertainties, missing shape uncertaintie, etc.
model_summary(model)

limit_type = 'expected'

# 2. apply the methods
# 2.a. Bayesian limits
# Calculate expected and observed Bayesian limits. For faster run time of this example,
# only make a few mass points. (Omitting the 'signal_procsses' parameter completely would
# process all signals defined as signal processes before; see Section "Common Parameters"
# on the theta auto intro doxygen page for details)
plot_exp, plot_obs = bayesian_limits(model, what=limit_type, signal_processes = [['Higgs_125']])

# plot_exp and plot_obs are instances of plotutil.plotdata. they contain x/y values and
# bands. You can do many things with these objects such as inspect the x/y/ban
'''
Created on 6 Oct 2013

@author: phxlk
'''
from model import get_model_from_ROOT_file
from utils.theta_auto.model_summary import model_summary
from utils.theta_auto.bayesian import bayesian_limits
from utils.theta_auto.cls_limits import cls_limits
from utils.theta_auto.misc import chi2_test
from utils.theta_auto import config

model = get_model_from_ROOT_file('../files/test_unfolded.root', 'Higgs_125*')

# first, it is a good idea to generate a summary report to make sure everything has worked
# as expected. The summary will generate quite some information which should it make easy to spot
# errors like typos in the name of uncertainties, missing shape uncertaintie, etc.
model_summary(model)
limit_type = 'expected'

# 2. apply the methods
# 2.a. Bayesian limits
# Calculate expected and observed Bayesian limits. For faster run time of this example,
# only make a few mass points. (Omitting the 'signal_procsses' parameter completely would
# process all signals defined as signal processes before; see Section "Common Parameters"
# on the theta auto intro doxygen page for details)
plot_exp, plot_obs = bayesian_limits(model, what=limit_type, signal_processes = [['Higgs_125']])

# plot_exp and plot_obs are instances of plotutil.plotdata. they contain x/y values and
# bands. You can do many things with these objects such as inspect the x/y/ban
# data, pass then to plotutil.plot routine to make pdf plots, ...
'''
Created on 6 Oct 2013

@author: phxlk
'''
from model import get_model_from_ROOT_file
from utils.theta_auto.model_summary import model_summary
from utils.theta_auto.bayesian import bayesian_limits
from utils.theta_auto.cls_limits import cls_limits
from utils.theta_auto.misc import chi2_test
from utils.theta_auto import config

model = get_model_from_ROOT_file('../files/histograms.root', 'zp*')

# first, it is a good idea to generate a summary report to make sure everything has worked
# as expected. The summary will generate quite some information which should it make easy to spot
# errors like typos in the name of uncertainties, missing shape uncertaintie, etc.
model_summary(model)

# 2. apply the methods
# 2.a. Bayesian limits
# Calculate expected and observed Bayesian limits. For faster run time of this example,
# only make a few mass points. (Omitting the 'signal_procsses' parameter completely would
# process all signals defined as signal processes before; see Section "Common Parameters"
# on the theta auto intro doxygen page for details)
plot_exp, plot_obs = bayesian_limits(model, signal_processes = [['zp1000'], ['zp2000'], ['zp3000']])

# plot_exp and plot_obs are instances of plotutil.plotdata. they contain x/y values and
# bands. You can do many things with these objects such as inspect the x/y/ban
# data, pass then to plotutil.plot routine to make pdf plots, ...
# Here, we will just create text files of the plot data. This is useful if you want