justIN           Dashboard       Workflows       Jobs       AWT       Sites       Storages       Docs       Login

Workflow 12578, Stage 3

Workflow12578
Campaign923
Priority50
Processors1
Wall seconds28800
Image/cvmfs/singularity.opensciencegrid.org/fermilab/fnal-wn-sl7:latest
RSS bytes4194304000 (4000 MiB)
Max distance for inputs30.0
Enabled input RSEs CERN_PDUNE_EOS, DUNE_CA_SFU, DUNE_CERN_EOS, DUNE_ES_PIC, DUNE_FR_CCIN2P3_DISK, DUNE_IN_TIFR, DUNE_IT_INFN_CNAF, DUNE_UK_GLASGOW, DUNE_UK_LANCASTER_CEPH, DUNE_UK_MANCHESTER_CEPH, DUNE_US_BNL_SDCC, DUNE_US_FNAL_DISK_STAGE, FNAL_DCACHE, FNAL_DCACHE_STAGING, FNAL_DCACHE_TEST, MONTECARLO, NIKHEF, PRAGUE, QMUL, RAL-PP, RAL_ECHO, SURFSARA, T3_US_NERSC
Enabled output RSEs CERN_PDUNE_EOS, DUNE_CA_SFU, DUNE_CERN_EOS, DUNE_ES_PIC, DUNE_FR_CCIN2P3_DISK, DUNE_IN_TIFR, DUNE_IT_INFN_CNAF, DUNE_UK_GLASGOW, DUNE_UK_LANCASTER_CEPH, DUNE_UK_MANCHESTER_CEPH, DUNE_US_BNL_SDCC, DUNE_US_FNAL_DISK_STAGE, FNAL_DCACHE, FNAL_DCACHE_STAGING, FNAL_DCACHE_TEST, NIKHEF, PRAGUE, QMUL, RAL-PP, RAL_ECHO, SURFSARA, T3_US_NERSC
Enabled sites BR_CBPF, CA_SFU, CA_Victoria, CERN, CH_UNIBE-LHEP, CZ_FZU, ES_CIEMAT, ES_PIC, FR_CCIN2P3, IT_CNAF, NL_NIKHEF, NL_SURFsara, UK_Bristol, UK_Brunel, UK_Durham, UK_Edinburgh, UK_Glasgow, UK_Imperial, UK_Lancaster, UK_Liverpool, UK_Manchester, UK_Oxford, UK_QMUL, UK_RAL-PPD, UK_RAL-Tier1, UK_Sheffield, US_BNL, US_Colorado, US_FNAL-FermiGrid, US_FNAL-T1, US_Michigan, US_NotreDame, US_PuertoRico, US_SU-ITS, US_Swan, US_UChicago, US_UConn-HPC, US_UCSD, US_Wisconsin
Scopeusertests
Events for this stage

Output patterns

 DestinationPatternLifetimeFor next stageRSE expression
1Rucio usertests:fnal-w12578s3p1*_detsim.root345600True

Environment variables

NameValue
JOB_FHICL_FILEstandard_detsim_dune10kt_1x2x6.fcl

File states

Total filesFindingUnallocatedAllocatedOutputtingProcessedNot foundFailed
999000099900

Job states

