System usage: Difference between revisions

From HELIOS Digital DAQ
Jump to navigation Jump to search
 
(35 intermediate revisions by 2 users not shown)
Line 2: Line 2:
Just going to write a bunch of stuff here for now and sort it into something more digestible later on...
Just going to write a bunch of stuff here for now and sort it into something more digestible later on...


=Starting the acquisition=
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
 
[[File:Directory.png|800px|frameless]]
 
From the home directory
 
~$cd digios
 
I assume  you are in the master branch. If not, please look at [["How to" for analysis code#How to clean up the working directory and prepare for a new experiment? | How to clean up the working directory and prepare for a new experiment? ]]
 
I also suppose you are going to run a [["How to" for analysis code#How to Setup for a new experiment? | 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'''
The acquisition computer is located at '''digios1.onenet''' and we are using the logon name and password of '''dgs'''
Note that on logon it will say '''dgs@helios1''', this should be modified to match '''digios1'''.
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
The working directory of the acquisition gui is
  /global/devel/systems/helios
  <s>/global/devel/systems/helios[/edm/screens or scripts] (with some additional scripts in /global/devel/systems/edm/). </s>
and is based off of the '''mobacq''' directory.
~/digios/daq/edm/scripts/
 
Notes that the system path includes the ~/digios/daq/edm/scripts


To bring up the gui
To bring up the gui
  heliosCommander
  heliosCommander
using '''_editable''' if you know what you are doing.
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 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
This script will also set environment variables such as
  export EDMOBJECTS=/global/devel/extensions/dgs1/src/edm/setup
  export EDMOBJECTS=/global/devel/extensions/dgs1/src/edm/setup
Line 25: Line 62:
  export EDMDATAFILES=$EDMDATAFILES:/global/devel/systems/helios/edm/screens
  export EDMDATAFILES=$EDMDATAFILES:/global/devel/systems/helios/edm/screens
  export EDMSCRIPTS=/global/devel/systems/helios/edm/scripts
  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.
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 '''TS/Setup->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
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
  terminals 3


On '''RunControl''' gui select '''TS/Setup->SoftIOC''' to boot SoftIOC. This calls a script called [[terminals]] with option 1.
On '''RunControl''' gui select '''Terminals->Soft IOC''' to boot Soft IOC. This calls a script called [[terminals]] with option 1.
  terminals 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''').
'''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 '''TS/Setup->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.
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.
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 [[https://wiki.anl.gov/gsdaq/Receivers/GEBMerge/GEBsort 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=
=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
If error ''Fonts did not load'', or something along these lines, then type following to fix
  xset fp+ /usr/share/X11/fonts/100dpi
  xset fp+ /usr/share/X11/fonts/100dpi

Latest revision as of 19:17, January 21, 2021

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