-
Notifications
You must be signed in to change notification settings - Fork 13
3. Introduction to the e1039 Software
The e1039-Sofware follows the Fun4All ROOT-based framework. This framework was developed by the PHENIX experiment and is current used (and a bit modernized) by the SPhenix experiment.
Here are some useful references:
The e1039-Software has two repositories
- e1039-core, that contains the core libraries (where you would modify tracking modules, clustering, etc.)
- e1039-analysis, that contains analysis modules (where you would write modules to analysis signal, background - offline reconstruction).
The official e1039 repositories are here:
and a class reference (in construction) is available in:
Fun4all runs in a single ROOT C++ macro (its name convention is Fun4XX_YY.C). It is capable of:
- reading input files (we currently use the HepMC to read our signals, SpinQuest data is stored in a .DST format)
- writing output files (usually a .root TTree or a .DST file)
- managing the Node Tree - that storages data objects
- calling the analysis/reconstruction modules
- making snapshots at any stage of the reconstruction
Analysis modules can be modified and constructed for various purposes. For now we have built a simple module to write a simple TTree with analysis variables, that you can find here: SimAna.cc.
For e0139-core you can install and build your own repository (we recommend you clone the repo and make a git branch if you are going to make a modifications):
# make directory in your home dir
cd
mkdir mye1039
# clone repo
git clone [email protected]:DarkQuest-FNAL/e1039-core.git
# build
cd /path/to/directory_where_you_download_e1039-core
./script/setup-install.sh auto
source ../core-inst/this-e1039.sh
./build.sh
or, you can work with the installed repositories in Yongbin or Cristina's spaces, if you do not want to install your own.
Once e1039-core is installed you can call the setup of the installation by:
source /e906/app/software/osg/software/e1039/this-e1039.sh
or by calling your own installation, for example:
export MY_E1039=/seaquest/users/username/mye1039/e1039-core/this-e1039.sh
source $MY_E1039
Yongbin's installation is located in /seaquest/users/yfeng/mye1039/e1039-core/this-e1039.sh
and can be used as default for DarkQuest use.
Sometimes we will need additional directories to be linked so that we can run our modules. In particular, A' simulated datasets can be find here (note: find a better shared location):
export DIR_CMANTILL=/seaquest/users/cmantill/DarkQuest/e1039-analysis/SimHits
We have summarized these commands in setup.sh and setup_mye1039.sh.
To compile the analysis code (living in for example in an src/ directory that includes the source and header) you can do the following:
mkdir work
mkdir install
cd work
cmake ../src/ -DCMAKE_INSTALL_PREFIX=../install
make
make install
cd ../
This needs a CMakeLists.txt to live inside the directory, for example check out this CMakeLists.txt
Later, to recompile, if you have made changes:
cd work
make clean
make
make install