Updated Home (markdown)

Gordon McCann 2022-04-29 16:37:56 -04:00
parent e36975f572
commit a929960ccc

14
Home.md

@ -36,9 +36,11 @@ Sometimes there is data collected where the only thing of interest is the number
# Installation, Building, and Setting up the Workspace
First, the only external dependence for this repository is the ROOT Data Analysis Package. Due to the large size and complexity of ROOT, ROOT is not included as a submodule, and rather the user is relied upon to properly install and setup their own ROOT package. This code has been primarily tested and validated using ROOT6, so mileage may vary with older versions.
The event builder uses the [premake](https://premake.github.io/) build system. To install premake, simply download the release from the webpage and install it to a location on your path (don't bother trying to build it from source).
Installation and building the code is fairly straightforward. After obtaining the repository from GitHub, the code can be compiled and linked using GNU make and the included makefile. This will build two executables in the `bin` directory of the repository. They are currently called `GWMEVB` and `GWMEVB_CL`. The only difference between these two, is that the `_CL` version is a pure commandline application while the other has a GUI built in the ROOT environment. Currently the build only supports Mac and Linux operating systems, however there are plans to change toward a more complete build system, `premake`. It should also be noted that for the linking of ROOT libraries the makefile relies upon the `root-config` tool that comes with the standard ROOT install.
The only external dependence for this repository is the ROOT Data Analysis Package. Due to the large size and complexity of ROOT, ROOT is not included as a submodule, and rather the user is relied upon to properly install and setup their own ROOT package. This code has been primarily tested and validated using ROOT6.14, so mileage may vary with older versions.
Building the code is fairly straightforward. Obtain the repository from GitHub using the command `git clone --recursive https://github.com/sesps/SPS_SABRE_EventBuilder.git`. After obtaining the repository from GitHub, use premake to build the project files for your system. This will also involve setting the paths for your ROOT libraries in the `premake5.lua` file (see the README for details). In a typical Linux system the command `premake5 gmake2` will build makefiles to use with GNU Make. Then build the code using your chosen system (i.e. make, MSVC, Xcode). This will build two executables in the `bin` directory of the repository, one called `EventBuilder` and one called `EventBuilderGui`. The only difference between these two, is that the non-GUI version is a pure commandline application while the other has a GUI built in the ROOT environment.
Also included in the `bin` directory is a bash script called `archivist`. This script is for use at the FSU online DAQ, and is mostly irrelevant in other use cases.
@ -48,13 +50,13 @@ Finally, to run the code the user must setup the proper directory environment re
The basics of running the code are mostly contained within the input file, of which there is an example in the repository called `input.txt`. The input file asks for the location of a workspace, a channel map file which gives a list of the digitizer channels and the associated detector information, a board offset file which lists the time-shifts to be applied to specific channels, a scaler file which lists any digitizer channels to be taken as scalers, and a cut list file which lists any cuts to be used with the plotter tool. Examples of these files may be found in the `etc` directory. The SESPS-SABRE event builder will also ask for reaction information so that a kinematic correction can be applied to analyzed focal plane data. This includes specifying atomic numbers for use in looking up nuclear masses. Note that the code uses the 2017 AMDC mass evaluation data; if you input information which requests a nuclear mass not included in that data, an error will occur in the code. Finally, the input file asks for window sizes as well as a range of run numbers over which to the program will be run.
If the commandline executable (`GWMEVB_CL`) is being used, format is the following:
* `./bin/GWMEVB_CL <evb_operation> <your_input_file>`
If the commandline executable (`EventBuilder`) is being used, format is the following:
* `./bin/EventBuilder <evb_operation> <your_input_file>`
Where `<evb_operation>` should be a keyword which indicates to the program which type of event building operation (Slow sort, fast sort, slow sort with analysis, etc.) should be used. The file `main.cpp` located in the `src` directory contains the list of keywords.
If the gui executable (`GWMEVB`) is being used, format is simply:
* `./bin/GWMEVB`
If the gui executable (`EventBuilderGui`) is being used, format is simply:
* `./bin/EventBuilderGui`
The input file can then be loaded using the `File->Load` menu, or the user can manually enter the input parameters to the GUI. The GUI also provides functionality for saving an input file for the currently set parameters using the `File->Save` menu. The event building operation is then selected using the drop down menu.