9MDTBA, MDTBC, MDTEA, MDTEC = 302, 303, 304, 305
13 Creates dictionaries representing the mappings
14 for different systems onto the chamber name.
19 hv, lv, jtag, name, output_channel = line.split()
20 return int(hv), int(lv), int(jtag), name, int(output_channel)
22 mdtcodes = resource_string(
"DCSCalculator2.subdetectors.data",
"mdt_codes.dat").decode().
strip().
split(
"\n")
25 lines = [line
for line
in [fix_line(raw_line)
for raw_line
in mdtcodes
if raw_line]
if line]
27 name_to_output = make_multi_mapping((name, output_channel)
for hv, lv, jtag, name, output_channel
in lines)
28 hv_to_name = make_multi_mapping((hv, name)
for hv, lv, jtag, name, output_channel
in lines)
29 lv_to_name = make_multi_mapping((lv, name)
for hv, lv, jtag, name, output_channel
in lines)
30 jtag_to_name = make_multi_mapping((jtag, name)
for hv, lv, jtag, name, output_channel
in lines)
31 name_to_name = make_multi_mapping((name, name)
for hv, lv, jtag, name, output_channel
in lines)
33 return name_to_output, hv_to_name, lv_to_name, jtag_to_name, name_to_name
38 Some chambers dont have a second multilayer (ML2).
39 Dont flag these as bad.
41 if iov.channel
in range(245, 253):
44 iov.fsmCurrentState_ML1
in [
"ON"]
and iov.v1set_ML1 >= 2730
and
45 ((iov.fsmCurrentState_ML2
in [
"ON"]
and iov.v1set_ML2 >= 2730)
or iov.fsmCurrentState_ML2 ==
"")
51 iov.fsmCurrentState_ML1 ==
"STANDBY" and iov.v0set_ML1 >= 2730
and
52 iov.fsmCurrentState_ML2 ==
"STANDBY" and iov.v0set_ML2 >= 2730
58 iov.fsmCurrentState_ML1
in [
"ON"]
and iov.v1set_ML1 >= 3050
and
59 ((iov.fsmCurrentState_ML2
in [
"ON"]
and iov.v1set_ML2 >= 3050)
or iov.fsmCurrentState_ML2 ==
"")
65 iov.fsmCurrentState_ML1 ==
"STANDBY" and iov.v0set_ML1 >= 3050
and
66 iov.fsmCurrentState_ML2 ==
"STANDBY" and iov.v0set_ML2 >= 3050