Hugonweb | LArSoft Setup

All of the code below is for running at FermiLab, if you want to run at LSU, replace the \'source\' and \'export\' lines at the top of each listing with:

source /hepsoft/LAr/setup

and replace

setup ninja v1_6_0

with

setup ninja v1_6_0b

To run on grid, replace it with:

source /cvmfs/fermilab.opensciencegrid.org/products/larsoft/setup
export PRODUCTS=/cvmfs/lariat.opensciencegrid.org/externals:${PRODUCTS}:/cvmfs/fermilab.opensciencegrid.org/products/common/db

and make sure to also get lariatutil, too.

git clone ssh://p-lardbt@cdcvs.fnal.gov/cvs/projects/lardbt-lariatutil lariatutil
cd lariatutil
git checkout v06_15_00
cd ..
mrb uc

LArIAT

To make a new project directory, from inside the directory:

export PROJECT=lariat
source /grid/fermiapp/larsoft/products/setup
export PRODUCTS=/grid/fermiapp/products/lariat:${PRODUCTS}:/grid/fermiapp/products/common/db
setup git
setup gitflow
setup mrb
setup ninja v1_6_0

# set the version and qualifier here
version=v06_15_00
qualifier=e10:debug
setup larsoft $version -q $qualifier
export MRB_PROJECT=larsoft
mrb newDev
source localProducts*/setup
cd srcs
mrb g -t $version lariatsoft
mrbsetenv
nice mrb i --generator ninja -j8

Setup script to put in your project directory and run every time you login:

#!/bin/bash

export PROJECT=lariat
source /grid/fermiapp/larsoft/products/setup
export PRODUCTS=/grid/fermiapp/products/lariat:${PRODUCTS}:/grid/fermiapp/products/common/db
setup git
setup gitflow
setup mrb
setup ninja v1_6_0

export MRB_PROJECT=lariatsoft

# change the version for this to the one you're using
version=v06_15_00
qualifier=e10:debug
setup larsoft $version -q $qualifier
# change this to the directory in your setup
source localProducts*/setup
mrbsetenv
setup lariatsoft $version -q $qualifier
setup lariatsoft $version -q $qualifier

Script to make a tarball from the root dir of a project:

#!/bin/bash

cd srcs/lariatsoft/
lariatsofthash=$(git rev-parse --short HEAD)
cd -
cd srcs/larana/
laranahash=$(git rev-parse --short HEAD)
cd -
echo "For lariatsoft: $lariatsofthash"
echo "For larana: $laranahash"
filename=lariatsoft_"$lariatsofthash"_larana_"$laranahash".tar
echo "tarball: $filename"
make_tarball.sh $filename
echo "done."

DUNE

To make a new project directory, from inside the directory:

source /grid/fermiapp/products/dune/setup_dune.sh
setup git
setup gitflow
setup mrb
setup ninja v1_6_0

# set the version and qualifier here
version=v06_15_00
qualifier=e10:debug
setup larsoft $version -q $qualifier
export MRB_PROJECT=larsoft
mrb newDev
source localProducts*/setup
cd srcs
mrb g -t $version dunetpc
mrbsetenv
nice mrb i --generator ninja -j8

Setup script to put in your project directory and run every time you login:

#!/bin/bash

source /grid/fermiapp/products/dune/setup_dune.sh
setup git
setup gitflow
setup mrb
setup ninja v1_6_0

# change the version for this to the one you're using
version=v06_18_01_01
qualifier=e10:debug
setup dunetpc $version -q $qualifier
# change this to the directory in your setup
source localProducts*/setup
mrbsetenv
setup dunetpc $version -q $qualifier
setup dunetpc $version -q $qualifier

Script to make a tarball from the root dir of a project:

#!/bin/bash

cd srcs/dunetpc/
dunetpchash=$(git rev-parse --short HEAD)
cd -
echo "For dunetpc: $dunetpchash"
cd srcs/larana/
laranahash=$(git rev-parse --short HEAD)
cd -
echo "For larana: $laranahash"
filename=dunetpc_"$dunetpchash"_larana_"$laranahash".tar
echo "tarball: $filename"
make_tarball.sh $filename
echo "done."

Build Scripts of Any LArSoft

Runs full build from anywhere and takes -jX options:

#!/bin/bash

nice mrb i --generator ninja $@

Run a quick build from a subdirectory of a package e.g. srcs/lariatsoft/LArIATAnaModule/build.sh

#!/bin/bash

cd ../../../build_slf6.x86_64/
nice ninja $@
cd -

Git Repos

ssh://p-lariatsoft@cdcvs.fnal.gov/cvs/projects/lariatsoft
ssh://p-lardbt@cdcvs.fnal.gov/cvs/projects/lardbt-lariatutil
ssh://p-larana@cdcvs.fnal.gov/cvs/projects/larana

Setting up LArIAT /cvmfs

ssh -l cvmfslariat oasiscfs.fnal.gov
cd /cvmfs/lariat.opensciencegrid.org
cvmfs_server check lariat.opensciencegrid.org
cvmfs_server transaction lariat.opensciencegrid.org
export  EXTERNALS=${PWD}/externals/
export UPS_WORK_AREA=${PWD}/ups_work_area/
cd ${UPS_WORK_AREA}
../pullProducts   ${EXTERNALS} slf6 lariat-v06_28_01 e10 prof
cd ${UPS_WORK_AREA}
rm -f *
cd $HOME
cvmfs_server publish lariat.opensciencegrid.org
cvmfs_server check lariat.opensciencegrid.org

Test node for grid like nodes: gpgtest.fnal.gov

cvmfs directories:

/cvmfs/lariat.opensciencegrid.org

/cvmfs/fermilab.opensciencegrid.org