FairRoot
|
A simulation, reconstruction and analysis framework that is based on the ROOT system. The user can create simulated data and/or perform analysis with the same framework. Geant3 and Geant4 transport engines are supported, however the user code that creates simulated data do not depend on a particular monte carlo engine. The framework delivers base classes which enable the users to construct their detectors and /or analysis tasks in a simple way, it also delivers some general functionality like track visualization. Moreover an interface for reading magnetic field maps is also implemented.
FairRoot is distributed under the terms of the GNU Lesser General Public Licence version 3 (LGPLv3).
Please see : https://github.com/FairRootGroup/FairRoot/releases
Please see : http://fairroot.gsi.de/getting_started for details.
FairRoot deliver meanwhile a project template that can be used as a starting point for anybody who would like to build simulation and reconstruction on FairRoot. The project Template is in the FairRoot/template/project_template directory
The template demonstrate and implement the following:
By default, the name of the tree in output ROOT file is "cbmsim". In case you want to change it for your Project, you need to create "config" folder inside of top source directory of the Project and place there "rootmanager.dat" text file with following single line: "treename=name_you_chose".
```bash cd PROJECT_TOP_DIR mkdir config echo 'treename=name_you_chose' > config/rootmanager.dat ```
Install FairSoft
we use here "fair_install" as a directory name, you can use what you want! ```bash mkdir ~/fair_install cd ~/fair_install #git clone https://github.com/FairRootGroup/FairSoft.git git clone -b dev https://github.com/FairRootGroup/FairSoft.git cd FairSoft ./configure.sh
```
Install FairRoot
```bash
export SIMPATH=~/fair_install/FairSoftInst [setenv SIMPATH ~/fair_install/FairSoftInst]
cd ~/fair_install git clone -b dev https://github.com/FairRootGroup/FairRoot.git cd FairRoot mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX="~/fair_install/FairRootInst" .. make make install ```
To run the tests do:
```bash
cd ~/fair_install/FairRoot/build make test ```
Install the template:
you need to copy the project template to you own directory
```bash
export FAIRROOTPATH=~/fair_install/FairRootInst [setenv FAIRROOTPATH ~/fair_install/FairRootInst]
cd ~/fair_install cp -rf FairRoot/templates/project_template MyTest cd MyTest ./rename.sh MyExperiment PREFIX MyDetector
cd .. mkdir build cd build cmake ../MyExperiment make . config.sh [or source config.csh] ```
Now you can for example simulate some events and run the event display:
```bash root -q ../MyExperiment/macro/run_sim.C root ../MyExperiment/macro/eventDisplay.C // Click on "FairEventManager" (in the top-left pane) // Click on the "Info" tab (on top of the bottom-left pane) // Increase the "Current Event" to >0 to see the events root [1] .q ```
If the flage -DBUILD_DOXYGEN=ON is set when calling cmake, the doxygen documentation will be generated when calling make. The generated html files can then be found in "build/doxygen/doc/html"
Doxygen documantation is also available online here