Project

General

Profile

Documentation of libsbsdig » History » Revision 14

Revision 13 (Eric Fuchey, 07/09/2020 10:52 AM) → Revision 14/120 (Eric Fuchey, 07/09/2020 10:54 AM)

h1. Documentation of libsbsdig 

 h2. Overview 

 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. 

 h2. Purpose 

 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. 
 These produce files which can be analyzed with [https://hallaweb.jlab.org/wiki/index.php/Documentation_of_SBS-offline SBS-offline]. 

 h2. Getting the code and building the program 

 h3. Prerequisites 

 *Working [https://root.cern.ch/drupal/ ROOT] installation. '''libsbsdig is compatible with ROOT version 5 and ROOT version 6'''. '''''ROOT 6 is strongly recommended''''' 
 *Working [https://redmine.jlab.org/projects/podd/wiki analyzer] installation. '''libsbsdig is compatible with analyzer versions 1.6 and beyond'''. 
 *Working [https://hallaweb.jlab.org/wiki/index.php/Documentation_of_SBS-offline SBS-offline] installation. 

 h3. Downloading the repository 

 The code is hosted on a github repository owned by JLab. To clone via ssh (preferred method on JLab batch farm), do:  

 bq. git clone git@github.com:JeffersonLab/libsbsdig.git 

 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.) 

 Cloning the repository defaults to the "master" branch. 

 h3. Building and installing the library 

 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).  
 You also need to have setup an installation path e.g. /path/to/libsbsdig-install 
 *NB*: similarly to the build directory, the /path/to/libsbsdig-install directory shall '''not''' be the same as the source directory! 
 _The following instructions assume that "build" is parallel to "libsbsdig":_ 
 If successful, the libsbsdig library and several other files and folders will be created in the "build" and the "install" directory. 

 To build and install, the procedure needs to be completed. From scratch: 

 bq. mkdir build 
 cd build 
 cmake -DCMAKE_INSTALL_PREFIX=/path/to/libsbsdig-install ../libsbsdig 
 make install 

 Then, the following line should be added in the OS login configuration file to take advantage of this functionality: 
 * source /path/to/libsbsdig-install/bin/sbsdigenv.sh (or source /path/to/g4sbs_install/bin/sbsdigenv.csh on the batch farm) 

 h2. digitization library use 

 h3. how to use the digitization library 

 A working example script of using the digitization library is available in the libsbsdig repository at 
 example/digi_gmn.C  
 The input arguments for this scripts are explained in the script comments.  
 It has to be executed with the Hall A analyzer: 
 > analyzer 
 > > .L digi_gmn.C 
 > > digi_gmn("simdig_outfile.root", 1000, "gmn13.5_elastic_prod.txt") 

 


 h3. Root output documentation 

 Several structures are stored under the form o 
 The root file produced by the digitization library contains vectors of integers and doubles organized in "hits"