Skip to content
Snippets Groups Projects
user avatar
Whitney Armstrong authored
	modified:   include/InSANEInelasticRadiativeTail.h
	modified:   include/InSANEPOLRADInternalPolarizedDiffXSec.h
	modified:   include/InSANEPhysics_LinkDef.h
	modified:   main/radiative_corrections/sub_el_tail_1D_perp59.cxx
ffc2ba43
History

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.