Recsis
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.
Building RECSIS
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.
For example to build release-4-17 do following on clon04 machine:
cd /usr/local/clas/offline/clas/builds mkdir release-4-17 cd release-4-17 setenv CVSROOT /u/group/clas/clas_cvs cvs co online_source cd packages gmake lib ONLINE=YES gmake exe ONLINE=YES
==
????
source /net/fs2/group/clas/builds/PRODUCTION/packages/cms/jlab.cshrc source /apps/smartsockets/rtinit.csh setenv CLAS_RTIPC_LIB /apps/smartsockets/ss52/lib/sun4_solaris
The first command gets the CLAS environment. The second sets up the inter-process communication package and the third points to the location of a proprietary library. You may also want to set the CVS environment variable TOP_DIR. For our example we do the following.
setenv TOP_DIR /net/fs1/home/jojo/test
Change directory to the area where your version of RECSIS is stored (the user area for our example). If you don't have versions of your libraries for the Sun, make them now.
cd /net/fs1/home/jojo/test/user make lib
Now make the RECSIS_ONLINE executable with the following command.
make exe ONLINE=yes
You should see the executable 'user_online' in the area '../bin/SunOS'. This command links your recsis libraries with the appropriate online libraries instead of the default dummy libraries.
Edit your tcl input file (e.g. , init.tcl) and include the lines shown below to enable reading of the ET system.
set read_et $true setc ipc_name "csis"
To turn off the ET system reading simple set this tcl variable to zero (or $false) and enter the name of a data file (e.g., with the inputfile command). By default read_et=0 or read_et=$false so data is NOT read from the ET system unless you request it. If you do request ET system reading, it overrides reading the data from a file. The second variable defines the unique name of the process so the InterProcess Communication (IPC) system can monitor the data acquisition. More discussion of the tcl parameters associated with reading data from the ET system is below. A sample tcl initialization file is in Appendix B.
Now run RECSIS_ONLINE with the following command (for our example).
../bin/SunOS/user_online -t init.tcl
You will the usual RECSIS output plus some new messages proclaiming the startup of the IPC (InterProcess Communication software) and the connection to the ET system. All the usual RECSIS commands should work.