The CLAS reconstruction and analysis package (RECSIS) has been
modified to read data from the CLAS event transfer (ET)
system so users can
perform full-fledged track reconstruction and other complex
analyses during data acquisition on a down-scaled subset
of the incoming data.
The capability of reading the ET system is part of the standard
RECSIS so that users performing offline analyses can quickly
and easily generate a version of their code that can be used
during data collection.
Send questions, complaints, flames, and such to
gilfoyle@jlab.org.
Online Recsis is part of the "Online Recovery" procedure and does not have to be started separately. It will be monitored by a Process Manager and will be re-started as part of the Online Recovery procedure. If for any reason there is a need for shift personel to start, stop, or monitor the functioning of Online Recsis, see the instructions below.
You can view the histograms as they accumulate using shared memory in PAW on CLON00. Log into CLON00 (note you have to logon to this particular machine) and enter
monb
from the command line and you will get the 'CLAS Monitoring Button Panel' which can be seen in Figure 1. Click on the "View Histograms" button and you will pop up another gui which allows you to select the online recsis histograms from shared memory or a file or to view the MON histograms. A picture of the gui is Figure 2. Click on the appropriate buttons to make your selection (,i.e.,"Global Memory Section", "View On Screen", "Online RECSIS", and "Go") and an xterm window running PAW will appear. PAW will start a HIGZ graphics window on your X-terminal with a message that can be seen in Figure 3. This gui lists some of the kumacs that can be executed to view the histograms. Several PAW command scripts (kumac files) exist to view histograms during data collection. They must be executed from the xterm running the online RECSIS PAW. The essential commands are listed below.
exec dcmon - drift chamber data from tracking.
exec trkmon - tracking results (electron beam ONLY).
exec emon - elastic scattering results (electron beam ONLY).
exec recon_print - print photon histograms to clonhp.
exec tagmon - tagger histograms.
exec photon - all the essential photon histograms.
exec welcome - print this message.
That's it. At the end of each run RECSIS online will automatically halt
analysis, close the histogram files, and start the next run.
No user intervention is necessary.
The histogram files are stored in
/work/hist/recon along with the log files.
The PAW subdirectories for RECSIS ONLINE are
//RCON/DCMON
//RCON/TAGMON
//RCON/TRKMON
//RCON/EMON
//RCON/CCMON
Some of the histograms are listed in
Table 1.
Some of the quantities measured by Online RECSIS can
be viewed as a function of time or run number using the
web-based, time-history routines.
To view the time histories from online RECSIS point
your web browser to the following address.
http://claspc10.jlab.org/TIMELINE/timeline_frames.pl
When you load the page you will see a panel with clickable buttons for
choosing the desired quantities.
A picture of the panel is shown in Figure 4.
Click on the desired buttons and you obtain a plot like
the one shown in Figure 5.
There are windows and buttons below the plot to modify the
plot as you desire.
You may want to clear your browser's cache file frequently if you
are frequently monitoring a single timeline quantity.
The quantities currently available as time histories produced by
online recsis are listed below.
where Df is the distance of closest approach derived from the best fit to the track and Dc is the distance of closest approach derived from the measured drift time.
A more complete, but less user-friendly version of the online time histories can be accessed at the following address.
http://claspc10.jlab.org/CLAS_ONLINE/
When you load the page you will see a panel with clickable buttons for
choosing the desired quantities.
A picture of the panel is shown in Figure 6.
Click on the desired buttons, enter the time range
or run number range at the bottom of the panel and click
on the button for the plot you desire (under the "Click ONE Button"
heading).
You will obtain a plot like
the one shown in Figure 5.
The quantities currently available as time histories that are not listed
in the previous section are shown below.
Online Recsis is part of the
online recovery procedure so it should always be running.
Nevertheless, there are several ways to check if
the online recsis is running.
From any CLON machine enter
onlb
from the command line and you will get the `online buttons'
graphical user interface (gui) which can be seen in
Figure 7.
Click on `Information' and a submenu will appear.
Click on `EVT Process Information' and a new, large window pops up that lists
the programs associated with the movement and processing of the
CLAS data flow on the different CLON
computers.
A sample of the window is in Figure 8.
Under the `Program' column look for an entry with
`recsis' and `clasprod' in the name.
Under the `node' column you should see `clon00'.
If the entry is the word `unknown', then it's not running.
See the next section for the procedure to start online recsis.
You can also check the number of events that have been processed and the
rate at which events are being analyzed.
Another way to see if online recsis is running is to follow the
steps above to start the online buttons gui
and then click on `Information' to get the submenu.
Now click on `ET System Information - clon00' and a list of
the processes attached to the ET system on CLON00 will be shown as
displayed in Figure 9.
Look for `RECON' (a contraction of recsis online)
among the list and you can read the number of events read in
and analyzed and the analysis rate.
If it's not there then,
see the next section for the procedure
to start online recsis.
A third way to check that online recsis is running is also to click on the
`Information' button of the online buttons gui as described
above.
One of the choices on this submenu is the `IPC Process Information'.
Clicking on this button pops up the window shown in
Figure 10.
Look for `recsis_clasprod' in the list of clients.
If it's not there then,
see the next section for the procedure
to start online recsis.
A fourth way to check that online recsis is running is to use the same
`Information' button of the online buttons gui as described
above.
Click on the `IPC Process Detailed Information' and look for
`recsis_clasprod' among the list of clients.
If it's not there then,
see the next section for the procedure
to start online recsis.
From any CLON machine enter
onlb
from the command line and you will get the 'online buttons'
graphical user interface (gui) which can be seen in
Figure 7.
Click the "Monitoring" button (a submenu appears) and then click the
"online recsis" button and another submenu will appear.
Click on `start' and
recsis will start.
You do not have to do anything else.
To see if you have been successful see the section
above.
You might have to wait a minute or so because of the time it takes for recsis
to start and then be polled by the daq monitoring system.
The simplest and best way to stop online
recsis is to log onto one of the
CLON machines and enter
onlb
from the command line.
You will get the 'online buttons'
graphical user interface (gui) which can be seen in
Figure 7.
Click the "Monitoring" button (a submenu will appear),
click on the "online recsis" button and
another submenu will appear.
Click on `stop' and recsis will halt.
See above for instructions
to see if online recsis is running.
RECSIS online will produce a log (.log) file when the code
is started and and a
histogram (.rzn) file for each run id.
The names of the files are
rellll.log runmmmmmrennnn.rznwhere llll is the RECSIS sequence number at the moment when RECSIS was started up, nnnn is the RECSIS sequence number at the start of each run and mmmm is the run number. The files are currently stored in /hist/recon.
When online recsis starts up the messages that recsis would normally
write to its terminal window are written to a log file stored in
$CLON_PARMS/run_log/recon.log
where $CLON_PARMS is an environment variable.
Old files are backed up in compressed form in
$CLON_PARMS/run_log/recon_logs/.
The online button panel (see the Parts 5-6 in Shift Tasks above which discusses the onlb command) launches a number of scripts to start up online RECSIS. The two important ones are in $CLON_BIN entitled control_recsis and run_online_recsis. The control_recsis script is listed below.
#!/bin/csh # ejw, 24-sep-01 if ($1 == start) then ssh -n $CLON_MON2 "$CLON_BIN/run_online_recsis >>& $CLON_PARMS/run_log/recon.log &" & else if ($1 == stop) then $CLON_BIN/stop_ipc_proc -a $2 -i recsis_clasprod -n $CLON_MON2 -p recon_online -s 90 >& /dev/null else echo "" echo " ?illegal arg: $1" echo "" endifThe run_online_recsis script is listed below. This is where the environment is set.
#!/bin/csh setenv CLAS_ROOT /usr/local/clas/offline/clas source $CLAS_ROOT/builds/PRODUCTION/packages/cms/clon.cshrc setenv LD_LIBRARY_PATH /usr/local/clas/offline/mysql/lib/mysql:"$LD_LIBRARY_PATH" setenv RECSIS_RUNTIME $CLON_PARMS/recon/ chdir /work/hist/recon $CLON_BIN/recon_online -a clasprod -t $CLON_PARMS/recon/recon.tcl
The binary for online RECSIS is in the $CLON_BIN area and the tcl input is in the $CLON_PARMS/recon area. The file containing the sequence number used to name the histogram file is also in the $CLON_PARMS/recon area.
The following procedure describes how to get started using the RECSIS_ONLINE package that is an adaptation of RECSIS to the online environment. It enables the user to perform track reconstruction on a downscaled fraction of the incoming data.
setenv ET_SESSION clasprod
The parameters of the Event Transfer (ET) software can be set as
Tcl variables.
The available parameters, their defaults, and a description
are listed in Table 2 below.
A sample tcl initialization file is in the
Appendix.
Parameter Name | Default Value | Description* |
read_et | 0 | Turn ET reading on/off (0=off, -1=on). |
ipc_name | Null | Unique session name for inter-process communication |
timeline_interval | 0 | Number of events ot process for monitoring |
RECSIS is designed to work on a variety of platforms
and to be ported to off-site users' computers.
The online version of RECSIS uses a number of libraries
that are proprietary and/or ones that available only on
the CLON cluster.
The libraries that are explicitly listed in the make files are listed below.
The proprietary libraries are automatically loaded by using the appropriate
link command in the file links.SunOSws6.mk in the cms
package.
ipc | et_ | et | bosio | clasutil | util | msql | socket | util |
nsl | kernlib | mysqlclient | m | nsl | socket | gcc |
If you want to make sure your online version of RECSIS
is working properly you can create your own ET system and
pass data through it from a file.
To do this task follow the procedure listed below.
clas_et_start -s your_session_name
on any of the clon machines. The argument "your_session_name" should be different from the current data acquisition (usually clasprod) to uniquely identify your ET system. I usually use my initials and a number (e.g. gpg1).
fp2et -s your_session_name -i your_data_file
where your_data_file is a file that contains CLAS data. I have used production data files pulled off the silo and stored on the work disks. Lots of stuff scrolls by and then stops when things are working normally.
cd $TOP_DIR/user
setenv ET_SESSION your_session_name
../bin/SunOS/user_online -t clasrun_init
where your_session_name must be the same string that you used in the fp2et and clas_et_start commands.
et_monitor -s your_session_name -p -c 5
The "-p" option will print statistics about your ET system and "-c 5" will update et_monitor every five seconds.