9from AthenaCommon.Logging
import logging
10logger = logging.getLogger(__name__)
12from pprint
import pprint
18 logger.setLevel(OutputLevel)
21 with open(
'/afs/cern.ch/work/p/peter/public/BDT1/build/x86_64-el9-gcc14-opt/share/L0GlobalTestMenuv1_Buttinger.json')
as fh:
29 assert len(eEm_names_l) == len(j_pars_l)
30 assert len(eEm_names_l) == len(tlines_l)
32 return [
get_params(*z)
for z
in zip(eEm_names_l, j_pars_l, tlines_l)]
35 return menu[
'thresholds'][
'eEM'][
'thresholds'].keys()
38 return menu[
'thresholds'][
'eEM'][
'thresholds'][name]
42 for tl
in menu[
'connectors'][
'L0Global'][
'triggerlines']:
43 if tl[
'name'] == name:
return tl
44 raise AssertionError(
'Triggerline not found for name ' + name)
52 conversion_factors = {
60 'etmin': str(int(j_pars[
'etmin']*conversion_factors[
'etmin'])),
61 'absEta': j_pars[
'absEta'],
70 'startbit': tl[
'startbit'],
78 legal_ops = (
'>=',
'<=',
'>',
'<')
79 for fkey, fval
in discs.items():
81 op = discs[fkey][
'compOp']
82 assert op
in legal_ops,
'Unknown op ' + op
83 assert op_name
in params
85 params[fkey] = str(fval[
'value'])
void print(char *figname, TCanvas *c1)
get_params(name, j_pars, tl)
get_eEm_triggerline(menu, name)
get_eEm_jpars(menu, name)
set_eEm_discriminants(params, discs)