System usage

From HELIOS Digital DAQ
Revision as of 19:17, January 21, 2021 by Ttang (talk | contribs) (→‎the Control Computer & starting a new experiment)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Details Pertaining to the Usage of the System

Just going to write a bunch of stuff here for now and sort it into something more digestible later on...

How To Guide to Starting the DigiOS DAQ HowToStartDAQ

How To Guide to Run the DigiOS DAQ HowToRunDAQ

the Control Computer & starting a new experiment

This is the iMac located in the data room

 heliosdigios
  traditional name of the device

Directory structure

Directory.png

From the home directory

~$cd digios

I assume you are in the master branch. If not, please look at How to clean up the working directory and prepare for a new experiment?

I also suppose you are going to run a new experiment.

digios$./SetUpNewExp

If not, you will see that you are in the branch for the current experiment.

After following the instruction in the SetUpNewExp, please go to the working directory to start the online analysis

digios$cd analysis/working

If some data already taken. You can start online analysis by

working$Process_RUN <runNum>

The bash script will download the data from the DAQ, merge the data, build-event (also call sorting), do mapping (using GeneralSort), and run Monitors.C

Starting the EDM-based acquisition

The acquisition computer is located at digios1.onenet and we are using the logon name and password of dgs

ssh -X [email protected]

Note that on logon it may say dgs@helios1, ignore - in the future this should be modified to match digios1.

The working directory of the acquisition gui is

/global/devel/systems/helios[/edm/screens or scripts] (with some additional scripts in /global/devel/systems/edm/). 
~/digios/daq/edm/scripts/

Notes that the system path includes the ~/digios/daq/edm/scripts

To bring up the gui

heliosCommander

using _editable if you know what you are doing. Also, there is a link to the heliosCommander executable in the dgs home directory at the moment (NEED TO MAKE THIS EASY AND UNIVERSAL).

This will bring up the edm 1-12-3 (on helios1) window, as well as the RunControl gui. If it does not, see Known Issues below. This script will also set environment variables such as

export EDMOBJECTS=/global/devel/extensions/dgs1/src/edm/setup
export EDMHELPFILES=/global/devel/extensions/dgs1/src/edm/helpFiles
export EDMBASE=/global/devel/extensions/dgs1/src/edm
export EDM=/global/devel/extensions/dgs1/src/edm/edmMain/O.linux-x86/edm
export EDMPVOBJECTS=/global/devel/extensions/dgs1/src/edm/setup
export EDMFILES=/global/devel/extensions/dgs1/src/edm/setup
export EDMDATAFILES=$EDMDATAFILES:/global/devel/systems/helios/edm/screens
export EDMSCRIPTS=/global/devel/systems/helios/edm/scripts

Note that the EDMSCRIPTS location is where most of the scripts called through the gui run from and EDMDATAFILES holds the various gui screen files.

On RunControl gui select Terminals->IOC#, where # is the IOC number, to make sure IOC# has booted up. This calls a script called terminals with option #+2. For example to start IOC1

terminals 3

On RunControl gui select Terminals->Soft IOC to boot Soft IOC. This calls a script called terminals with option 1.

terminals 1

SoftIOC will then boot, ending with epics> gretClustGT.sav: 929 of 929 PV's connected. The soft IOC calls a script (NEED INFO HERE).

On RunControl gui select Terminals->Trigger IOC to boot Trigger IOC.

On RunControl gui select Scripts->Trigger Lock. This calls a script called [XXX]. To check that things are locked, open Triggers->Trig Summary from the RunControl gui to see lock status. (Need nice figure of properly set Trigger locks).

On RunControl gui select ->Digitizer Setup. This calls a script called dig_setup. This script holds a lot of the meat for setting up the digitizers and getting the system running. A list of the parameters and their meanings can be found at File:Dig reg map with vba.xls but be aware that this file is subject to change. The most up to date version can be found on the internal svn site (NEED LINK TO SVN HERE).

If all scripts are set properly should be able to start acquisition at this point.

Data Taking

To collect data you must start data collection from an ioc through the command (NEED MORE INFO HERE)

gtReceiver# <server_ip> <filename> <maxfilesize> <GEBID>
     0         1         2           3           4     

e.g: gtReceiver4 ioc1 data_run_001.gtd 2000000000 14

Note: ioc1 should point to a specific ip address in the /etc/hosts file.

GEBID=14 is DGS data

GEBID=15 is DGSTRIG data

GEBID=16 is DFMA data

<maxfilesize> specifies the max file size in bytes. If a file runs over the limit a new file will be openend with a new counter number at the end. A value of 2000000000 or less ensures the files are less than 2GB and can be read by all operating systems.

NOTE: use 'ctrl-c' to stop this receiver program (it will then clean and close properly)

where the # refers to the version number of the Receiver software. At present we are using #=4. The <server> location in found in /etc/hosts file, the <filename> is the .gtd extension, and <maxfilesize> is typically set to 2e9 to make sure files are smaller than 2GB each.

This software can be obtained at [gtReceiver svn location]. There is a checked out version of this located at ~/Receiver/ and the executable has been put in ~/bin_Linux_i386/.

A start script can be used to start the gtReceiver (SHOULD BE MADE INTO A BUTTON), such as this one taken from dgs1 on 6/22/15.

#!/bin/bash -l
  export TERM=vt100
  echo " terminals" 
# Now spawn receiver windows for IOC1-11.
 xterm -T ioc1 -geometry 110x24+0+0  -sb  -sl 1000 -e "gtReceiver4" "ioc1" "run_$1.gtd01" "2000000000" "14" &
 xterm -T ioc2 -geometry 110x24+0+370 -sb -sl 1000 -e "gtReceiver4" "ioc2" "run_$1.gtd02" "2000000000" "14" &
 xterm -T ioc3 -geometry 110x24+0+740 -sb -sl 1000 -e "gtReceiver4" "ioc3" "run_$1.gtd03" "2000000000" "14" &
 xterm -T ioc4 -geometry 110x24+400+0 -sb -sl 1000 -e "gtReceiver4" "ioc4" "run_$1.gtd04" "2000000000" "14" &
 xterm -T ioc5 -geometry 110x24+400+370 -sb -sl 1000 -e "gtReceiver4" "ioc5" "run_$1.gtd05" "2000000000" "14" &
caput Online_CS_SaveData Save
caput GLBL:DIG:disc_width 15  # this is to just for safety
#sleep 2
caput Online_CS_StartStop Start
wait 10
echo All Done - Terminal Window is Free to use.

With gtReceiver4 version each digitizer with get its own file to write to, each having the same run number but with and extra _### as well.

Known Issues

A number of PV's on the Global Parameters window do not show values and cannot be modified. This may have to do with firmware / edm window non-compatibilities, i.e. versions are different.

If error Fonts did not load, or something along these lines, then type following to fix

xset fp+ /usr/share/X11/fonts/100dpi