Install and run ELYSE software 

and the associate toolkits


Table of Contents

What the user have to know?

The user is supposed to know how to practice more or less:

Installation of the Plug-ins and the ELYSE package 

It is supposed that the SVN, CMT (at least version v1r18), ROOT (at least version 4) tools are available under the plateform used hereafter. For definitiveness it is explicitely shown the commands to be executed under the UNIX/csh shell. Usually the toolkits are also providing UNIX/sh shell command file. The Mac XXX will be documented later.

The OpenScientist toolkit

If the user is running under Linux SL3 with the compiler gcc- 3.2.3, the  OpenScientist v16r0 toolkit binariies may directly downlaoded here. The CLHEP 2.0.3.1 and Geant 4 8.2 version are part of the toolkit and includes all the include files, the libraries and the binnaries necessary for the development of the ELYSE code or similar codes.

So, the user proceeds as followed (UNIX):
  1. download the zip file
  2. unzip on a kits area (see the Kits & CMT hierarchy) that may be different of his/her work area
  3. cd OpenScientist/v16r0
  4. chmod  a+x install
  5. ./install
To use the toolkit in stand alone mode or to see if the installation was fine, first of all setup the environment by sourcing:    
 csh> source <path>/OpenScientist/v16r0/aida-setup.csh
(  sh> . <path>/OpenScientist/v16r0/aida-setup.sh )
 Then, for instance one may experience the  ploting capability : The user may see the famous gaussian distribution and the associate fit....
Image

Also, the user may play with Geant4 interactively and show the event display. Have a look at the novice examples or a simpler example as followed:
Image

The ELYSE package

To install the ELYSE package, one may adopt a directory hierarchy as followed (UNIX):
setenv CMTPROJECTPATH "<common-area-path>/kits:<personal-area>"
project CMTI
#macro OSC_home "/usr/local/OpenScientist/v16r0"
macro OSC_home "/home/campagne/kits/OpenScientist/v16r0/"
#macro ROOT_native_version "v5-13-04b"
macro ROOT_native_version "4.03.02"

macro ROOT_home "/home/campagne/kits/root-${ROOT_native_version}"
project OSArea

use OpenScientist v16r0
use CMTI
setenv SVNURL "https://svn.lal.in2p3.fr/Opera/Glob"
svn co ${SVNURL}/ELYSE/HEAD ELYSE/<new-version>

Look at the repository SVNURL with your Web browser and see in the ELYSE/tags directory the latest tagged version to choose the new-version tag. In general new-version is composed with a <major> and a <minor> number (eg. v<major>r<minor>) and the usage is that <major> indicates non backward compatibility (notice that it might be that <minor> release are non backward compatible).
source <common-area-path>/kits/CMT/<version>/mgr/setup.csh
UNIX> cd ELYSE/<version>/cmt
UNIX> cmt config
UNIX> source setup.csh

At this stage one may wander if the environment is correct and if CMT will find all the packages to proceed to a successful compilation and linkage. One can use the following cross-checks:
UNIX> cd ELYSE/<version>/cmt>
UNIX> cmt show path
# Add path /home/campagne/projets/OSArea from initialization
# Add path /home/campagne/kits/OpenScientist/v16r0 from ProjectPath
# Add path /home/campagne/CMTI from ProjectPath
# Add path /home/campagne/CMTI from ProjectPath
Here it is shown that the CMTPROJECTPATH is well defined and that the different project.cmt files are correctly configurated. Then uses,
UNIX> cmt show uses
# use OpenScientist v16r0 Interfaces
# use ROOT v1r* Interfaces (native_version=4.03.02)
#
# Selection :
use CMT v1r18p20051108 (/home/campagne/kits)
use ROOT v1r51000p0 Interfaces (/home/campagne/CMTI/)
use OpenScientist v16r0 Interfaces (/home/campagne/CMTI/)
to see if the OpenScientist and ROOT Interface packages are found (this does not mean yet that the Interfaces are correctly tuned...)
UNIX> cd ELYSE/<verson>/cmt
UNIX> gmake

If the all the process of compilationand link is ok, then one should see the following lines:

[...]
------> ELYSE_session ok
------> (constituents.make) ELYSE_session done
 all ok.

At the stage, one has build sucessfully ELYSE_session (the interactive version mostly for visualisation) and the ELYSE_batch (the batch version mostly for tuple production on large statistics).

Simple runs

Usually the user starts an UNIX session and want to run ELYSE. The two things to do are:

1) be sure to define the CMTPROJECTPATH variable (at login or by sourcing a meta-setup)
2) execute the ELYSE setup (no more necessary to run "cmt config"):
UNIX> cd <personal-area>/OSArea/ELYSE/<versioin>/cmt
UNIX> source setup.csh

The directory hierarchy of the ELYSE package is the following:

source source Core directory
application source files where the main steering routine is defined
ELYSE include files of the Core
cmt directory where the CMT management files are located (requirements, setup/cleanup)
data event file directory. NUANCE style is used to code the primary vertex particles
run executable are run from this directory, the inputEventfile symbolic link to an existing event file should be set before run. There are also a collection of ROOT macros to decode the output event sturcture stored into the tuple.
scripts Geant4 and OpenScientist scripts

Interactive session

In an interactive session the tuple generation is desable and one starts as followed:
UNIX> cd $ELYSEROOT/run
UNIX> ../$CMTCONFIG/ELYSE_session.exe
 
After more or less 15'' the geometry is loaded, and 15'' more is needed to see the OnX screen session. Then in the Geant menu, one should validate the number of event to process via the Run sub-menu. The first event is processed and the track of the optical volume are dispayed. By clicking on the eye then it is possible to rotate the event, zoom and so on. One may see the following screen:
image

One can visualize the "Hits" using the ELYSE menu, although it is then useful to use the zoom by using CTRL-Shift + drag the mouse in the ("Hand mode" see right icons).

Image

Using "Arrow Mode" (right icons) the user enter in picking mode to get some ascii information on the object (or collection of objects selected by CTRL-Shift + drag mouse).

Batch mode

In the batch mode, the user produces an event tuple (run/ELYSE.root) created via the AIDA abstract interfaces implementation by OpenScientist. The I/O is performed in ROOT-I/O repackaged format that can be analysed
UNIX> you are in the run directory
UNIX> (cd ../cmt ; gmake ROOT)
  
        The difference between the two applications are XXX    
The structure of the tuple for the moment is the following:
  std::string column = "int eventId, inputEvtId, interMode, vtxVol, ";
  column += "ITuple vtxPos = { double x, y, z }, ";
  column += "int nPart, leptonIndex, protonIndex, ";
  column += "ITuple track = { int pId, parent, float timeStart, ";
  column +=                  "ITuple direction = { double dx, dy, dz }, ";
  column +=                  "double mass, pTot, ETot, ";
  column +=                  "ITuple momentum  = { double px, py, pz }, ";
  column +=                  "ITuple startPos  = { double  x,  y,  z }, ";
  column +=                  "ITuple stopPos   = { double  x,  y,  z }, ";
  column +=                  "int startVol, stopVol ";
  column +=                "}, ";
  column += "int nHits, ITuple hit = { int tubeId, int totalPE, ITuple pe = { float time} }, ";
  column += "int nDigits, double sumPE, ";
  column += "ITuple digit = { int tubeId, double pe, time }";