Documentation of SBS-offline » History » Version 9

Eric Fuchey, 04/06/2020 12:58 PM

1 1 Eric Fuchey
h1. Documentation of SBS-offline
2 9 Eric Fuchey
{{toc}}
3 2 Eric Fuchey
4 2 Eric Fuchey
h2. Overview
5 2 Eric Fuchey
6 2 Eric Fuchey
This page is maintained by the UConn group (Eric Fuchey + Andrew Puckett) and as of February 14, 2020 is specific to the '''''master''''' branch of SBS-offline on github.
7 2 Eric Fuchey
8 2 Eric Fuchey
h2. Purpose
9 2 Eric Fuchey
10 2 Eric Fuchey
This page documents the SBS-offline program code, which purpose is to perform the data analysis for the upcoming SBS experiments.
11 2 Eric Fuchey
12 2 Eric Fuchey
h2. Getting the code and building the program
13 2 Eric Fuchey
14 2 Eric Fuchey
h3. Prerequisites
15 2 Eric Fuchey
16 4 Eric Fuchey
*Working [https://root.cern.ch/drupal/ ROOT] installation. '''libsbsdig is compatible with ROOT version 5 and ROOT version 6'''. '''''ROOT 6 is strongly recommended'''
17 2 Eric Fuchey
*Working installation of cmake '''version 3.9 minimum'''
18 2 Eric Fuchey
*Working analyzer '''built with cmake'''. for that purpose, refer to the instruction below.
19 2 Eric Fuchey
20 2 Eric Fuchey
h3. Instructions for analyzer cmake installation compatible
21 3 Eric Fuchey
22 2 Eric Fuchey
clone the analyzer repository from:
23 2 Eric Fuchey
 * git clone git@github.com:JeffersonLab/analyzer.git
24 2 Eric Fuchey
build it with cmake following the instructions at:
25 2 Eric Fuchey
 * https://github.com/JeffersonLab/analyzer#compiling-with-cmake
26 2 Eric Fuchey
2 precisions: 
27 2 Eric Fuchey
*it seems that in these instructions the "build" directory ''has to be'' in the analyzer directory.
28 2 Eric Fuchey
*for your environment settings, in addition to the two lines mentionned in the instructions, you still want to define ANALYZER as the path to your install directory e.g.
29 2 Eric Fuchey
 * setenv ANALYZER $HOME/local/analyzer
30 2 Eric Fuchey
31 2 Eric Fuchey
h3. Downloading the repository
32 2 Eric Fuchey
33 2 Eric Fuchey
The code is hosted on a github repository owned by JLab. To clone via ssh (preferred method on JLab batch farm), do: 
34 1 Eric Fuchey
35 9 Eric Fuchey
bq. git clone git@github.com:JeffersonLab/SBS-offline.git
36 2 Eric Fuchey
37 2 Eric Fuchey
For this method to work, the ssh public key on the machine where you want to get the code must be added to your github account (see [https://help.github.com/articles/generating-ssh-keys/ Guide] to generating ssh keys and adding to your github.com account.)
38 2 Eric Fuchey
39 2 Eric Fuchey
Cloning the repository defaults to the "master" branch.
40 2 Eric Fuchey
41 2 Eric Fuchey
h3. Building and installing the library
42 2 Eric Fuchey
43 2 Eric Fuchey
Create a "build" directory that is parallel to the "SBS-offline" source directory (this is not strictly required, but the build directory must be separate from the "SBS-offline" directory in any case). 
44 2 Eric Fuchey
You also need to have setup an installation path e.g. /path/to/sbs-offline-install
45 2 Eric Fuchey
'''''NB''''': similarly to the build directory, the /path/to/gsbs-offline-install directory shall '''not''' be the same as the source directory!
46 2 Eric Fuchey
The following instructions assume that "build" is parallel to "SBS-offline":
47 2 Eric Fuchey
If successful, the libsbs library and several other files and folders will be created in the "build" and the "install" directory.
48 2 Eric Fuchey
49 2 Eric Fuchey
To build and install, the procedure needs to be completed. From scratch:
50 9 Eric Fuchey
51 9 Eric Fuchey
bq. mkdir build
52 9 Eric Fuchey
cd build
53 9 Eric Fuchey
cmake -DCMAKE_INSTALL_PREFIX=/path/to/sbs-offline-install ../SBS-offline
54 9 Eric Fuchey
make install
55 2 Eric Fuchey
56 2 Eric Fuchey
57 2 Eric Fuchey
Then, the following line should be added in the OS login configuration file to take advantage of this functionality:
58 2 Eric Fuchey
* source /path/to/sbs-offline-install/sbsenv.sh (or source /path/to/g4sbs_install/sbsenv.csh on the batch farm)