LUXSimUsingHTCondor

From LZ Computing
Jump to navigation Jump to search

Submit HTCondor Jobs

  • In order to use the computing resources at Wisconsin, one can submit HTCondor jobs to run simulation.
  ssh lzlogin01.hep.wisc.edu
  # Make a valid voms-proxy
  voms-proxy-init --voms=lz --valid=142:00
  # Run farmout script to submit jobs
  python /cvmfs/lz.opensciencegrid.org/sw/bin/farmoutGeneric.py \
       --WorkFlow="test” \
       --nJobs=2 \
       --Executable=“/data/tapas/lzsim/submit/RunLUXSim.sh” \
       --TransferInputFile="/data/tapas/lzsim/submit/test.mac” \
       --UserEnv="MyOutputName=test_ “ \
       -o "test” 
       --Arguments="test.mac”
  • Above input macro and Executable script can be used an example
  • RunLUXSim.sh uses HEAD version of LUXSim
  • Example RunLUXSim.sh looks like this :
 #!/bin/bash
 wdir=$(pwd)
 ver=HEAD
 export ROOTSYS=/cvmfs/lz.opensciencegrid.org/ROOT/v5.34.32/slc6_gcc44_x86_64/root
 export PATH=${ROOTSYS}/bin:/sbin:/usr/sbin:/usr/bin:/bin:/usr/local/bin
 export LD_LIBRARY_PATH=${ROOTSYS}/lib:/lib64:/usr/lib64:/lib:/usr/lib
 source /cvmfs/lz.opensciencegrid.org/geant4/etc/geant4env.sh
 tmpDir=$(mktemp -d --tmpdir="./")
 echo "Linking CVMFS LUXSim area to temp dir. $tmpDir"
 cd $tmpDir
 ln -s /cvmfs/lz.opensciencegrid.org/LUXSim/$ver/* .
 echo "MyOutputName=$MyOutputDir/$MyOutputName$MyRandomNumber"
 cp ../*.mac .
 ./LUXSimExecutable $@
 uname=$(whoami)
 for i in *.bin
 do
     if [ -f "${i}" ]; then
      # Copy .bin files to storage /hdfs/lz/user/
      echo Trying... lcg-cp "${i}" -bvvD srmv2 srm://cmssrm2.hep.wisc.edu:8443/srm/v2/server?SFN=/hdfs/lz/user/${uname}/${MyOutputDir}/"${i}"
      lcg-cp "${i}" -bvvD srmv2 srm://cmssrm2.hep.wisc.edu:8443/srm/v2/server?SFN=/hdfs/lz/user/${uname}/${MyOutputDir}/"${i}"
       # Convert .bin file to .root file
      /cvmfs/lz.opensciencegrid.org/LUXSim/$ver/tools/LUXRootReader "${i}"
     else
     echo "Something went wrong... No bin files made. Look at the log"
   fi
 done
 # Copy root files to storage
 for n in *.root
 do
     if [ -f "${n}" ]; then
   echo Trying... lcg-cp "${n}" -bvvD srmv2 srm://cmssrm2.hep.wisc.edu:8443/srm/v2/server?SFN=/hdfs/lz/user/${uname}/${MyOutputDir}/"${n}"
   lcg-cp "${n}" -bvvD srmv2 srm://cmssrm2.hep.wisc.edu:8443/srm/v2/server?SFN=/hdfs/lz/user/${uname}/${MyOutputDir}/"${n}"
     else
   echo "Something went wrong... No Root files made. Look at the log"
     fi
 done