Building hdgeant4 with JANA2 on ifarm9
Prerequisites
Before proceeding with building hdgeant4, ensure you have already built JANA2, halld_recon, and halld_sim following the instructions provided in Building JANA2 on ifarm9, Building & Using halld_recon with JANA2 on ifarm9, and Building & Using halld_sim with JANA2 on ifarm9, respectively.
Steps to Build hdgeant4 with JANA2
1. Create and Navigate to hdgeant4 Directory
mkdir hdgeant4
cd hdgeant4
2. Add hdgeant4_prereqs_version.xml
Create a file named `hdgeant4_prereqs_version.xml` and paste the following content into it. Make sure to update the home paths for jana, halld_recon, halld_sim, and hdgeant4 to the paths of the respective directories you built on ifarm9. Also ensure that the hdgeant4 path set in the home attribute of the hdgeant4 package points to the innermost repository that contains the actual hdgeant4 code and the bin directory, not just the external hdgeant4 repository. The path should likely resemble $DIR_CONTAINING_HDGEANT4/hdgeant4/hdgeant4.
<gversion version="1.0">
<package name="amptools" version="0.15.2"/>
<package name="ccdb" version="1.06.11"/>
<package name="cernlib" version="2005"/>
<package name="diracxx" version="2.1.2"/>
<package name="evio" version="4.4.6"/>
<package name="evtgen" version="01.07.00"/>
<package name="geant4" version="10.04.p02"/>
<package name="gluex_MCwrapper" version="v2.8.1"/>
<package name="gluex_root_analysis" home="/w/epsci-sciwork18/rasool/gluex_root_analysis"/>
<!-- Replace the path in the home attribute here with the full path to your halld_recon with JANA2 repository -->
<package name="halld_recon" home="/w/epsci-sciwork18/rasool/halld_recon_jana2_latest"/>
<!-- Replace the path in the home attribute here with the full path to your halld_sim with JANA2 repository -->
<package name="halld_sim" home="/w/epsci-sciwork18/rasool/halld_sim"/>
<package name="hddm" version="4.31.0"/>
<package name="hdds" version="4.15.0"/>
<!-- Replace the path in the home attribute here with the full path to your hdgeant4 with JANA2 repository -->
<package name="hdgeant4" home="/w/epsci-sciwork18/rasool/halld_packages_build/hdgeant4/hdgeant4"/>
<package name="hd_utilities" version="1.48"/>
<package name="hepmc" version="2.06.10"/>
<!-- Replace the path in the home attribute here with the full path to your JANA2 repository -->
<package name="jana" home="/w/epsci-sciwork18/rasool/gluex_jana2_2023/JANA2"/>
<package name="lapack" version="3.9.0"/>
<package name="photos" version="3.61"/>
<package name="rcdb" version="0.07.01"/>
<package name="root" version="6.24.04"/>
<package name="sqlitecpp" version="3.1.1"/>
<package name="sqlite" version="3.36.0"/>
<package name="xerces-c" version="3.2.3"/>
</gversion>
3. Build and Install hdgeant4
In your terminal, execute the following commands to set up the environment for building hdgeant4:
setenv BUILD_SCRIPTS /group/halld/Software/build_scripts
echo source $BUILD_SCRIPTS/gluex_env_jlab.csh $PWD/hdgeant4_prereqs_version.xml > setup_gluex.csh
source $BUILD_SCRIPTS/gluex_env_clean.csh
source $BUILD_SCRIPTS/gluex_env_jlab.csh $PWD/hdgeant4_prereqs_version.xml
setenv HDGEANT4_BRANCH rasool_jana2
Setting the environment variable HDGEANT4_BRANCH specifies the branch of the JeffersonLab/HDGEANT4 to be used for the build. After setting up the environment, run the following command to build and install hdgeant4:
make -f $BUILD_SCRIPTS/Makefile_hdgeant4 -j32
4. Verify the Installation
Once hdgeant4 is built and installed, navigate to $DIR_CONTAINING_HDGEANT4/hdgeant4/setup_gluex.csh. Copy its absolute path and source it to set up the environment. Example:
source /w/epsci-sciwork18/rasool/halld_packages_build/hdgeant4/setup_gluex.csh
After setting up the environment, run the following command to confirm that hdgeant4 is correctly built and installed:
hdgeant4
If hdgeant4 is installed correctly, the command will provide the following output, confirming its installation:
[INFO] JArrowProcessingController: NUMA Configuration Affinity strategy: none Locality strategy: global Error in GlueXUserOptions::ReadControl_in: unable to open file control.in
For any issues or further assistance with building, installing, or using hdgeant4 with JANA2 on ifarm9, contact Raiqa Rasool (rasool@jlab.org).