Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:20:22

0001 #!/usr/bin/env bash
0002 #
0003 # run the mbd calibration passes
0004 # usage:
0005 # runmbd_calpass.sh <input> <calpass> <nevts> <nskip>
0006 #
0007 # <input> can be prdf, dst_trig, or dst_fitted, or list files of these
0008 #
0009 
0010 echo PWD=${PWD}
0011 echo LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
0012 echo HOST=`hostname`
0013 ORIG_DIR=${PWD}
0014 
0015 ulimit -c 0     # no core files
0016 
0017 prdf=$1
0018 calpass=$2
0019 
0020 nevts=0
0021 nskip=0
0022 if [[ $# -gt 2 ]]
0023 then
0024   nevts=$3
0025 fi
0026 if [[ $# -gt 3 ]]
0027 then
0028   nskip=$4
0029 fi
0030 
0031 if [[ $2 -eq 1 ]]
0032 then
0033   # for calpass 1, we set nevts to 20K by default
0034   nevts=20000
0035 fi
0036 
0037 
0038 # get run number from prdf file
0039 run=${prdf##*/}
0040 run=${run%-*}
0041 run=${run#*-}
0042 run=$((10#$run))  # convert string to decimal
0043 
0044 # if PASS0DIR set, use that, else use default cdbtag
0045 if [ -z "${PASS0DIR}" ]
0046 then
0047   # set cdb tag by run
0048   cdbtag="ProdA_2024"
0049   #export PASS0DIR=/sphenix/user/chiu/sphenix_bbc/CDB/2024_PASS0_AUAU/
0050   #echo "Setting PASS0DIR to ${PASS0DIR}"
0051 else
0052   # using local files
0053   # make calibration directory and fill it
0054   caldir=${PWD}/results/${run}
0055   echo mkdir -p ${caldir}
0056   mkdir -p ${caldir}
0057 
0058   echo "PASS0DIR = ${PASS0DIR}"
0059   ln -sf ${PASS0DIR}/mbd_shape.calib ${caldir}/
0060   ln -sf ${PASS0DIR}/mbd_sherr.calib ${caldir}/
0061   ln -sf ${PASS0DIR}/mbd_timecorr.calib ${caldir}/
0062   [[ -f ${PASS0DIR}/mbd_slewcorr.calib ]] && ln -sf ${PASS0DIR}/mbd_slewcorr.calib ${caldir}/
0063 
0064   #if [[ ! -f ${caldir}/mbd_slewcorr.calib ]]
0065   #then
0066   #  ln -s ${PASS0DIR}/mbd_slewcorr.calib ${caldir}/
0067   #fi
0068 fi
0069 
0070 # if not interactive, run ROOT in batch mode
0071 if [ ! -z $PS1 ]
0072 then
0073   BATCH=-b
0074 fi
0075 
0076 if [[ ! -z "${_CONDOR_SCRATCH_DIR}" ]]
0077 then
0078   mkdir -p ${_CONDOR_SCRATCH_DIR}
0079   cp -p * ${_CONDOR_SCRATCH_DIR}
0080   cd ${_CONDOR_SCRATCH_DIR}
0081   ln -s ${ORIG_DIR}/results/ ${_CONDOR_SCRATCH_DIR}
0082   if [[ "$prdf" =~ prdf$ || "$prdf" =~ root$ ]]
0083   then
0084     getinputfiles.pl $prdf
0085   fi
0086 fi
0087 
0088 
0089 echo root.exe ${BATCH} -q Fun4All_MBD_CalPass.C\(\"${prdf}\",${calpass},${nevts},${nskip},\"${cdbtag}\"\)
0090 root.exe ${BATCH} -q Fun4All_MBD_CalPass.C\(\"${prdf}\",${calpass},${nevts},${nskip},\"${cdbtag}\"\)
0091 
0092 if [[ ! -z "${_CONDOR_SCRATCH_DIR}" ]]
0093 then
0094   cp -p DST_UNCAL*.root ${ORIG_DIR}
0095   cd ${ORIG_DIR}
0096 fi
0097