The Metadata (lhcsmapi.metadata) module contains methods to retrieve various signal and circuit names.
In order to avoid storing full names and enable updating signal names based on time. A signal hierarchy is encoded with a dictionary and can be accessed through links in the table below
1. Signal Metadata¶
SignalMetadata class stores information about signal and circuit names as well as corresponding metadata.
- get beam mode description
In [27]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata
SignalMetadata.get_beam_mode_details()
Out[27]:
- get circuit types
In [28]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata
SignalMetadata.get_circuit_types()
Out[28]:
- get circuit names
In [29]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata
SignalMetadata.get_circuit_names('RB')
Out[29]:
- get signal name for PM
In [30]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata
SignalMetadata.get_signal_name('RB', 'RB.A12', 'PC', 'PM', 'I_MEAS')
Out[30]:
- get signal name for CALS
In [31]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata
SignalMetadata.get_signal_name('RB', 'RB.A12', 'PC', 'CALS', 'I_MEAS')
Out[31]:
- get signal name for NXCALS
In [32]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata
SignalMetadata.get_signal_name('RB', 'RB.A12', 'PC', 'NXCALS', 'I_MEAS')
Out[32]:
- get metadata for PM
In [33]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata
SignalMetadata.get_circuit_signal_database_metadata('RB', 'RB.A12', 'PC', 'PM')
Out[33]:
- get metadata for NXCALS
In [34]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata
SignalMetadata.get_circuit_signal_database_metadata('RB', 'RB.A12', 'PC', 'NXCALS')
Out[34]:
2. Mapping Metadata¶
Some signal names obtained with SignalMetadata functions have a wildcard in order to save space and exploit signal naming convention.
MappingMetadata class stores information about circuit topology, e.g., order and names of magnets in a particular circuit.
There is a collection of csv files containing circuit topology summarised in the table below.
- QPS crate name for a magnet
In [35]:
from lhcsmapi.metadata.MappingMetadata import MappingMetadata
MappingMetadata.get_crate_name_from_magnet_name('RB', 'MB.A16L2')
Out[35]:
- QPS crates for RB
In [36]:
from lhcsmapi.metadata.MappingMetadata import MappingMetadata
MappingMetadata.get_crates_for_circuit_names('RB', 'RB.A12')
Out[36]: