modified: .gitignore
modified: TrackRecon.C deleted: batchproces_mapped_run.sh modified: process_mapped_run.sh
This commit is contained in:
parent
17ab8c884a
commit
56cc900b61
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -24,3 +24,4 @@ qqq_gains_det3.dat
|
|||
qqq_relative_gains.dat
|
||||
Armory/CorrelateQQQ.h
|
||||
QQQStage2.C
|
||||
qqqIvERun395.png
|
||||
|
|
|
|||
|
|
@ -324,8 +324,8 @@ Bool_t TrackRecon::Process(Long64_t entry)
|
|||
plotter->Fill2D("DelT_Vs_QQQRingECal", 500, -2500, 2500, 1000, 0, 10, tRing - static_cast<double>(pc.t[k]), eRingMeV, "hTiming");
|
||||
plotter->Fill2D("CalibratedQQQEvsAnodeE_R", 1000, 0, 10, 2000, 0, 30000, eRingMeV, pc.e[k], "hPCQQQ");
|
||||
plotter->Fill2D("CalibratedQQQEvsAnodeE_W", 1000, 0, 10, 2000, 0, 30000, eWedgeMeV, pc.e[k], "hPCQQQ");
|
||||
// if (tRing - static_cast<double>(pc.t[k]) < -150 && tRing - static_cast<double>(pc.t[k]) > -450) // 27Al
|
||||
if (tRing - static_cast<double>(pc.t[k]) < -75 && tRing - static_cast<double>(pc.t[k]) > -145) // 17F
|
||||
if (tRing - static_cast<double>(pc.t[k]) < -150 && tRing - static_cast<double>(pc.t[k]) > -450) // 27Al
|
||||
// if (tRing - static_cast<double>(pc.t[k]) < -75 && tRing - static_cast<double>(pc.t[k]) > -145) // 17F
|
||||
{
|
||||
PCQQQTimeCut = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
#parallel -j 8 --ctag ./process_mapped_run.sh {1} ::: {01..04}
|
||||
#hadd -j
|
||||
instr=""
|
||||
declare -i i=0
|
||||
while [[ $i -lt 10 ]]; do
|
||||
echo $i
|
||||
i=$i+1
|
||||
instr=" "+$i
|
||||
done
|
||||
echo $instr
|
||||
|
|
@ -1 +1,73 @@
|
|||
root -l -x -q ../2024_06_27Al/root_data/Run_0$1_mapped.root -e 'tree->Process("TrackRecon.C+");'
|
||||
#!/bin/bash
|
||||
|
||||
# ==========================================
|
||||
# CONFIGURATION
|
||||
# ==========================================
|
||||
DATA_DIR="/mnt/d/Remapped_files/17F_data/root_data"
|
||||
MACRO="TrackRecon.C"
|
||||
|
||||
# SAFETY SETTINGS
|
||||
JOBS=2 # Keep low (2-4) to prevent WSL crashes
|
||||
MIN_MEM="1G" # Wait if RAM is full
|
||||
# ==========================================
|
||||
|
||||
# 1. CHECK ARGUMENTS
|
||||
if [ "$#" -ne 2 ]; then
|
||||
echo "Usage: $0 <Start_Run> <End_Run>"
|
||||
echo "Example: $0 10 50"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
START_RUN=$1
|
||||
END_RUN=$2
|
||||
|
||||
# 2. COMPILE MACRO
|
||||
# Compiling once is mandatory for parallel execution
|
||||
echo "Compiling ${MACRO}..."
|
||||
root -l -b -q -e "gROOT->ProcessLine(\".L ${MACRO}+\");"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: Compilation failed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 3. DEFINE WORKER FUNCTION
|
||||
run_job() {
|
||||
file_path="$1"
|
||||
macro_name="$2"
|
||||
|
||||
echo "Processing: $file_path"
|
||||
|
||||
# Execute ROOT
|
||||
nice -n 15 root -l -x -b -q "$file_path" -e "tree->Process(\"${macro_name}+\");" > "${file_path}.log" 2>&1
|
||||
}
|
||||
export -f run_job
|
||||
|
||||
# 4. QUEUE BUILDER (The "Skip" Logic is here)
|
||||
echo "Checking runs $START_RUN to $END_RUN..."
|
||||
|
||||
for (( i=$START_RUN; i<=$END_RUN; i++ ))
|
||||
do
|
||||
# Construct the input filename
|
||||
# Logic: Run_0 + number -> Run_0115
|
||||
file="${DATA_DIR}/Run_0${i}_mapped.root"
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# SKIP LOGIC
|
||||
# We check if the log file exists. If so, we assume it's done.
|
||||
# ------------------------------------------------------------
|
||||
log_file="${file}.log"
|
||||
|
||||
if [ -f "$log_file" ]; then
|
||||
# >&2 redirects to stderr so it doesn't get fed into 'parallel'
|
||||
echo "Skipping Run $i: Log file already exists." >&2
|
||||
continue
|
||||
fi
|
||||
|
||||
# Only add to queue if the INPUT file actually exists
|
||||
if [ -f "$file" ]; then
|
||||
echo "$file"
|
||||
else
|
||||
echo "Warning: Input file for run $i not found." >&2
|
||||
fi
|
||||
|
||||
done | parallel --jobs $JOBS --memfree $MIN_MEM --retries 2 run_job {} "$MACRO"
|
||||
Loading…
Reference in New Issue
Block a user