Documentation of libsbsdig » History » Version 11
Eric Fuchey, 07/09/2020 10:44 AM
1 | 1 | Eric Fuchey | h1. Documentation of libsbsdig |
---|---|---|---|
2 | |||
3 | h2. Overview |
||
4 | |||
5 | 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 libsbsdig on github. |
||
6 | |||
7 | h2. Purpose |
||
8 | |||
9 | This page documents the libsbsdig code, which purpose is to transform the output data from [https://hallaweb.jlab.org/wiki/index.php/Documentation_of_g4sbs G4SBS] to digital values such as ADCs or TDCs. |
||
10 | These produce files which can be analyzed with [https://hallaweb.jlab.org/wiki/index.php/Documentation_of_SBS-offline SBS-offline]. |
||
11 | |||
12 | h2. Getting the code and building the program |
||
13 | |||
14 | h3. Prerequisites |
||
15 | |||
16 | *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 | *Working [https://redmine.jlab.org/projects/podd/wiki analyzer] installation. '''libsbsdig is compatible with analyzer versions 1.6 and beyond'''. |
||
18 | *Working [https://hallaweb.jlab.org/wiki/index.php/Documentation_of_SBS-offline SBS-offline] installation. |
||
19 | |||
20 | h3. Downloading the repository |
||
21 | |||
22 | The code is hosted on a github repository owned by JLab. To clone via ssh (preferred method on JLab batch farm), do: |
||
23 | |||
24 | 5 | Eric Fuchey | bq. git clone git@github.com:JeffersonLab/libsbsdig.git |
25 | 1 | Eric Fuchey | |
26 | 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.) |
||
27 | |||
28 | Cloning the repository defaults to the "master" branch. |
||
29 | |||
30 | h3. Building and installing the library |
||
31 | |||
32 | 2 | Eric Fuchey | Create a "build" directory that is parallel to the "libsbsdig" source directory (this is not strictly required, but the build directory must be separate from the "SBS-offline" directory in any case). |
33 | You also need to have setup an installation path e.g. /path/to/libsbsdig-install |
||
34 | *NB*: similarly to the build directory, the /path/to/libsbsdig-install directory shall '''not''' be the same as the source directory! |
||
35 | _The following instructions assume that "build" is parallel to "libsbsdig":_ |
||
36 | 9 | Eric Fuchey | If successful, the libsbsdig library and several other files and folders will be created in the "build" and the "install" directory. |
37 | 1 | Eric Fuchey | |
38 | 2 | Eric Fuchey | To build and install, the procedure needs to be completed. From scratch: |
39 | |||
40 | bq. mkdir build |
||
41 | cd build |
||
42 | cmake -DCMAKE_INSTALL_PREFIX=/path/to/libsbsdig-install ../libsbsdig |
||
43 | make install |
||
44 | 1 | Eric Fuchey | |
45 | 3 | Eric Fuchey | Then, the following line should be added in the OS login configuration file to take advantage of this functionality: |
46 | * source /path/to/libsbsdig-install/bin/sbsdigenv.sh (or source /path/to/g4sbs_install/bin/sbsdigenv.csh on the batch farm) |
||
47 | 1 | Eric Fuchey | |
48 | 9 | Eric Fuchey | h4. How to use the digitization library |
49 | |||
50 | A working example script of using the digitization library is available in the libsbsdig repository at |
||
51 | example/digi_gmn.C |
||
52 | The input arguments for this scripts are explained in the script comments. |
||
53 | It has to be executed with the Hall A analyzer: |
||
54 | 10 | Eric Fuchey | > analyzer |
55 | > > .L digi_gmn.C |
||
56 | > > digi_gmn("simdig_outfile.root", 1000, "gmn13.5_elastic_prod.txt") |
||
57 | 1 | Eric Fuchey | |
58 | 8 | Eric Fuchey | |
59 | 1 | Eric Fuchey | |
60 | 11 | Eric Fuchey | h4. Root output documentation |
61 | |||
62 | The root file produced by the digitization library contains |