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 <username>@lzlogin01.hep.wisc.edu

# Make a valid voms-proxy
voms-proxy-init --voms=lz --valid=142:00

# Run farmout script to submit jobs
# To get help about options 
 # python  /cvmfs/lz.opensciencegrid.org/sw/bin/farmoutGeneric.py -h 

 python /cvmfs/lz.opensciencegrid.org/sw/bin/farmoutGeneric.py \
        --WorkFlow="test.mac_test1" \
        --Executable="/afs/hep.wisc.edu/user/cvuosalo/work/lz/RunLUXSim.sh" \
	-e lz \
        --nJobs=10 \
        --TransferInputFile="/afs/hep.wisc.edu/user/cvuosalo/work/lz/test.mac" \
	-f '*.bin *.root' \
        --UserEnv="UserName=`whoami` " \
        -o "test.mac" \
        --Arguments="test.mac"


#The above python scipt generates job file using your input macro. \
#  It uses the shell script to run LUXSim and copy your output to LZ storage area. 

Executable example: RunLUXSim.sh

 
#!/bin/bash

wdir=$(pwd)
ver=release-4.4.2

# Source the environment needed to run LUXSim
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 geant4.9.5.p02

# Temporary directory that gets created on the execute node
tmpDir=$(mktemp -d --tmpdir="./")
echo "Linking CVMFS LUXSim area to temp dir. $tmpDir"
cd $tmpDir
# ln -s /cvmfs/lz.opensciencegrid.org/LUXSim/release-4.3.2/* .
ln -s /cvmfs/lz.opensciencegrid.org/LUXSim/$ver/* .

# echo "MyOutputName=$MyOutputDir/$MyOutputName$MyRandomNumber"
# export MyOutputName=$MyOutputDir/$MyOutputName$MyRandomNumber
cp ../*.mac .

# Run the LUXSim
./LUXSimExecutable $@

for i in *.bin
do
    if [ -s "${i}" ]; then
 
      # Convert .bin file to .root file
     echo /cvmfs/lz.opensciencegrid.org/LUXSim/$ver/tools/LUXRootReader "${i}"
     /cvmfs/lz.opensciencegrid.org/LUXSim/$ver/tools/LUXRootReader "${i}"
    ln -s "${i}" ..

   else
     echo "Something went wrong... No bin files made. Look at the log"
     exit 1
   fi
done
ln -s *.root ..

 

Example test.mac


/run/initialize

/LUXSim/io/alwaysRecordPrimary true
/LUXSim/io/updateFrequency 100
/LUXSim/io/outputDir .
/LUXSim/io/outputName EnergyDeposition_

/LUXSim/detector/select LZDetector
/LUXSim/detector/gridWires off
/LUXSim/detector/topGrid on
/LUXSim/detector/update

/LUXSim/detector/recordLevel LiquidXenonTarget 3
/LUXSim/detector/recordLevelOptPhot LiquidXenonTarget 3
/LUXSim/detector/recordLevelThermElec LiquidXenonTarget 3

/gps/particle e- 
/gps/energy 30 keV
/gps/position 0 0 75 cm
#this is approximate center. See ElectronCollection for whole volume
/gps/ang/type iso

/LUXSim/physicsList/useOpticalProcesses true

/LUXSim/beamOn 5
exit


Files in the storage area

  • Some events are available in the Wisconsin LZ storage area and can be accessed using the following command :
  xrdfs g22n02.hep.wisc.edu:31094 ls /lz/user/tapas/LZSim/pmt-Co_gdecay_1_pro_sci_ioni_drift/
  xrdfs g22n02.hep.wisc.edu:31094 ls /lz/user/tapas/LZSim/pmt-Co_gdecay_1_pro_sci_ioni_drift_gammma100KeV

  • copy the files using xrdcp
  xrdcp -d 1 -v \
   root://cmsxrootd.hep.wisc.edu//lz/user/tapas/LZSim/pmt-Co_gdecay_1_pro_sci_ioni_drift_gammma100KeV/filename.root .