To create an instance of cross_section_helper
, you need three things. First, you need to pass a list masses
which contains the new particle masses for which you have cross sections. Second, you need to pass list sig_css
which has the same length as masses
which gives the signal cross section (in pb) associated with the elements of masses
. Finally, you need to pass a list bg_css
which provides the cross sections for whatever the relevant background processes are.
From these arguments, the instance of cross_section_helper
produces a few other variables. These are reasonably intuitive based on the variable name: m2logcsF
, for instance, gives an interpolated function mapping a new particle mass to $log_{10}(\sigma_s)$, the log of the associated signal cross section.
from bcml4pheno import ttbarzp
masses, sig_css, bg_css = ttbarzp.get_elijah_ttbarzp_cs()
elijah_ttbarzp = cross_section_helper(masses, sig_css, bg_css)
print(np.round(elijah_ttbarzp.absolute_max_mass_sens(),3), elijah_ttbarzp.mass_units)
cvalues = [500, 750, 1000, 1500, 2000]
clabels = [str(val) for val in cvalues]
manual = [(0.85, -1), (0.85, -2), (0.85, -3), (0.85, -3.5), (0.85, -6)]
elijah_ttbarzp.max_mass_sens_versus_tpr_fpr(plot=True, cvalues=cvalues, clabels=clabels, manual=manual);