Overview
The scouting FM is responsible for controlling the scouting boards, the receiver units (i.e. the SCDAQ application), the buffer units (hltd), and the processing units (hltd, CMSSW).
To do so in a reasonably flexible way we store the FM configuration as JSON inside the RS3 DB. It is split into four parts, each stored as a property of the function manager:
LEGACY_SCOUTING_UNIT_CONFIG
fedID
: indicates which FED ID this scouting unit is receiving data fromscdaq
: contains the host/port as well as (optionally) the configuration of the SCDAQ process that receives data from the boardscone
: contains the host/port of the machine running SCONE as well as the board name that should be controlled. Additionally containsmonitorables
: lists of registers along with expected values for various states (running, configured)settings
: lists of registers along with values that should be written to them at various state transitions (start, stop, configure)
BOARD_CONFIG
- Contains host/port of the machine running SCONE as well as board name and index to address a specific board
pipelines
: a list of scouting pipelines (i.e. units within a board that take data from a given FED ID) and the configuration of their associated receiver unit (SCDAQ)daq_units
: a list of units associated to a pipeline, each of which establishes an individual TCP/IP connectiontcp_streams
: a list of TCP streams, each indicating which ports are used and which kind of objects are transported on them. This information is both to configure the scouting board as well as the receiver unit (SCDAQ)
RECEIVER_BUFFER_UNIT_CONFIG
hosts
: list of hosts acting as RUBUsinitial_config_storage_target
: temporary directory in which the hltd configuration is stored atconfigure
base_run_directory
: directory where the run directory (containing the hltd config and the SCDAQ output files) will be created atstart
prescales
: prescales that will be set based on the runkey passed to the FM (either manually at configure or automatically by the L0 as configured in the L1CE)config_directories
: the contents of the hltd config directories (jsd
andhlt
)setupmachine_options
: the commands passed to thesetupmachine.py
script on all RUBUs atinit
PROCESSING_UNIT_CONFIG
hosts
: list of hosts acting as PUssetupmachine_options
: the commands passed to thesetupmachine.py
script on all PUs atinit
The function manager configuration is stored separately from the function manager in the source control repository at scouting-demonstrator/scouting-fm-configuration.