Skip to content

BNLIF/lblpwgtools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DUNE Long Baseline Physics Working Group Tools

As of the TDR analysis (2019) this now mostly comprises just CAFAna.

Build

A helper build script lives in the CAFAna subdirectory. You can build and install the code as follows using the FNAL sl7 container:

/cvmfs/oasis.opensciencegrid.org/mis/apptainer/current/bin/apptainer shell --shell=/bin/bash \
   -B /cvmfs,/exp,/nashome,/pnfs/dune,/opt,/run/user,/etc/hostname,/etc/hosts,/etc/krb5.conf \
   --ipc --pid /cvmfs/singularity.opensciencegrid.org/fermilab/fnal-dev-sl7:latest
source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh

Make a directory in your app area where you will clone the lblpwgtools directory.

mkdir -p /exp/dune/app/users/${USER}/SomeDir
cd /exp/dune/app/users/${USER}/SomeDir
git clone https://github.com/DUNE/lblpwgtools.git
cd lblpwgtools/CAFAna/

The build cannot currently involve Stan, so switch that off. Then use the helper configure and build script provided.

export CAFANA_USE_STAN=0
./standalone_configure_and_build.sh -r -u -I `pwd`

If you don't use the helper script, then you will need ROOT, GSL, CLHEP, and some BOOST components to build. The above script will check these dependencies via relevant XXX-config helpers or some poor guesswork in the case of BOOST. Most of these dependencies should be available from distribution package managers. Some details follow:

ROOT

Your set up ROOT install must have the minuit2 capabilities included as this is used for minimization by CAFAna. Check by:

$ root-config --features | grep "minuit2"
# e.g. asimage astiff builtin_afterimage builtin_clang builtin_davix builtin_ftgl builtin_gl2ps builtin_glew builtin_llvm builtin_lz4 builtin_lzma builtin_tbb builtin_vdt builtin_xxhash clad cling cxx17 davix exceptions explicitlink fftw3 fitsio gdml http imt mathmore minuit2 opengl pch pythia6 python roofit root7 shared soversion ssl thread tmva tmva-cpu tmva-pymva vdt x11 xft xml

If you can see minuit2, you're good to go.

BOOST

Most-likely you will have to specify BOOST_INC and BOOST_LIB via your environment. The directory pointed to by BOOST_INC is expected to contain the boost subdirectory. The directory pointed to by BOOST_LIB is expected to contain libboost_filesystem.so.

Detailed build script options

At the time of writing the full response to a request for help to standalone_configure_and_build was:

$ ./standalone_configure_and_build.sh -?
[RUNLIKE]
	-f|--force-remove      : Remove previous build directory if it exists.
	-r|--release           : Compile with CMAKE_BUILD_TYPE=RELEASE
	--rdb                  : Compile with CMAKE_BUILD_TYPE=RELWITHDEBINFO
	--knl                  : Build with -march=knl
	--use-gperftools       : Compile libunwind and gperftools
	-u|--use-UPS           : Try and use ups to set up required packages, rather than assuming they exist on the local system.
	-j|--n-cores           : Number of cores to pass to make install.
	-O|--omp               : Enable OMP features of CAFAna.
	-I|--install-to        : Directory to install to.
	-?|--help              : Print this message.

Getting started

Once CAFAna has been built, to set up the environment you will need to source /path/to/install/CAFAnaEnv.sh. If standalone_configure_and_build.sh was not passed a -I argument, then this will be /path/to/repo/CAFAna/build/Linux/CAFAnaEnv.sh by default. You will also need to export CAFANA_USE_STAN=0.

For NOvAns

About

Long baseline physics working group tools.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 60.4%
  • C 23.7%
  • TeX 5.5%
  • Batchfile 3.6%
  • Python 3.4%
  • Shell 1.9%
  • Other 1.5%