Back to home page

EIC code displayed by LXR

 
 

    


Warning, /AID2E-framework/examples/drich/README.md is written in an unsupported language. File is not indexed.

0001 # AID2E dRICH Example
0002 
0003 Run dRICH detector-design optimization with AID2E. The main flow is:
0004 
0005 ```
0006 drich_optimize.py -> drich_eval.py -> out-{trial}.json -> Ax update
0007 ```
0008 
0009 ## Files
0010 - `workflow.yml`: example config optimizer, scheduler, and epic workflow
0011 - `design.params`: geometry parameters and XML edit targets
0012 - `drich_optimize.py`: builds optimizer/scheduler, submits trial jobs, runs one-trial DAGs, updates Ax, writes results
0013 - `drich_eval.py`: launched by DAG stages; runs ePIC stack layers
0014 - `drich_utils.py`: dRICH-specific utilities
0015 - `script/dRICHAna_bootstrap.cpp`: dRICH per-scan analysis code used by the `ana` stage
0016 
0017 ## ePIC Setup
0018 It is recommended to use the branch of the fork containing a single-mirror dRICH, which is then compatible with the already built versions of EICrecon and IRT available in eic-shell:24.11.1-stable.
0019 
0020 The following repository and branch hold the recommended default geometry for the optimization of the dRICH and will need to be downloaded and built prior to running.
0021 
0022 Additionally, the dRICH analysis script will need to be built from within eic-shell prior to running the optimization, located in examples/drich/script
0023 
0024 ```
0025 git clone -b 24.11.1-drich-singlemirror https://github.com/cpecar/epic-geom-drich-mobo.git
0026 ./build_epic.sh epic-geom-drich-mobo "$EIC_SOFTWARE"
0027 cd examples/drich/script && make
0028 ```
0029 
0030 ## Run
0031 ```
0032 python examples/drich/drich_optimize.py --config examples/drich/workflow.yml
0033 ```
0034 
0035 ```mermaid
0036 flowchart TB
0037   C["workflow.yml<br/>config + stages"]
0038   O["drich_optimize.py<br/>optimizer + trial DAG runner"]
0039   E["drich_eval.py<br/>run stage; EpicStack"]
0040   R["out-{trial_index}.json<br/>output objectives + errors"]
0041 
0042   C --> O
0043   O -->|"trial config; DAGExecutor"| E
0044   E --> R
0045   R -->|"update Ax"| O
0046 ```