Documentation of SBS-offline » History » Version 14
Eric Fuchey, 07/09/2020 06:04 PM
| 1 | 1 | Eric Fuchey | h1. Documentation of SBS-offline |
|---|---|---|---|
| 2 | 10 | Eric Fuchey | |
| 3 | 9 | Eric Fuchey | {{toc}} |
| 4 | 2 | Eric Fuchey | |
| 5 | h2. Overview |
||
| 6 | |||
| 7 | 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. |
||
| 8 | |||
| 9 | h2. Purpose |
||
| 10 | |||
| 11 | This page documents the SBS-offline program code, which purpose is to perform the data analysis for the upcoming SBS experiments. |
||
| 12 | |||
| 13 | h2. Getting the code and building the program |
||
| 14 | |||
| 15 | h3. Prerequisites |
||
| 16 | |||
| 17 | 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''' |
| 18 | 2 | Eric Fuchey | *Working installation of cmake '''version 3.9 minimum''' |
| 19 | *Working analyzer '''built with cmake'''. for that purpose, refer to the instruction below. |
||
| 20 | |||
| 21 | h3. Instructions for analyzer cmake installation compatible |
||
| 22 | 3 | Eric Fuchey | |
| 23 | 2 | Eric Fuchey | clone the analyzer repository from: |
| 24 | * git clone git@github.com:JeffersonLab/analyzer.git |
||
| 25 | build it with cmake following the instructions at: |
||
| 26 | * https://github.com/JeffersonLab/analyzer#compiling-with-cmake |
||
| 27 | 11 | Eric Fuchey | _2 precisions:_ |
| 28 | 2 | Eric Fuchey | *it seems that in these instructions the "build" directory ''has to be'' in the analyzer directory. |
| 29 | *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. |
||
| 30 | * setenv ANALYZER $HOME/local/analyzer |
||
| 31 | |||
| 32 | h3. Downloading the repository |
||
| 33 | |||
| 34 | The code is hosted on a github repository owned by JLab. To clone via ssh (preferred method on JLab batch farm), do: |
||
| 35 | 1 | Eric Fuchey | |
| 36 | 9 | Eric Fuchey | bq. git clone git@github.com:JeffersonLab/SBS-offline.git |
| 37 | 2 | Eric Fuchey | |
| 38 | 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.) |
||
| 39 | |||
| 40 | Cloning the repository defaults to the "master" branch. |
||
| 41 | |||
| 42 | h3. Building and installing the library |
||
| 43 | |||
| 44 | 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). |
||
| 45 | 1 | Eric Fuchey | You also need to have setup an installation path e.g. /path/to/sbs-offline-install |
| 46 | 10 | Eric Fuchey | *NB*: similarly to the build directory, the /path/to/gsbs-offline-install directory shall '''not''' be the same as the source directory! |
| 47 | 12 | Eric Fuchey | _The following instructions assume that "build" is parallel to "SBS-offline":_ |
| 48 | 2 | Eric Fuchey | If successful, the libsbs library and several other files and folders will be created in the "build" and the "install" directory. |
| 49 | |||
| 50 | To build and install, the procedure needs to be completed. From scratch: |
||
| 51 | 9 | Eric Fuchey | |
| 52 | bq. mkdir build |
||
| 53 | cd build |
||
| 54 | cmake -DCMAKE_INSTALL_PREFIX=/path/to/sbs-offline-install ../SBS-offline |
||
| 55 | make install |
||
| 56 | 2 | Eric Fuchey | |
| 57 | |||
| 58 | Then, the following line should be added in the OS login configuration file to take advantage of this functionality: |
||
| 59 | 13 | Eric Fuchey | * source /path/to/sbs-offline-install/bin/sbsenv.sh (or source /path/to/g4sbs_install/bin/sbsenv.csh on the batch farm) |
| 60 | 14 | Eric Fuchey | |
| 61 | h2. How to use SBS-offline |
||
| 62 | |||
| 63 | A working example script using the digitization library is available in the libsbsdig repository at |
||
| 64 | example/digi_gmn.C |
||
| 65 | The input arguments for this scripts are explained in the script comments. |
||
| 66 | It has to be executed with the Hall A analyzer: |
||
| 67 | > analyzer |
||
| 68 | > > .L digi_gmn.C |
||
| 69 | > > digi_gmn("simdig_outfile.root", 1000, "gmn13.5_elastic_prod.txt") |