Back to home page

EIC code displayed by LXR

 
 

    


Warning, /AID2E-framework/examples/epic/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 workflow.yml -> aid2e optimize -> workflow stages -> objective plan -> optimizer 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_utils.py`: job payloads and objective aggregation
0013 - `script/dRICHAna_bootstrap.cpp`: per-scan analysis code used by the `ana` stage
0014 
0015 ## ePIC Setup
0016 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.
0017 
0018 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.
0019 
0020 Additionally, the dRICH analysis script will need to be built from within eic-shell prior to running the optimization, located in examples/epic/drich/script
0021 
0022 ```
0023 git clone -b 24.11.1-drich-singlemirror https://github.com/cpecar/epic-geom-drich-mobo.git
0024 ./build_epic.sh epic-geom-drich-mobo "$EIC_SOFTWARE"
0025 cd examples/epic/drich/script && make
0026 ```
0027 
0028 ## Run
0029 ```
0030 aid2e optimize examples/epic/drich/workflow.yml
0031 ```
0032 
0033 ```mermaid
0034 flowchart TB
0035   C["workflow.yml"] --> O["aid2e optimize"]
0036   O --> B["Schedule trial batch"]
0037 
0038   subgraph T["Run one trial workflow"]
0039     G["geo"]
0040     G --> S1["sim + rec 1"]
0041     G --> S2["sim + rec 2"]
0042     G --> SN["... 8 jobs"]
0043 
0044     S1 --> SF["sim + rec complete"]
0045     S2 --> SF
0046     SN --> SF
0047 
0048     SF --> A1["ana 1"]
0049     SF --> AN["... 4 jobs"]
0050     A1 --> M["collect objectives"]
0051     AN --> M
0052   end
0053 
0054   B --> T
0055   B --> N["Other trials<br/>same workflow"]
0056   M --> R["Collect batch results"]
0057   N --> R
0058   R --> U["Update optimizer"] --> O
0059 ```