Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #!/bin/bash
0002 
0003 #MYINSTALL=""
0004 MYINSTALL="/sphenix/user/jaein213/modules/install"
0005 
0006 # One-liner to get pwd
0007 PWD=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
0008 
0009 GL1_FORMAT="/sphenix/lustre01/sphnxpro/physics/GL1/%s/GL1_%s_gl1daq-%08d-*"
0010 
0011 GL1_LIST="${PWD}/list/run_%08d_gl1.list"
0012 
0013 INTT_FORMAT="" # set based on run number in if statement later on
0014 INTT_LIST="${PWD}/list/run_%08d_intt%01d.list"
0015 
0016 HOTMAP_CDB_FORMAT="${PWD}/hotmap_cdb/hotmap_run_%08d.root"
0017 HOTMAP_PNG_FORMAT="${PWD}/hotmap_png/hotmap_run_%08d.png"
0018 
0019 BCOMAP_CDB_FORMAT="${PWD}/bcomap_cdb/bcomap_run_%08d.root"
0020 BCOMAP_PNG_FORMAT="${PWD}/bcomap_png/bcomap_run_%08d.png"
0021 
0022 HITMAP_FORMAT="${PWD}/hitmap/hitmap_run_%08d.root"
0023 
0024 
0025 RUN_NUM=""         # required
0026 NUM_EVT="400000"    # default if argument 2 is empty
0027 RUN_TYPE="physics" # default if argument 3 is empty
0028 
0029 show_help()
0030 {
0031 cat << EOF
0032 
0033         usage:
0034                 $0 [run number] [num events (optional)] [run type (optional)]
0035         The default for [num events] is ${NUM_EVT}
0036         The default for [run type] is ${RUN_TYPE}
0037         For older runs, you may need to set [run type] as "beam" (and specify [num events])
0038 
0039 EOF
0040 }
0041 
0042 # Arguments
0043 if [[ $# -lt 1 || $1 == "-h" || $1 == "--help" ]]; then
0044         show_help
0045         exit 0
0046 fi
0047 
0048 RUN_NUM="$1"
0049 if [[ ${RUN_NUM} -lt 43263 ]]; then
0050         INTT_FORMAT="/sphenix/lustre01/sphnxpro/commissioning/INTT/%s/%s_intt%d-%08d-*"
0051 else
0052         INTT_FORMAT="/sphenix/lustre01/sphnxpro/physics/INTT/%s/%s_intt%d-%08d-*"
0053 fi
0054 
0055 if [[ -n "$2" ]]; then
0056         NUM_EVT="$2"
0057 fi
0058 
0059 if [[ -n "$3" ]]; then
0060         RUN_TYPE="$3"
0061 fi
0062 
0063 # Custom MYINSTALL for developement/debugging purposes
0064 source /opt/sphenix/core/bin/sphenix_setup.sh -n new
0065 if [ -n "${MYINSTALL}" ] && [ -d "${MYINSTALL}" ]; then
0066         source /opt/sphenix/core/bin/setup_local.sh ${MYINSTALL}
0067 fi
0068 
0069 # File list creation
0070 # GL1
0071 printf -v GL1LIST ${GL1_LIST} ${RUN_NUM}
0072 printf -v GL1FILE ${GL1_FORMAT} ${RUN_TYPE} ${RUN_TYPE} ${RUN_NUM} 
0073 /bin/ls -1 ${GL1FILE} > ${GL1LIST} 2>/dev/null 
0074 if [ ! -s ${GL1LIST} ]
0075 then
0076   echo gl1daq.list empty, removing it
0077   rm  ${GL1LIST}
0078 fi
0079 
0080 # INTT
0081 MISSING_FILES=""
0082 
0083 for FLX_SVR in $(seq 0 7); do
0084         printf -v LIST ${INTT_LIST} ${RUN_NUM} ${FLX_SVR}
0085         printf -v FILE ${INTT_FORMAT} ${RUN_TYPE} ${RUN_TYPE} ${FLX_SVR} ${RUN_NUM}
0086         mkdir -p $(dirname ${LIST})
0087         ls -1 ${FILE} > ${LIST} 2>/dev/null
0088         if [ ! -s ${LIST} ]; then
0089                 MISSING_FILES="${MISSING_FILES}${FILE} "
0090                 rm ${LIST}
0091         fi
0092 done
0093 
0094 # Check list creation (and early return if it failed)
0095 if [ ! -z "$MISSING_FILES" ]; then
0096         echo -e "\nMissing files; the following expansions failed"
0097         for FILE in $MISSING_FILES; do
0098                 echo -e "\t${FILE}"
0099         done
0100         echo -e "Exiting\n"
0101         exit 1
0102 fi
0103 
0104 # Output
0105 printf -v HOTMAP_CDB_FILE ${HOTMAP_CDB_FORMAT} ${RUN_NUM}
0106 mkdir -p $(dirname ${HOTMAP_CDB_FILE})
0107 printf -v HOTMAP_PNG_FILE ${HOTMAP_PNG_FORMAT} ${RUN_NUM}
0108 mkdir -p $(dirname ${HOTMAP_PNG_FILE})
0109 
0110 printf -v BCOMAP_CDB_FILE ${BCOMAP_CDB_FORMAT} ${RUN_NUM}
0111 mkdir -p $(dirname ${BCOMAP_CDB_FILE})
0112 printf -v BCOMAP_PNG_FILE ${BCOMAP_PNG_FORMAT} ${RUN_NUM}
0113 mkdir -p $(dirname ${BCOMAP_PNG_FILE})
0114 
0115 # Macro
0116 root -q -b "${PWD}/macro_Calib.C(${RUN_NUM}, ${NUM_EVT}, \"${GL1_LIST}\", \"${INTT_LIST}\", \"${HOTMAP_CDB_FILE}\", \"${HOTMAP_PNG_FILE}\", \"${BCOMAP_CDB_FILE}\", \"${BCOMAP_PNG_FILE}\")"
0117 # gdb -ex run --args root.exe "${PWD}/macro.C(${RUN_NUM}, ${NUM_EVT}, \"${INTT_LIST}\", \"${HOTMAP_CDB_FILE}\", \"${HOTMAP_PNG_FILE}\", \"${BCOMAP_CDB_FILE}\", \"${BCOMAP_PNG_FILE}\")"
0118 EXIT_VALUE="$?"
0119 
0120 # Remove list files after finishing
0121 for FLX_SVR in $(seq 0 7); do
0122         printf -v LIST ${INTT_LIST} ${RUN_NUM} ${FLX_SVR}
0123 #       rm -f ${LIST}
0124 done
0125 
0126 exit ${EXIT_VALUE}