Building halld recon with JANA2 on ifarm9
Prerequisites
Before proceeding with building halld_recon, ensure you have already built JANA2 following the instructions provided in Building JANA2 on ifarm9.
Steps to Build halld_recon with JANA2
1. Create and Navigate to halld_recon Directory
mkdir halld_recon
cd halld_recon
2. Clone the halld_recon Repository
Clone the halld_recon code in rasool_halld_recon branch of nathanwbrei/halld_recon.
git clone --branch rasool_halld_recon https://github.com/nathanwbrei/halld_recon.git .
3. Edit halld_recon_prereqs_version.xml
After cloning, locate and edit `halld_recon_prereqs_version.xml` to update the path in home attribute of the JANA package to the path of the JANA2 repository you built on ifamr9. Example:
<package name="jana" version="2.1.2" home="/w/epsci-sciwork18/rasool/gluex_jana2_2023/JANA2"/>
4. Build halld_recon
In your terminal, execute the following commands:
source /group/halld/Software/build_scripts/gluex_env_boot_jlab.csh
gxenv halld_recon_prereqs_version.xml
cd src
Normal Build:
nice scons install -j32
Debugging Build:
nice scons install -j32 DEBUG=1 OPTIMIZATION=0 SHOWBUILD=1
5. Verify the Installation
Once halld_recon is built & installed, navigate to Linux_Alma9-x86_64-gcc11.4.1/setenv.csh (build_directory/setenv.csh). Copy its absolute path and source it to set up the environment. Example:
source /w/epsci-sciwork18/rasool/halld_recon/Linux_Alma9-x86_64-gcc11.4.1/setenv.csh
After setting up the environment, run the following command to confirm that halld_recon is correctly built and installed:
hd_dump
If `halld_recon` is installed correctly, the command will output the following information, confirming its installation. `-B` among the options of this `hd_dump` command indicates that this is the `halld_recon` code that has been updated to work with JANA2, replacing the `-b` option of `hd_dump` with `-B` to avoid conflicts with JANA2's `-b` benchmark option.
Usage: hd_dump [options] source1 source2 ... Print the contents of a Hall-D data source (e.g. a file) to the screen. Options: -h Print this message -Dname Print the data of type "name" (can be used multiple times) -A Print ALL data types (overrides -s and -DXXX options) -L List available factories and exit -p Don't pause for keystroke between events (def. is to pause) -s Skip events which don't have any of the specified data types -qn Quit after printing n events (default n=1), skip boring events, and don't pause -a List types and number of associated objects -S Don't suppress printing of factories with no objects in summary -c Print summary header lisiting for select factories. -V Print summary header lisiting for all factories. (warning: this activates every single factory!) -B Print event status bits -e Don't allow automatic EVIO sparse readout for EPICS data Usage: jana [options] source1 source2 ... Description: Command-line interface for running JANA plugins. This can be used to read in events and process them. Command-line flags control configuration while additional arguments denote input files, which are to be loaded and processed by the appropriate EventSource plugin. Options: -h --help Display this message -v --version Display version information -c --configs Display configuration parameters -l --loadconfigs <file> Load configuration parameters from file -d --dumpconfigs <file> Dump configuration parameters to file -b --benchmark Run in benchmark mode -Pkey=value Specify a configuration parameter Example: jana -Pplugins=plugin1,plugin2,plugin3 -Pnthreads=8 inputfile1.txt
For any issues or further assistance with building, installing or using halld_recon on ifarm9, contact Raiqa Rasool (rasool@jlab.org).