GET library
GETFullInstallationGuide.txt

IMPORTANT NOTE

The tools and libraries proposed here have been developed for my needs in the data analysis.

I make the codes available despite it is not part of the GET project itself, but I would REALLY APPRECIATE if users of the code may mention it somewhere when used for analysis.

And please, let me know...


_________________________________
| |
| GET analysis libraries |#
| - all packages installation - |#
|_________________________________|#
#################################
installation note: 12/2017
contact: J. Giovinazzo (giovinaz@cenbg.in2p3.fr)
Content
-------
- OS prerequisites
- GCpp library installation
- GRootTools libraries installation
- MFM and TinyXML libraries installation
- GET libraries installation
- Event analysis library if ACTAR TPC data reader class/program should be
installed
note: since version 4.0, the GFFT library is integrated to GCpp and GRootTools
libraries
Notes
- the <...> notation indicates that the effective names or identifiers
must be used.
- the notation:
shell > command...
indicate to execute a shell command in a terminal.
Operating system prerequisites
==============================
1. Only linux OS supported
- Installation should work for: Scientific Linux, CentOS, Fedora, Ubuntu
- Be sure your shell is tcsh (csh may also work), as the compilation
scripts will not work with bash (or ksh).
Check with:
shell > echo $0
2. ROOT installation
- ROOT version 5.34 must be installed
(not all previous versions are supported, and version 6 is for sure
not yet supported).
- The ROOTSYS environment variable must be defined.
This may be checked with:
shell > echo $ROOTSYS
shell > root-config --version
3. Xerces-c library
- The Xerces-c library (XML parsing) must be installed.
Since the installation varies from one system to another, define
the following variables in the shell configuration file (.cshrc):
setenv XERCESC_INC <include directory for Xerces-c library>
setenv XERCESC_LIB <lib directory for Xerces-c library>
For example, if the XERCESCROOT environment variable is defined,
the variables may most likely look like
setenv XERCESC_LIB "${XERCESCROOT}/lib"
setenv XERCESC_INC "${XERCESCROOT}/include"
4. Custom libraries installation preparation
- The makefiles create different output files to support calls from
various OS at the same time.
The compilations are identified with environment variables.
- Even in the case of a single installation, the following variables
must be defined in .cshrc:
setenv SYSTEM "linux"
setenv ROOT_VERSION "5.34"
(use linux as default system identifier and any number corresponding
to your ROOT version)
- In order to have acces to the global documentation and download page
from the generated documentation, set the following environment
variable before compilation:
setenv JG_DOCS_URL "http://www.cenbg.in2p3.fr/AnalyseActar/GETwebDocs"
5. Documentation generation
- For all the libraries, the makefiles will generate a reference
documentation.
- This requires doxygen to be installed on the system.
GCpp installation
=================
1. Extract the archive file in the installation directory <base_dir>:
shell > cd <base_dir>
shell > tar zxvf GCpp<x.x>.tgz
2. Compilation
shell > cd <base_dir>/GCpp<x.x>/src
shell > make
3. Shell configuration
- Add the following line in the .cshrc file:
source <base_dir>/GCpp<x.x>/bin/${SYSTEM}/gcpp_config.csh
- Update the shell configuration:
shell > source $HOME/.cshrc
- Check configuration:
shell > echo $GCPP
--> should give the GCpp<x.x> directory
shell > gcpp_inc
--> should write the compilation include options
- HTML reference documentation generated in:
$GCPP/doc/html/index.html
GRootTools installation
=======================
1. Extract the archive file in the installation directory <base_dir>:
shell > cd <base_dir>
shell > tar zxvf GRootTools<x.x>.tgz
2. Compilation
shell > cd <base_dir>/GRootTools<x.x>/src
shell > make
3. Shell configuration
- Add the following line in the .cshrc file:
source <base_dir>/GRootTools<x.x>/bin/${SYSTEM}_${ROOT_VERSION}/groot.csh
- Update the shell configuration:
shell > source $HOME/.cshrc
- Check configuration:
shell > echo $JG_ROOT
--> should give the GRootTools<x.x> directory
shell > groot_inc
--> should write the compilation include options
- HTML reference documentation generated in:
$JG_ROOT/docs/html/index.html
MFM and TinyXML installation
============================
1. Install the TinyXML library
This is a small xml parser library available on internet, and required
by the the MFM library.
- Extract the archive file in the installation directory <base_dir>:
shell > cd <base_dir>
shell > tar zxvf tinyxml.tgz
- Compilation
shell > cd <base_dir>/tinyxml
shell > make
- Shell configuration
Add the following lines to the .cshrc file:
# TinyXML required for MFM
setenv TINYXML "<base_dir>/tinyxml"
setenv TINYXML_INC ${TINYXML}/include
setenv TINYXML_LIB ${TINYXML}/lib/${SYSTEM}
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${TINYXML_LIB}
2. Install the MFM library
The library is extracted from the GRU analysis package (L. Legeard, GANIL)
with a modified simple makefile in order to build a shared object dynamic
library.
- Extract the archive file in the installation directory <base_dir>:
shell > cd <base_dir>
shell > tar zxvf MFM_<version>.tgz
- Compilation
shell > cd <base_dir>/MFM_<version>
shell > make
- Shell configuration
Add the following lines to the .cshrc file:
# MFM library (from GANIL / GRU package)
setenv MFM "<base_dir>/MFM_15_10_22c"
setenv MFM_INC ${MFM}/include
setenv MFM_LIB ${MFM}/lib/${SYSTEM}
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${MFM_LIB}
GET libraries installation
==========================
1. Extract the archive file in the installation directory <base_dir>:
shell > cd <base_dir>
shell > tar zxvf GET<x.x>.tgz
2. Compilation of the GET library
shell > cd <base_dir>/GET<x.x>/src
shell > make
3. Shell configuration for the GET library
- Add the following line in the .cshrc file:
source <base_dir>/GET<x.x>/bin/${SYSTEM}_${ROOT_VERSION}/get_config.csh
- Update the shell configuration:
shell > source $HOME/.cshrc
- Check configuration:
shell > echo $GET_BASE
--> should give the GFFT<x.x> directory
shell > get_inc
--> should write the compilation include options
- HTML reference documentation generated in:
$GET_BASE/docs/html/index.html
------- the GETRoot library is optional -------
4. Compilation of the GETRoot library
shell > cd <base_dir>/GET<x.x>/root/src
shell > make
5. Shell configuration for the GETRoot library
- Add the following line in the .cshrc file:
source <base_dir>/GET<x.x>/bin/${SYSTEM}_${ROOT_VERSION}/get_root_config.csh
- Update the shell configuration:
shell > source $HOME/.cshrc
- HTML reference documentation generated in:
$GET_BASE/root/docs/html/index.html
GETActarEventReader class/program
=================================