Metadata

 

In [27]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata

SignalMetadata.get_beam_mode_details()
Out[27]:
  Mode Name Description
0 1 NOMODE No mode, data is not available, not set
1 2 SETUP Setup
2 3 INJPILOT Pilot injection
3 4 INJINTR Intermediate injection
4 5 INJNOMN Nominal injection
5 6 PRERAMP Before ramp
6 7 RAMP Ramp
7 8 FLATTOP Flat top
8 9 SQUEEZE Squeeze
9 10 ADJUST Adjust beam on flat top
10 11 STABLE Stable beam for physics
11 12 UNSTABLE Unstable beam
12 13 BEAMDUMP Beam dump
13 14 RAMPDOWN Ramp down
14 15 RECOVERY Recovering
15 16 INJDUMP Inject and dump
16 17 CIRCDUMP Circulate and dump
17 18 ABORT Recovery after a beam permit flag drop
18 19 CYCLING Pre-cycle before injection, no beam
19 20 WBDUMP Warning beam dump
20 21 NOBEAM No beam or preparation for beam
 
  • get circuit types
In [28]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata

SignalMetadata.get_circuit_types()
Out[28]:
['RB',
 'RQ',
 'IT',
 'IPD2_B1B2',
 'IPD2',
 'IPQ2',
 'IPQ4',
 'IPQ8',
 '600A',
 '60A',
 '80-120A']
 
  • get circuit names
In [29]:
from lhcsmapi.metadata.SignalMetadata import SignalMetadata

SignalMetadata.get_circuit_names('RB')
Out[29]:
['RB.A12',
 'RB.A23',
 'RB.A34',
 'RB.A45',
 'RB.A56',
 'RB.A67',
 'RB.A78',
 'RB.A81']
 
  • 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]:
'STATUS.I_MEAS'
 
  • 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]:
'RPTE.UA23.RB.A12:I_MEAS'
 
  • 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]:
'I_MEAS'
 
  • 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]:
{'system': 'FGC',
 'source': 'RPTE.UA23.RB.A12',
 'className': '51_self_pmd',
 'I_REF': 'STATUS.I_REF',
 'I_MEAS': 'STATUS.I_MEAS',
 'V_REF': 'STATUS.V_REF',
 'V_MEAS': 'STATUS.V_MEAS',
 'I_EARTH': 'IEARTH.IEARTH',
 'I_EARTH_PCNT': 'STATUS.I_EARTH_PCNT',
 'I_A': 'IAB.I_A',
 'I_B': 'IAB.I_B'}
 
  • 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]:
{'system': 'CMW',
 'device': 'RPTE.UA23.RB.A12',
 'property': 'SUB',
 'I_MEAS': 'I_MEAS'}
 

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.

System type Hyperlink
beam mode https://gitlab.cern.ch/LHCData/lhc-sm-api/tree/master/lhcsmapi/metadata/beam_mode
busbar https://gitlab.cern.ch/LHCData/lhc-sm-api/tree/master/lhcsmapi/metadata/busbar
magnet https://gitlab.cern.ch/LHCData/lhc-sm-api/tree/master/lhcsmapi/metadata/magnet
qps_crate https://gitlab.cern.ch/LHCData/lhc-sm-api/tree/master/lhcsmapi/metadata/qps_crate
 
  • 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]:
'B16L2'
 
  • QPS crates for RB
In [36]:
from lhcsmapi.metadata.MappingMetadata import MappingMetadata

MappingMetadata.get_crates_for_circuit_names('RB', 'RB.A12')
Out[36]:
['B8R1',
 'B9R1',
 'B10R1',
 'B11R1',
 'B12R1',
 'B13R1',
 'B14R1',
 'B15R1',
 'B16R1',
 'B17R1',
 'B18R1',
 'B19R1',
 'B20R1',
 'B21R1',
 'B22R1',
 'B23R1',
 'B24R1',
 'B25R1',
 'B26R1',
 'B27R1',
 'B28R1',
 'B29R1',
 'B30R1',
 'B31R1',
 'B32R1',
 'B33R1',
 'B34R1',
 'B34L2',
 'B33L2',
 'B32L2',
 'B31L2',
 'B30L2',
 'B29L2',
 'B28L2',
 'B27L2',
 'B26L2',
 'B25L2',
 'B24L2',
 'B23L2',
 'B22L2',
 'B21L2',
 'B20L2',
 'B19L2',
 'B18L2',
 'B17L2',
 'B16L2',
 'B15L2',
 'B14L2',
 'B13L2',
 'B12L2',
 'B11L2',
 'B10L2',
 'B9L2',
 'B8L2']