InSANE
Written by Whitney Armstrong (whit@temple.edu)
Introduction
InSANE is a set of C++ shared libraries which are usefull for doing data analysis and performing calculations in nuclear/particle physics. The libraries easily link into the ROOT framework and stand alone programs.
Installation
Prerequisites
ROOT
Make sure to build root with python enabled:
./configure --enable-python
CLHEP - A Class Library for High Energy Physics.
This library provides InSANE mainly the system of units (which are the same as GEANT4) and physical constants.
LHAPDF - The Les Houches Accord PDF Interface
During the install it is recommended that you configure with the low memory option.
./configure --prefix=/path/to/directory --enable-low-memory
SQLite3
Database used for experimental analysis side.
Downloading InSANE
git clone http://github.com/whit2333/InSANE.git
Configuring your environment.
You should set the following environment variables in your .bashrc or equivalent.
export InSANEDIR=/path/to/InSANE
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$InSANEDIR/lib
export InSANE_PDF_GRID_DIR=$InSANEDIR/main/grid
export InSANE_USE_LHAPDF=1
export InSANE_DB_PATH=/home/whit/sane08/sane08_database/sqlite
export PATH=$PATH:$InSANEDIR/bin
export PYTHONPATH=$InSANEDIR/lib:$PYTHONPATH:$InSANEDIR/python
export InSANELOG=/home/whit/sane08/log
Building
Once the environment is configured you can build.
make # do not use -jn
If all goes well you should see it end with:
cd lib/ ; ln -sf libInSANEGeneral.so.1.1 libInSANEGeneral.so
cd lib/ ; ln -sf libInSANECut.so.1.1 libInSANECut.so
cd lib/ ; ln -sf libInSANEGeo.so.1.1 libInSANEGeo.so
cd lib/ ; ln -sf libInSANECluster.so.1.1 libInSANECluster.so
cd lib/ ; ln -sf libInSANEMath.so.1.1 libInSANEMath.so
cd lib/ ; ln -sf libInSANEEvent.so.1.1 libInSANEEvent.so
cd lib/ ; ln -sf libInSANE.so.1.1 libInSANE.so
Using with root
Add to your .rootlogon.C
gSystem->Load("libFoam");
gSystem->Load("libTreeViewer");
gSystem->Load("libEG");
gSystem->Load("libPythia6"); // this has to be loaded before libInSANE ... don't know why
/// InSANE Libraries
gSystem->Load("libInSANE.so");
Further Documentation
Futher documentation can be found here.
Also check out the "official" website for updates.