Recsis: Difference between revisions

From CLONWiki
Jump to navigation Jump to search
Boiarino (talk | contribs)
No edit summary
No edit summary
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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.
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.
'''NOTE: Pay special attention to the files in 'cms' directory (mostly link.*) amd Makefile in 'recon' directory, they were customized for online environment.'''


Send questions, complaints, flames, and such to ''gilfoyle@jlab.org''.
Send questions, complaints, flames, and such to ''gilfoyle@jlab.org''.
Line 5: Line 7:
== Building RECSIS ==
== 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-f8-2 do following on ''clonmon2'' machine:
 
For example to build release-4-17 do following on ''clon04'' machine:


  cd /usr/local/clas/offline/clas/builds
  cd /usr/local/clas/offline/clas/builds
  mkdir release-4-17
  mkdir release-f8-2
  cd release-4-17
  cd release-f8-2
  setenv CVSROOT /u/group/clas/clas_cvs
  setenv CVSROOT /u/group/clas/clas_cvs
  cvs co online_source
  cvs co online_source
  cd packages
  cd packages
setenv MYSQL_INCLUDE_PATH /usr/include/mysql
setenv MYSQL_LIB_PATH /usr/lib/mysql
  gmake lib ONLINE=YES
  gmake lib ONLINE=YES
  gmake exe ONLINE=YES
  gmake exe ONLINE=YES


== Running RECSIS ==


First, point PRODUCTION to the desired release, for example:


To start RECSIS_ONLINE use following commands (for our example):


======
  setenv CLAS_ROOT /usr/local/clas/offline/clas
????
  cd $CLAS_ROOT/builds
 
  rm PRODUCTION
  source /net/fs2/group/clas/builds/PRODUCTION/packages/cms/jlab.cshrc
  ln -s release-f8-2 PRODUCTION
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.
source $CLAS_ROOT/builds/PRODUCTION/packages/cms/clon.cshrc PRODUCTION
setenv LD_LIBRARY_PATH /usr/lib/mysql:"$LD_LIBRARY_PATH"
#setenv LD_LIBRARY_PATH $CODA/SunOS_sun4u/lib:"$LD_LIBRARY_PATH"
setenv RECSIS_RUNTIME $CLON_PARMS/recon/
chdir /usr/clas/archives/hist/recon
setenv LD_LIBRARY_PATH .:${LD_LIBRARY_PATH}
$CLAS_ROOT/builds/PRODUCTION/bin/LinuxRHEL5/recon -a clasprod $CLON_PARMS/recon/recon.tcl

Latest revision as of 11:20, 30 March 2010

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.

NOTE: Pay special attention to the files in 'cms' directory (mostly link.*) amd Makefile in 'recon' directory, they were customized for online environment.

Send questions, complaints, flames, and such to gilfoyle@jlab.org.

Building RECSIS

For example to build release-f8-2 do following on clonmon2 machine:

cd /usr/local/clas/offline/clas/builds
mkdir release-f8-2
cd release-f8-2
setenv CVSROOT /u/group/clas/clas_cvs
cvs co online_source
cd packages
setenv MYSQL_INCLUDE_PATH /usr/include/mysql
setenv MYSQL_LIB_PATH /usr/lib/mysql
gmake lib ONLINE=YES
gmake exe ONLINE=YES

Running RECSIS

First, point PRODUCTION to the desired release, for example:

To start RECSIS_ONLINE use following commands (for our example):

setenv CLAS_ROOT /usr/local/clas/offline/clas
cd $CLAS_ROOT/builds
rm PRODUCTION
ln -s release-f8-2 PRODUCTION
source $CLAS_ROOT/builds/PRODUCTION/packages/cms/clon.cshrc PRODUCTION
setenv LD_LIBRARY_PATH /usr/lib/mysql:"$LD_LIBRARY_PATH"
#setenv LD_LIBRARY_PATH $CODA/SunOS_sun4u/lib:"$LD_LIBRARY_PATH"
setenv RECSIS_RUNTIME $CLON_PARMS/recon/
chdir /usr/clas/archives/hist/recon
setenv LD_LIBRARY_PATH .:${LD_LIBRARY_PATH}
$CLAS_ROOT/builds/PRODUCTION/bin/LinuxRHEL5/recon -a clasprod $CLON_PARMS/recon/recon.tcl