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
NL_NIKHEF
26
0
UK_RAL-Tier1
3
0
UK_QMUL
1
0
Jobscript
#!/bin/sh
#
# Example jobscript that runs lar for all the files
# referred to by the MQL expression given on the justin command line.
#
# Submit with something like this:
#
# ./justin simple-workflow \
# --max-distance 30 \
# --mql "rucio-dataset protodune-sp:np04_raw_run_number_5769" \
# --jobscript lar.jobscript
#
# Then monitor with dashboard or ./justin show-jobs --workflow-id ID
# where ID is the value printed by the first command
#
# the xroot lib for streaming non-root files is in testproducts,
# so add it to the start of the path
source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh
if [ -z ${JUSTIN_PROCESSORS} ]; then
JUSTIN_PROCESSORS=1
fi
echo "Justin processors: ${JUSTIN_PROCESSORS}"
export TF_NUM_THREADS=${JUSTIN_PROCESSORS}
export OPENBLAS_NUM_THREADS=${JUSTIN_PROCESSORS}
export JULIA_NUM_THREADS=${JUSTIN_PROCESSORS}
export MKL_NUM_THREADS=${JUSTIN_PROCESSORS}
export NUMEXPR_NUM_THREADS=${JUSTIN_PROCESSORS}
export OMP_NUM_THREADS=${JUSTIN_PROCESSORS}
# From jobsub
export CLUSTER=${CLUSTER:-1}
export PROCESS=${PROCESS:-1}
setup dunesw ${DUNESW_VERSION:-v10_10_04d00} -q e26:prof
setup_exit=$?
if [ "$setup_exit" != 0 ]; then
echo "Error setting up dunesw ${DUNESW_VERSION}"
exit
fi
export RUCIO_ACCOUNT=justinreadonly
if [ -n "${extra_fcl_path}" ]; then
echo "ADDING ${extra_fcl_path} to fcl file path"
sleep 1
export FHICL_FILE_PATH=${extra_fcl_path}:${FHICL_FILE_PATH}
fi
# Get an unprocessed file from this stage
#did_pfn_rse=`$JUSTIN_PATH/justin-get-file`
#if [ "${did_pfn_rse}" == "" ] ; then
# echo "Could not get file"
# exit 0
#fi
#
#did=`echo $did_pfn_rse | cut -f1 -d' '`
#pfn=`echo $did_pfn_rse | cut -f2 -d' '`
#rse=`echo $did_pfn_rse | cut -f3 -d' '`
#name_only=$(echo $did | cut -f2 -d':')
#echo "name" $name_only
NFILES=${NFILES:-1}
files=()
nfiles=0
#if [ $NFILES -eq 1 ]; then
# echo "Will use justin-get-file"
# DID_PFN_RSE=`$JUSTIN_PATH/justin-get-file`
# if [ "${DID_PFN_RSE}" == "" ] ; then
# echo "Could not get file"
# exit 0
# fi
# export pfn=`echo ${DID_PFN_RSE} | cut -f2 -d' '`
# export did=`echo ${DID_PFN_RSE} | cut -f1 -d' '`
#
# if [ -z ${TESTFILE} ]; then
# files+=($pfn)
# else
# files+=(${TESTFILE})
# fi
#
if [ -n "${TESTFILE}" ]; then
echo "Using testfile"
files+=(${TESTFILE})
nfiles=1
else
nfiles=0
for i in `seq 1 ${NFILES:-1}`; do
echo $i
DID_PFN_RSE=`$JUSTIN_PATH/justin-get-file`
if [ "${DID_PFN_RSE}" == "" ] ; then
echo "Could not get file -- exiting loop"
break
fi
echo "did_pfn_rse: ${DID_PFN_RSE}"
THISFILE=`echo ${DID_PFN_RSE} | cut -f2 -d' '`
echo $THISFILE
files+=(${THISFILE})
nfiles=$(( nfiles + 1 ))
done
fi
echo "Got $nfiles Files"
echo ${files[@]}
if [[ $nfiles == 0 ]]; then
echo "No files exiting"
exit 0
fi
echo "Found input file URL $pfn at $rse"
#Get the stage and momentum
export stage=${stage:-"Gen"}
export momentum=${momentum:-1}
beam_fcl="run_pdhd_beamevent.fcl"
now=$(date -u +"%Y%m%dT%H%M%SZ")
jobid=`echo "${JUSTIN_JOBSUB_ID:-1}" | cut -f1 -d'@' | sed -e "s/\./_/"`
stageid=${JUSTIN_STAGE_ID:-1}
output_preamble="pdhd_prod_beam_"
nevents=${nevents:--1}
nskip=${nskip:-0}
echo "XROOTD: $XROOTD_LIB"
#Generation
LD_PRELOAD=$XROOTD_LIB/libXrdPosixPreload.so lar \
-n ${nevents} \
--nskip ${nskip} \
-c ${beam_fcl} \
-o pdhd_${jobid}_${stageid}_${now}_beam.root \
-T pdhd_${jobid}_${stageid}_${now}_beam_hist.root \
-S $files
larReturnCode=$?
echo "gen lar returns $larReturnCode"
if [ "$larReturnCode" != 0 ] ; then
exit $larReturnCode
fi
#Generation Done
####EDIT METADATA FOR THE FOLLOWING FILE
#${name_only}_${jobid}_${stageid}_${now}_detsim_reco1.root
# Record that we processed the input file ok (did we???)
#echo "$pfn" > justin-processed-pfns.txt
for i in ${files[@]}; do
echo "${i}" >> justin-processed-pfns.txt
done
# For debugging
for i in *.json
do
echo "==== Start $i ===="
cat $i
echo "==== End $i ===="
done
ls -ltR
exit 0
justIN time: 2025-11-04 01:27:17 UTC justIN version: 01.05.01