1 of 11

dRICH-MOBO Workflow

Cynthia Nunez, Connor Pecar

AID2E Meeting

Nov 4, 2025

2 of 11

MOBO Framework

  • Optimize dRICH geometry using Ax v.0.3.6 + BoTorch MOBO
  • Each objective modeled by independent GP : SingleTaskGP
  • Acquisition function: qLogNoisyExpectedHypervolumeImprovement (qLogNEHVI)
  • Objectives optimized simultaneously, with objective threshold 0.9*(nominal objective values)
  • Batch submission to Slurm configured in optimization.config file
    • Results shown: 10 SOBOL + 100 qLogNEHVI trials
  • Integrate with the full ePIC dRICH simulation/reconstruction chain

2

3 of 11

Dual-radiator RICH (dRICH)

  •  

3

Figure from PoS(QNP2024)009

4 of 11

Optimization workflow

  • Sim. + reco. version:
    • Container: eic_xl 24.11.1‑stable

 use container version of EICrecon, IRT

    • ePIC software: requires fork of ePIC geo (small changes to mirror/sensor placement, linked in README)
  • Configuration
    • parameters.config:

geometry variables

    • optimize.config:

trials, output dirs

      • N_sobol: random trials
      • N_mobo: MOBO trials
      • N_batch: jobs in parallel

4

Ax Scheduler ; Slurm runner to submit batch job trials

XML geometry updated with proposed parameters

Overlap checks, ePIC simulation and reconstruction EICRecon + IRT

Physics analysis script computes metrics and results saved

Ax reads results and updates surrogate model

5 of 11

Main script and utilities

5

dRICH-MOBO

slurm_wrapper_basic.py

optimize.config

parameters.config

ProjectUtils/

ePICUtils/

editxml.py

runTestsAndObjectivesCalc.py

genMomentumScan_job.sh

dRICHAna

runner_utilities.py

slurm_utilities.py

mobo_utilities.py

metric_utilities.py

config_editor.py

Description of the different files/utilities used can be found in the write up

6 of 11

Integration with ePIC software

  •  

6

7 of 11

Analysis and physics metrics

  •  

7

8 of 11

Results

  • Outputs the following files:
    • detector geometries drich <jobid>.xml and reconstruction ROOT files
    • result files drich-mobo-out <jobid>.txt
    • summary $OUTPUT NAME.csv and model $OUTPUT NAME gs model.pkl
  • A typical run on Duke computing cluster takes about 2.5 hours per longest simulation step (high momentum tracks)
  • A typical optimization of 100 trials (25 Sobol + 75 MOBO) with 3 objectives and simulating 3000 particles can take to run 2-3 days on the Duke Compute Cluster CPU with 5 concurrent trials per batch submission.

8

9 of 11

Results

9

Design parameters for designs with both PID metrics > nominal

10 of 11

Extending or modifying

  •  

10

11 of 11

Documentation

11