Skip to content

FERS documentation

Genie Jhang edited this page Aug 21, 2024 · 2 revisions

You need three requirements to run FERS system with FRIBDAQ.

  • Singularity(or Apptainer) container environment with the image of FRIB Buster v5.3(or later) or Bullseye v3.2(or later)
  • FRIBDAQ 12.0-021 or later
  • Janus 5202 3.6.0-FRIB or later released by FRIB-SDAQ

Overview

The focus of the FRIBDAQ support on the FERS electronics is to combine run controls with the other electronics controlled by FRIBDAQ. This has been done by implementing a server component in Janus GUI. The client component, run as a datasource in FRIBDAQ, communicates with the server to control run number, run title, output ring and most importantly start and stop.

How to setup container environment

  • Please refer to this documentation
  • Make sure to create an image with FRIB Buster v5.3(or later) or Bullseye v3.2(or later)

How to prepare Janus

  1. Download the Janus 5202 3.6.0-FRIB or later
  2. Compile the software using Janus_Install.sh command. It'll create JanusC file in the subdirectory bin.
  3. Run the Janus GUI in bin directory with python3 JanusPy.pyw.
  4. Check if the GUI runs and connects to the electronics without any issue.

How to setup ReadoutGUI

  1. On the ReadoutGUI window, add data source janusSSHPipe.

    datasource

  2. Input necessary information as below. You must put the paths within the host in the host name, not the machine running ReadoutGUI.

    janussource

    In this documentation, both ReadoutGUI and Janus are running on the same localhost machine. So, the values are the following. Client script is included in Janus bin directory.

    • Client script: /PATH/TO/JANUS/bin/client_for_fribdaq.py
    • Source ID: 0 (whatever number you want)
    • Server Host: localhost
    • Server Port: 41234 (In case you changed it in server_for_fribdaq.py, you must match the port here as well.)
    • Output Ring: janus (data output RingBuffer name)
  3. That's it. Before you press Start button, make sure to have your Janus GUI up and running. You'll see == Starting the FRIBDAQ service server! message in the terminal you started Janus GUI.

  4. Once you press Start button in ReadoutGUI, it creates SSH connection to the host in the host name and executes client_for_fribdaq.py client to communicate with the server. You can see the == Connection established message in the terminal once the connection has been made.

  5. Make sure the connection has been made to the electronics in Janus GUI. ReadoutGUI won't check the connection.

  6. Now, start/stop is controlled by ReadoutGUI. You can see FRIBDAQ-specific Settings section in RunCtrl tab of JanusGUI. Those values and the run number are automatically altered by ReadoutGUI whenever you start/stop.

How to analyze data from RingBuffer

SpecTcl code for FERS data hasn't been integrated into the mainstream of SpecTcl.

You can clone the repo SpecTcl for Janus and compile it with the latest SpecTcl to analyze the data.