ATLAS Offline Software
Loading...
Searching...
No Matches
eEmTipWriterParams_from_json Namespace Reference

Functions

 eEmTipWriterParams_from_json (OutputLevel)
 get_eEm_names (menu)
 get_eEm_jpars (menu, name)
 get_eEm_triggerline (menu, name)
 get_params (name, j_pars, tl)
 set_eEm_discriminants (params, discs)

Variables

 logger = logging.getLogger(__name__)

Function Documentation

◆ eEmTipWriterParams_from_json()

eEmTipWriterParams_from_json.eEmTipWriterParams_from_json ( OutputLevel)

Definition at line 16 of file eEmTipWriterParams_from_json.py.

16def eEmTipWriterParams_from_json(OutputLevel):
17
18 logger.setLevel(OutputLevel)
19
20
21 with open('/afs/cern.ch/work/p/peter/public/BDT1/build/x86_64-el9-gcc14-opt/share/L0GlobalTestMenuv1_Buttinger.json') as fh:
22 menu = js.load(fh)
23
24
25 eEm_names_l = get_eEm_names(menu)
26 j_pars_l = [get_eEm_jpars(menu, n) for n in eEm_names_l]
27 tlines_l = [get_eEm_triggerline(menu, n) for n in eEm_names_l]
28
29 assert len(eEm_names_l) == len(j_pars_l)
30 assert len(eEm_names_l) == len(tlines_l)
31
32 return [get_params(*z) for z in zip(eEm_names_l, j_pars_l, tlines_l)]
33

◆ get_eEm_jpars()

eEmTipWriterParams_from_json.get_eEm_jpars ( menu,
name )

Definition at line 37 of file eEmTipWriterParams_from_json.py.

37def get_eEm_jpars(menu, name):
38 return menu['thresholds']['eEM']['thresholds'][name]
39

◆ get_eEm_names()

eEmTipWriterParams_from_json.get_eEm_names ( menu)

Definition at line 34 of file eEmTipWriterParams_from_json.py.

34def get_eEm_names(menu):
35 return menu['thresholds']['eEM']['thresholds'].keys()
36

◆ get_eEm_triggerline()

eEmTipWriterParams_from_json.get_eEm_triggerline ( menu,
name )

Definition at line 40 of file eEmTipWriterParams_from_json.py.

40def get_eEm_triggerline(menu, name):
41
42 for tl in menu['connectors']['L0Global']['triggerlines']:
43 if tl['name'] == name: return tl
44 raise AssertionError('Triggerline not found for name ' + name)
45

◆ get_params()

eEmTipWriterParams_from_json.get_params ( name,
j_pars,
tl )

Definition at line 46 of file eEmTipWriterParams_from_json.py.

46def get_params(name, j_pars, tl):
47 print('get_params')
48 print(name)
49 pprint(j_pars)
50 pprint(tl)
51
52 conversion_factors = {
53 'etmin' : 10,
54 'etaMin' : 1, # not known at present (13/102025)
55 'etaMax' : 1, # not known at present (13/102025)
56 }
57
58 params = {
59 'name': name,
60 'etmin': str(int(j_pars['etmin']*conversion_factors['etmin'])),
61 'absEta': j_pars['absEta'],
62 'etaMin': '0',
63 'etaMax': 'inf',
64 'rhad': 'unknown',
65 'reta': 'unknown',
66 'wstot': 'unknown',
67 'rhad_op': '',
68 'reta_op': '',
69 'wstot_op': '',
70 'startbit': tl['startbit'],
71 'nbits': tl['nbits']
72 }
73
74 set_eEm_discriminants(params, j_pars['flags'])
75 return params
76
void print(char *figname, TCanvas *c1)

◆ set_eEm_discriminants()

eEmTipWriterParams_from_json.set_eEm_discriminants ( params,
discs )

Definition at line 77 of file eEmTipWriterParams_from_json.py.

77def set_eEm_discriminants(params, discs):
78 legal_ops = ('>=', '<=', '>', '<')
79 for fkey, fval in discs.items():
80 op_name = fkey+'_op'
81 op = discs[fkey]['compOp']
82 assert op in legal_ops, 'Unknown op ' + op
83 assert op_name in params
84 assert fkey in params
85 params[fkey] = str(fval['value'])
86 params[op_name] = op
87
88

Variable Documentation

◆ logger

eEmTipWriterParams_from_json.logger = logging.getLogger(__name__)

Definition at line 10 of file eEmTipWriterParams_from_json.py.