Back to home page

EIC code displayed by LXR

 
 

    


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).