From 7f936f6a53e909155d73bf4dd9c4185c4d65394c Mon Sep 17 00:00:00 2001 From: vsitaraman Date: Sun, 6 Sep 2026 16:05:13 -0400 Subject: [PATCH] modified: run_27Al.sh testing beamtilt theory --- CLAUDE.md | 12 +++++++++++- run_27Al.sh | 13 +++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 40c35bc..05f2aaa 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,8 +1,18 @@ # ANASEN Analysis — working notes for Claude ## Agent behavior +- **Architecture & Remotes:** + - `upstream` points to the canonical public repo (read-only reference). + - `origin` points to your private sandbox repo (read/write scratchpad). + - **NEVER attempt to push to `upstream`.** All upstream synchronization is strictly one-way (`git fetch upstream` -> merge). +- **Upstream Sync Routine:** + - Before applying requested features or edits, sync with `upstream` if requested. + - Never pull into a dirty working tree. Use: `git stash` -> `git fetch upstream` -> `git merge upstream/devel_vignesh` -> `git stash pop`. + - If a merge conflict occurs in analysis macros (`TrackRecon.C`, `MakeVertex.C`, kinematics scripts, or calibration tables), **STOP immediately**. Do not attempt to guess physics logic; flag the exact conflict lines and await instruction. +- **Commits & Pushes to `origin`:** + - Commit only when a coherent, discrete change is finished or when explicitly asked. Write concise, conventional commit messages. + - Push **only** to `origin` (`git push origin `). Push after completing a requested unit of work so the sandbox stays backed up. - ALWAYS output a brief, step-by-step plan before modifying files or running commands. -- NEVER push to remote. Commit only when explicitly asked. - **Targeted edits only.** Never regenerate a whole file to make a local change. - **Never read `MakeVertex.C`** - **Never read `TrackRecon.C` end to end** (~4,250 lines; ~63k tokens each, and it stays in the prefix for the rest of the session). Grep for the symbol, then Read with offset/limit around the hit. If a question genuinely needs the whole file, say so first. Do not explore the codebase open-endedly. diff --git a/run_27Al.sh b/run_27Al.sh index 178ee3b..f8af870 100644 --- a/run_27Al.sh +++ b/run_27Al.sh @@ -13,6 +13,12 @@ export DEDX_SCALE=0.89 export CUTLIST=cuts_list.txt export BEAM_AXIS_X=0 export BEAM_AXIS_Y=0 +# Tilted-beam parameters: (x, y) at BEAM_AXIS_Z0 (default 0), plus dx/dz and dy/dz slopes. +# Default (zeros) reproduces the original vertical beam bit-for-bit. Fit them +# with scratch/iterate_beam.sh + scratch/FitBeamAxis.C. +export BEAM_AXIS_Z0=${BEAM_AXIS_Z0:-0} +export BEAM_TILT_X=${BEAM_TILT_X:-0} +export BEAM_TILT_Y=${BEAM_TILT_Y:-0} echo "Pre-compiling TrackRecon.C safely on a single core..." root -q -l -b -e '.L TrackRecon.C++O' @@ -57,8 +63,8 @@ export -f process_run python3 eloss_calculations/Eloss.py echo "Starting parallel processing..." - time parallel --bar -j 12 process_run ::: {24..41} 44 45 46 {50..59} - # time parallel --bar -j 10 process_run ::: {24..41} + # time parallel --bar -j 12 process_run ::: {24..41} 44 45 46 {50..59} + time parallel --bar -j 12 process_run ::: {24..41} # time parallel --bar -j 10 process_run ::: 44 45 46 {50..59} # time parallel --bar -j 1 process_run ::: 48 # pc without coincidence # mv "${CURRENT_OUT_DIR}/results_run048.root" "Output_27Al_run48/." @@ -89,6 +95,9 @@ unset A1C1_Z_OFF_QQQ unset A1C1_Z_OFF_SX3 unset BEAM_AXIS_X unset BEAM_AXIS_Y +unset BEAM_AXIS_Z0 +unset BEAM_TILT_X +unset BEAM_TILT_Y unset CUTLIST unset DEDX_SCALE unset CURRENT_OUT_DIR