Warning, /epic-lfhcal-tbana/examples/yall/QUICKSTART.md is written in an unsupported language. File is not indexed.
0001 # LFHCal + yall-run quick start
0002
0003 Already installed LFHCal using Fredi's instructions? Keep that installation.
0004 **Install yall-run → get the examples → set paths → test.**
0005 Commands below use the host **tcsh** shell. Stop on errors.
0006
0007 Starting from scratch instead? See [SETUP.md](SETUP.md#install-in-a-new-workspace).
0008
0009 ## Existing installation: do not run the bootstrap just to submit
0010
0011 Use your existing LFHCal build and its working ROOT environment. There are
0012 no build tasks in these example graphs. Do not update or rebuild a checkout
0013 while jobs are using it.
0014
0015 ### Download and install yall-run
0016
0017 Requires Git, Python 3.8 or newer, pip, and yall-run 0.12.0a7 or newer.
0018 The commands below download and install yall-run:
0019
0020 ```tcsh
0021 setenv YALL_RUN_REPO "$HOME/yall-run"
0022 git clone --branch main https://github.com/paulnord/yall-run.git "$YALL_RUN_REPO"
0023 python3 -m pip install --user -e "$YALL_RUN_REPO"
0024 setenv PATH "`python3 -m site --user-base`/bin:$PATH"
0025 rehash
0026 which yall-run
0027 yall-run --version
0028 ```
0029
0030 If you already have yall-run, use that checkout instead of cloning again.
0031 Keep the checkout: the editable install uses it. Retain `YALL_RUN_REPO` and
0032 PATH in your normal shell setup. This does not install or rebuild LFHCal.
0033
0034 ### Get the integration examples into your existing checkout
0035
0036 In your existing LFHCal Git repository, the one containing `NewStructure/`:
0037
0038 ```tcsh
0039 setenv LFHCAL_REPO "`git rev-parse --show-toplevel`"
0040 cd "$LFHCAL_REPO"
0041 git status --short
0042 ```
0043
0044 Preserve any local changes before switching branches. The examples are on
0045 Paul's fork; fetch them explicitly regardless of where your `origin` points:
0046
0047 ```tcsh
0048 git fetch https://github.com/paulnord/epic-lfhcal-tbana.git yall-integration-upstream
0049 git diff --stat HEAD FETCH_HEAD -- NewStructure OldStructure configs calibrations .gitmodules
0050 ```
0051
0052 If that diff lists analysis or configuration changes, review them and ensure
0053 your build matches before running. Adding only the examples needs no rebuild.
0054
0055 For the first checkout of this branch:
0056
0057 ```tcsh
0058 git switch --no-track -c yall-integration-upstream FETCH_HEAD
0059 ls examples/yall/lfhcal-simple/Yallfile examples/yall/scan-set-1/Yallfile
0060 ```
0061
0062 If the local branch already exists, use these commands instead:
0063
0064 ```tcsh
0065 git switch yall-integration-upstream
0066 git pull --ff-only https://github.com/paulnord/epic-lfhcal-tbana.git yall-integration-upstream
0067 ```
0068
0069 ### Use your existing LFHCal paths
0070
0071 Set your data directory, a fresh writable output directory, and your existing
0072 EIC launcher. `LFHCAL_DATA` must directly contain `Run*.h2g`.
0073 The BNL shared raw-data directory is `/gpfs01/star/pwg/pnord/eic/2026TBdata/raw`.
0074
0075 ```tcsh
0076 setenv LFHCAL_DATA /path/to/complete/raw-input
0077 setenv LFHCAL_WORK /path/to/new-output-root
0078 setenv EIC_SHELL /path/to/eic-shell
0079 mkdir -p "$LFHCAL_WORK/campaigns"
0080 ```
0081
0082 With these manual settings, do **not** source `env.tcsh`: it loads the optional
0083 bootstrap setup. Software and data paths must work on worker nodes and inside EIC.
0084
0085 The examples use `@set BUILD ../../../NewStructure/build`. If your executables
0086 are elsewhere, change that line in the chosen Yallfile. An in-source build uses
0087 `../../../NewStructure`. Use the runtime environment compatible with that build.
0088
0089 ### Test, then submit
0090
0091 Start with the [1,000-event local test](lfhcal-simple/README.md) in your working
0092 LFHCal/ROOT environment. Next, run the [small Condor/EIC test](SETUP.md#3-small-condor--eic-test).
0093 Condor submission belongs on the host, not inside EIC.
0094
0095 Then try the first full scan, from host tcsh:
0096
0097 ```tcsh
0098 cd "$LFHCAL_REPO/examples/yall/scan-set-1"
0099 foreach r (296 298 299 300 303 304 307 308 309 310)
0100 ls -lh "$LFHCAL_DATA/Run${r}.h2g"
0101 end
0102 yall-run validate
0103 yall-run plan
0104 ```
0105
0106 Check that the files exist and the plan and resource requests are appropriate.
0107 Only after those checks succeed:
0108
0109 ```tcsh
0110 set C = `yall-run create --campaigns-dir "$LFHCAL_WORK/campaigns"`
0111 echo "$C" > "$LFHCAL_WORK/campaign-path.txt"
0112 yall-run start "$C"
0113 yall-run status "$C" -vv
0114 ```
0115
0116 Results: `$LFHCAL_WORK/scan-set-1`. Logs: `$LFHCAL_WORK/campaigns`.
0117 `create` freezes the recipe; later edits do not change that campaign.
0118 Use a fresh `LFHCAL_WORK` for an independent rerun.
0119
0120 To retry unfinished work, fix the cause and inspect partial outputs first:
0121
0122 ```tcsh
0123 yall-run resume "$C" --dry-run
0124 yall-run resume "$C"
0125 ```
0126
0127 ## Validation
0128
0129 Check the example graphs without ROOT, detector data, or job submission:
0130
0131 ```tcsh
0132 python3 "$LFHCAL_REPO/examples/yall/check_shared_conversions.py" -v
0133 ```
0134
0135 More detail: [setup](SETUP.md), [workflow catalog](README.md),
0136 [recovery](https://github.com/paulnord/yall-run/blob/main/docs/RESUME.md).