Skip to content
Snippets Groups Projects
Commit 3ef48370 authored by Eric Torrence's avatar Eric Torrence
Browse files

Finish digi-merge job

parent 79f11090
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,7 @@
# Used with a condor file to submit to vanilla universe
#
# Usage:
# submit_faserMDC_digi.sh filepath [release_directory] [working_directory]
# submit_faserMDC_digi.sh filepath [release_directory] [working_directory]
#
# filepath - full file name (with path)
# release_directory - optional path to release install directory (default pwd)
......
#!/bin/bash
# Used with a condor file to submit to vanilla universe
#
# Usage:
# submit_faserMDC_digi_merge.sh dirpath slice nfiles [release_directory] [working_directory]
#
# dirpath - full directory path to HITS files
# slice - ordinal output file number
# nfiles - number of HITS files to process per slice
# release_directory - optional path to release install directory (default pwd)
# working_directory - optional path to output directory location (default pwd)
#
# The release directory must already be set up
# (so an unqualified asetup can set up the release properly)
#
# Script will use git describe to find the release tag.
# If this matches sim/s???? or digi/d???? it will be passed to the job
#
#----------------------------------------
# Keep track of time
SECONDS=0
#
# Parse command-line options
dir_path=${1}
slice=${2}
nfiles=${3}
release_directory=${4}
working_directory=${5}
#
# Set defaults if arguments aren't provided
if [ -z "$dir_path" ]
then
echo "No directory specified!"
echo "Usage: submit_faserMDC_digi_merge.sh directory slice nfiles [release dir] [output dir]"
exit 1
fi
#
if [ -z "$slice" ]
then
echo "Slice number not specified!"
echo "Usage: submit_faserMDC_digi_merge.sh directory slice nfiles [release dir] [output dir]"
exit 1
fi
#
if [ -z "$nfiles" ]
then
echo "Files per slice not specified!"
echo "Usage: submit_faserMDC_digi_merge.sh directory slice nfiles [release dir] [output dir]"
exit 1
fi
#
if [ -z "$release_directory" ]
then
release_directory=`pwd`
fi
#
if [ -z "$working_directory" ]
then
working_directory=`pwd`
fi
#
starting_directory=`pwd`
#
# Now extract the run number and file stem
#
# First, get an example filename
file_name=`ls -1 $dir_path | head -1`
#
# Now split based on '.' to get stem
defaultIFS=$IFS
IFS='.'
read file_stem ext <<< "$file_name"
#
# Finally extract the run number
IFS='-'
# Read the split words into an array based on delimiter
read faser short run_number segment <<< "$file_stem"
#
# Set the IFS delimeter back or else echo doesn't work...
IFS=$defaultIFS
#
# Make output directory if needed
output_directory="$working_directory/$run_number"
mkdir -p "$output_directory"
#
# Need to make up an output name
file_stem="$faser-$short-$run_number-RDO-merge-$slice"
#
# This magic redirects everything in this script to our log file
exec >& "$output_directory/$file_stem.log"
echo `date` - $HOSTNAME
echo "Directory: $dir_path"
echo "Slice: $slice"
echo "NFiles: $nfiles"
echo "Release: $release_directory"
echo "Output: $output_directory"
echo "Starting: $starting_directory"
echo "job: $file_stem"
#
# Set up the release (do this automatically)?
export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh
#
# Try automatic
# Always go back to the starting directory in case paths are relative
cd "$starting_directory"
cd "$release_directory"
# asetup
# source build/x8*/setup.sh
#
# Do this by hand
asetup --input=calypso/asetup.faser Athena,22.0.49
source build/x86*/setup.sh
#
#
# Try to find a release tag
cd calypso
recotag=`git describe`
if [[ "$recotag" == "reco/r"???? ]]; then
tag=`echo "$recotag" | cut -c 6-11`
echo "Found reco tag: $tag"
fi
if [[ "$recotag" == "digi/d"???? ]]; then
tag=`echo "$recotag" | cut -c 6-11`
echo "Found digi tag: $tag"
fi
if [[ "$recotag" == "sim/s"???? ]]; then
tag=`echo "$recotag" | cut -c 5-10`
echo "Found sim tag: $tag"
fi
#
# Move to the run directory
cd "$starting_directory"
cd "$output_directory"
#
# Remove any previous directory if it exists
#if [[ -e "$file_stem" ]]; then
# echo "Remove previous directory $file_stem"
# rm -rf "$file_stem"
#fi
#
# Make run directory
if [[ -e "$file_stem" ]]; then
echo "Directory $file_stem already exists"
else
mkdir "$file_stem"
fi
cd "$file_stem"
#
# Run job
if [[ -z "$tag" ]]; then
faserMDC_digi_merge.py --slice $slice --files $nfiles $dir_path
else
faserMDC_digi_merge.py --slice $slice --files $nfiles --tag $tag $dir_path
fi
#
# Print out ending time
date
echo "Job finished after $SECONDS seconds"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment