justIN           Dashboard       Workflows       Jobs       AWT       Sites       Storages       Docs       Login

Workflow 3727, Stage 1

Priority50
Processors1
Wall seconds14600
RSS bytes8388608000 (8000 MiB)
Max distance for inputs100.0
Enabled input RSEs CERN_PDUNE_EOS, 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, MANCHESTER, MONTECARLO, NIKHEF, PRAGUE, QMUL, RAL-PP, RAL_ECHO, SURFSARA, T3_US_NERSC
Enabled output RSEs CERN_PDUNE_EOS, 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, MANCHESTER, 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, IN_TIFR, IT_CNAF, UK_Bristol, UK_Brunel, UK_Durham, UK_Edinburgh, UK_Imperial, UK_Lancaster, UK_Liverpool, UK_Manchester, UK_Oxford, UK_RAL-Tier1, UK_Sheffield, US_BNL, US_Caltech, US_Colorado, US_FNAL-FermiGrid, US_FNAL-T1, US_Michigan, US_MIT, US_Nebraska, 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 stage
1https://fndcadoor.fnal.gov:2880/dune/scratch/users/bbehera/03727/1*.root

Environment variables

NameValue
INPUT_TAR_DIR_LOCAL/cvmfs/fifeuser3.opensciencegrid.org/sw/dune/73122b6038bbf8ba453c4aefdd16e24e09bde425

File states

Total filesFindingUnallocatedAllocatedOutputtingProcessedNot foundFailed
1000001000

Job states

TotalSubmittedStartedProcessingOutputtingFinishedNotusedAbortedStalledJobscript errorOutputting failedNone processed
15000015000000
Files processed0011223344556677Oct-21 02:00Oct-21 03:00Oct-21 04:00Oct-21 05:00Oct-21 06:00Files processedBin start timesNumber per binCA_SFUUK_Manchester

RSEs used

NameInputsOutputs
MONTECARLO100

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
:<<'EOF'

To use this jobscript to process 5 files from the dataset fardet-hd__fd_mc_2023a_reco2__full-reconstructed__v09_81_00d02__standard_reco2_dune10kt_nu_1x2x6__prodgenie_nu_dune10kt_1x2x6__out1__validation
data and put the output in the $USER namespace (MetaCat) and saves the output in /scratch
Use this command to create the workflow:

justin simple-workflow \
--mql \
"files from fardet-hd:fardet-hd__fd_mc_2023a__hit-reconstructed__v09_78_01d01__standard_reco1_dune10kt_1x2x6__prodgenie_nu_dune10kt_1x2x6__out1__v1_official limit 1 limit 5  ordered"\
--jobscript submit_ana.jobscript --rss-mb 4000 \
--scope higuera --output-pattern '*_myreco2_*.root:$FNALURL/$USERF' 

The following optional environment variables can be set when creating the
workflow/stage: FCL_FILE, NUM_EVENTS, DUNE_VERSION, DUNE_QUALIFIER 

EOF

# fcl file and DUNE software version/qualifier to be used
#FCL_FILE=${FCL_FILE:-$INPUT_TAR_DIR_LOCAL/srcs/protoduneana/protoduneana/singlephase/mucap/muoncapturejob.fcl}
FCL_GEN=${FCL_GEN:-$INPUT_TAR_DIR_LOCAL/srcs/dunereco/dunereco/BlipRecoDUNE/job/gen_protodunevd_mu_and_pi_cap_1GeV.fcl}
FCL_G4STAGE1=${FCL_G4STAGE1:-protodunevd_refactored_g4_stage1.fcl}
FCL_G4STAGE2=${FCL_G4STAGE2:-protodunevd_refactored_g4_stage2.fcl}
FCL_DETSIM=${FCL_DETSIM:-$INPUT_TAR_DIR_LOCAL/srcs/dunereco/dunereco/BlipRecoDUNE/job/protodunevd_refactored_detsim_keepall.fcl}
FCL_RECO=${FCL_RECO:-protodunevd_reco.fcl}
FCL_ANA=${FCL_ANA:-$INPUT_TAR_DIR_LOCAL/srcs/dunereco/dunereco/BlipRecoDUNE/job/run_pdvd_blipana.fcl}
DUNE_VERSION=${DUNE_VERSION:-v09_91_03d00}
DUNE_QUALIFIER=${DUNE_QUALIFIER:-e26:prof}