TotalSubmittedStartedProcessingOutputtingFinishedNotusedAbortedStalledJobscript errorOutputting failedNone processed
126000001251018000
Files processed00100100200200300300400400500500600600700700800800Jan-30 13:00Jan-30 14:00Jan-30 15:00Jan-30 16:00Jan-30 17:00Jan-30 18:00Files processedBin start timesNumber per binES_PICUS_FNAL-FermiG…US_FNAL-FermiGridCERNUK_QMULUK_OxfordUK_ManchesterUK_RAL-Tier1UK_LancasterNL_NIKHEFUK_RAL-PPDUS_UChicagoCZ_FZUIT_CNAF
Replicas per RSE274456.32871003940306158.00756800422863173457.14647564760185288.027140957538144367.6959034856367323.3195363341527142294.1920517840745275.9626214363431770280.1235346972075211.6668979713648865293.86378879302674171.5780995734244316.32586934615995145.6479883980015339338.5730319578604131.8531945792132724357.42177657627605125.4920694431904519370.8405318932911123.342949479319325378.4186553468381122.93743254029403Replicas per RSEDUNE_CERN_EOS (27%)DUNE_US_BNL_SDCC (1…DUNE_US_BNL_SDCC (17%)DUNE_US_FNAL_DISK_S…DUNE_US_FNAL_DISK_STAGE (14%)DUNE_UK_MANCHESTER_…DUNE_UK_MANCHESTER_CEPH (14%)NIKHEF (7%)DUNE_ES_PIC (6%)PRAGUE (4%)DUNE_IT_INFN_CNAF (…DUNE_IT_INFN_CNAF (3%)SURFSARA (2%)DUNE_UK_LANCASTER_C…DUNE_UK_LANCASTER_CEPH (1%)RAL_ECHO (0%)

RSEs used

NameInputsOutputs
DUNE_CERN_EOS274192
DUNE_US_BNL_SDCC173133
DUNE_US_FNAL_DISK_STAGE144184
DUNE_UK_MANCHESTER_CEPH142132
NIKHEF7048
DUNE_ES_PIC6593
PRAGUE4466
DUNE_IT_INFN_CNAF3959
SURFSARA2453
DUNE_UK_LANCASTER_CEPH197
RAL_ECHO532

Stats of processed input files as CSV or JSON, and of uploaded output files as CSV or JSON (up to 10000 files included)

Jobscript

#!/bin/bash
#set -euo pipefail

echo "=== DETSIM job starting ==="
echo "Host: $(hostname)"
echo "PWD(cmd): $(/bin/pwd -P || pwd || true)"
echo "PWD(var): ${PWD:-unset}"
echo "JUSTIN_PATH=${JUSTIN_PATH:-unset}"
echo "JUSTIN_INPUT_FILE=${JUSTIN_INPUT_FILE:-unset}"

# ----------------------------------------------------------------------
# Allocate the input file via justIN (robust)
# ----------------------------------------------------------------------
if [[ -z "${JUSTIN_PATH:-}" ]]; then
  echo "ERROR: JUSTIN_PATH is not set (not running under justIN wrapper?)"
  exit 2
fi

alloc="$("$JUSTIN_PATH/justin-get-file")"
if [[ -z "$alloc" ]]; then
  echo "No more inputs allocated for this stage; exiting cleanly."
  exit 0
fi

did="$(echo "$alloc" | awk '{print $1}')"
pfn="$(echo "$alloc" | awk '{print $2}')"
rse="$(echo "$alloc" | awk '{print $3}')"
echo "Allocated input: did=$did pfn=$pfn rse=$rse"

INPUT_G4="${pfn:-}"
if [[ -z "${INPUT_G4}" ]]; then
  echo "ERROR: allocator returned empty PFN"
  exit 3
fi

echo "G4 input file: ${INPUT_G4}"

# Output value of expected input environment variables
echo "fhicl file: ${JOB_FHICL_FILE}"

# Work in the sandbox
cd $PWD

# ----------------------------------------------------------------------
# Grab the tarball that has our fhicl files we'll need
# ----------------------------------------------------------------------
FCL_TGZ_URL="https://raw.githubusercontent.com/SFBayLaser/dune-justin/main/bundles/fhicl_bundle.tgz"
curl -L -o fhicl_bundle.tgz "$FCL_TGZ_URL"
tar xzf fhicl_bundle.tgz

# ----------------------------------------------------------------------
# Environment setup
# ----------------------------------------------------------------------
echo "Sourcing DUNE setup..."
#set +u
source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh
#set -u

setup dunesw v10_16_00d00 -q e26:prof

ups active
lar --version

# ----------------------------------------------------------------------
# Point fhicl to our local files
# ----------------------------------------------------------------------
export FHICL_FILE_PATH="$PWD/fhicl:${FHICL_FILE_PATH:-.}"

# ----------------------------------------------------------------------
# Run DETSIM
# ----------------------------------------------------------------------
FCL=${JOB_FHICL_FILE}

# Output filename derived from input (your preferred convention)
INBASE="$(basename "${INPUT_G4}" .root)"
OUTFILE="${INBASE}_detsim.root"

echo "Running lar DETSIM:"
echo "  FCL:     ${FCL}"
echo "  Input:   ${INPUT_G4}"
echo "  Output:  ${OUTFILE}"

lar -c "${FCL}" -s "${INPUT_G4}" -o "${OUTFILE}" -n -1

# ----------------------------------------------------------------------
# Sanity checks
# ----------------------------------------------------------------------
test -f "${OUTFILE}" || { echo "ERROR: Output file ${OUTFILE} not produced!"; exit 1; }
ls -lh "${OUTFILE}"

# ----------------------------------------------------------------------
# Tell justIN we successfully processed the allocated input
# ----------------------------------------------------------------------
echo "$did" >> justin-processed-dids.txt
echo "Wrote processed DID: $did"

echo "=== DETSIM job completed successfully ==="
justIN time: 2026-02-04 05:42:06 UTC       justIN version: 01.06.00