Stats of processed input files as CSV or JSON, and of uploaded output files as CSV or JSON (up to 10000 files included)
File reset events, by site
Site
Allocated
Outputting
CA_SFU
17
0
NL_NIKHEF
11
0
UK_Sheffield
4
0
ES_PIC
3
1
UK_Manchester
2
0
NL_SURFsara
2
1
UK_RAL-Tier1
2
0
UK_QMUL
1
0
CA_Victoria
1
0
UK_RAL-PPD
1
2
Jobscript
#!/bin/bash
# fcl file and DUNE software version/qualifier to be used
# FCL_FILE=${FCL_FILE:-$INPUT_TAR_DIR_LOCAL/my_code/fcls/my_reco.fcl}
DUNE_VERSION=${DUNE_VERSION:-v10_14_01d00}
DUNE_QUALIFIER=${DUNE_QUALIFIER:-e26:prof}
echo "sw version: ${DUNE_VERSION} ${DUNE_QUALIFIER}"
echo "input tarball location:" ${INPUT_TAR_DIR_LOCAL}
# number of events to process from the input file
if [ "$NUM_EVENTS" != "" ]; then
events_option="-n $NUM_EVENTS"
fi
# First get an unprocessed file from this stage
did_pfn_rse=$($JUSTIN_PATH/justin-get-file)
did=`echo $did_pfn_rse | cut -f1 -d' '`
pfn=`echo $did_pfn_rse | cut -f2 -d' '`
rse=`echo $did_pfn_rse | cut -f3 -d' '`
echo "Input DID = $did"
echo "Input PFN = $pfn"
echo "Input RSE = $rse"
if [ "$did_pfn_rse" = "" ]; then
echo "Nothing to process - exit jobscript"
exit 0
fi
if [[ $did != monte-carlo-* ]]; then
echo "Error: did must start with 'monte-carlo-'. Got: $did" >&2
exit 1
fi
# Convert DID to a run:subrun:event triplet for larsoft
tmp=${did#monte-carlo-} # strip leading "monte-carlo-"
workflow_id=${tmp%-*} # everything before last '-'
mcnum=${tmp##*-} # everything after last '-'
runspec="${workflow_id}:${mcnum}:1"
echo "Run:SubRun:Event = $runspec"
# Setup DUNE environment
source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh
export PRODUCTS="$(echo ${INPUT_TAR_DIR_LOCAL}/dunesw-${DUNE_VERSION}/localProducts_larsoft*_prof/):$PRODUCTS"
# Then we can set up our local products
setup duneana "$DUNE_VERSION" -q "$DUNE_QUALIFIER"
setup dunesw "$DUNE_VERSION" -q "$DUNE_QUALIFIER"
# Construct outFile from input $pfn
now=$(date -u +"%Y-%m-%dT_%H%M%SZ")
Ffname=$(echo $pfn | awk -F/ '{print $NF}')
fname=$(echo $Ffname | awk -F. '{print $1}')
campaign="justIN.w${JUSTIN_WORKFLOW_ID}s${JUSTIN_STAGE_ID}"
outFile=tpg_${JUSTIN_WORKFLOW_ID}_${mcnum}.root
anaFile=triggerAna_${JUSTIN_WORKFLOW_ID}_${mcnum}.ntuple.root
# Here is where the LArSoft command is call it
(
# Do the scary preload stuff in a subshell!
export LD_PRELOAD=${XROOTD_LIB}/libXrdPosixPreload.so
echo "$LD_PRELOAD"
# Gen
lar -c prodbackground_radiological_decay0_dunevd10kt_1x8x6_patched_wall_gammas.fcl $events_option -e $runspec -o tmp_gen.root
# G4
lar -c standard_g4_dunevd10kt_1x8x6_3view_30deg.fcl $events_option -s tmp_gen.root -o tmp_g4.root
# Detsim
lar -c detsim_dunevd10kt_1x8x6_3view_30deg_notpcsigproc.fcl $events_option -s tmp_g4.root -o tmp_detsim.root
# TPG - tpc
lar -c triggersim_tpg_vd_1x8x6.fcl $events_option -s tmp_detsim.root -o tmp_tpg_tpc.root
# TPG - PDS + Ana
lar -c triggersim_triggerana_dunefdvd_1x8x6_pds.fcl $events_option -s tmp_tpg_tpc.root -o $outFile -T $anaFile
)
# Subshell exits with exit code of last command
larExit=$?
echo "lar exit code $larExit"
if [ $larExit -eq 0 ]; then
# Success !
echo "$pfn" >justin-processed-pfns.txt
jobscriptExit=0
else
# Oh :(
jobscriptExit=1
fi
# Create compressed tar file with all log files
tar zcf $(echo "$JUSTIN_JOBSUB_ID.logs.tgz" | sed 's/@/_/g') *.log
exit $jobscriptExit
justIN time: 2026-02-04 04:27:43 UTC justIN version: 01.06.00