# 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`

if [ "$did_pfn_rse" = "" ] ; then
  echo "Nothing to process - exit jobscript"
  exit 0
fi

# Keep a record of all input DIDs, for pdjson2meta file -> DID mapping
echo "$did_pfn_rse" | cut -f1 -d' ' >>all-input-dids.txt

# pfn is also needed when creating justin-processed-pfns.txt
pfn=`echo $did_pfn_rse | cut -f2 -d' '`
echo "Input PFN = $pfn"

# Setup DUNE environment
source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh
export PRODUCTS="${INPUT_TAR_DIR_LOCAL}/localProducts_larsoft_v09_91_03d00_e26_prof/:$PRODUCTS" #working
setup dunesw "$DUNE_VERSION" -q "$DUNE_QUALIFIER"
mrbslp

#export PRODUCTS="${INPUT_TAR_DIR_LOCAL}/localProducts_larsoft_v09_91_03d00_e26_prof/setup:$PRODUCTS" #not working
#source $INPUT_TAR_DIR_LOCAL/localProducts_larsoft_v09_91_03d00_e26_prof/setup #not working
#setup protoduneana "$DUNE_VERSION" -q "$DUNE_QUALIFIER" # working


# 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}'`
#outFile=${fname}_reco2_${now}.root

outFile_GEN=${fname}_gen_${now}.root
outFile_G4Stage1=${fname}_g4_stage1_${now}.root
outFile_G4Stage2=${fname}_g4_stage2_${now}.root
outFile_Detsim=${fname}_detsim_${now}.root
outFile_reco=${fname}_reco_${now}.root
outFile_ana=${fname}_ana_${now}.root
outFile_ana_hist=${fname}_ana_hist_${now}.root

campaign="justIN.w${JUSTIN_WORKFLOW_ID}s${JUSTIN_STAGE_ID}"
# 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"


lar -c $FCL_GEN      -n 100         -o $outFile_GEN                      -T /dev/null                         > ${fname}_gen_${now}.log 2>&1
lar -c $FCL_G4STAGE1 -n -1  -s $outFile_GEN      -o $outFile_G4Stage1    -T /dev/null                 > ${fname}_g4stage1_${now}.log 2>&1
lar -c $FCL_G4STAGE2 -n -1  -s $outFile_G4Stage1 -o $outFile_G4Stage2    -T /dev/null                 > ${fname}_g4stage2_${now}.log 2>&1
lar -c $FCL_DETSIM   -n -1  -s $outFile_G4Stage2 -o $outFile_Detsim      -T /dev/null                 > ${fname}_detsim_${now}.log 2>&1
lar -c $FCL_RECO     -n -1  -s $outFile_Detsim   -o $outFile_reco        -T /dev/null                 > ${fname}_reco_${now}.log 2>&1
lar -c $FCL_ANA      -n -1  -s $outFile_reco     -o $outFile_ana     -T $outFile_ana_hist > ${fname}_ana_${now}.log 2>&1

#lar -c $FCL_FILE $events_option -o $outFile "$pfn" > ${fname}_myreco2_${now}.log 2>&1

#lar -c $FCL_FILE $events_option -T ${outRecoFile}.root -o ${fname}_crpcb_bottom_reco.root $pfn > ${outRecoFile}.log 2>&1
#lar -c $ANA_FILE $events_option -T ${outAnaFile}_hist.root -o ${outAnaFile}.root ${fname}_crpcb_bottom_reco.root > ${fname}_myana_${now}.log 2>&1
)

echo '=== Start last 100 lines of lar log file ==='
tail -100 ${fname}_ana_${now}.log
echo '=== End last 100 lines of lar log file ==='

# 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: 2024-11-23 22:50:00 UTC       justIN version: 01.01.09