Skip to content

Campaign 2026-06

This page documents the 2026-06 meson structure simulation campaign.

(!) For the list of files go to DATA PAGE

Overview

The June 2026 campaign runs the same afterburned signal through four parallel DD4hep simulation variants. They differ only in the npsim step (and, for -stv, in the container / npsim build), which makes them directly comparable:

Variantnpsim particle handlerContainerOutput subdirCreator script
-officialGeant4TVUserParticleHandler (default tracking volume)cvmfs eic_xl:nightlydd4hep-official/20_create_npsim_jobs.py
-saveall"" (handler disabled → keep all MCParticles)cvmfs eic_xl:nightlydd4hep-saveall/21_create_npsim_saveall_jobs.py
-background"" + status-offset flags (background-mixed)cvmfs eic_xl:nightlydd4hep-background/11_… + 22_create_npsim_background_jobs.py
-stvGeant4TVEicParticleHandler (smart tracking volume)eicdev/eic-full:latest (.sif)dd4hep-stv/23_create_npsim_stv_jobs.py

Energy ranges (all variants):

  1. 5x41 GeV
  2. 10x100 GeV
  3. 10x130 GeV
  4. 18x275 GeV

Statistics: 5000 events per job.

(!) The -background variant skips 5x41 (no official 5x41 cocktail is published); see the cocktail table below.

Variants in detail

-official — production baseline

Standard npsim with the default EIC tracking-volume handler:

bash
npsim --part.userParticleHandler="Geant4TVUserParticleHandler" ... --runType run

Run from the existing official EIC container (eic_xl:nightly). This is the reference the other three variants are compared against.

-saveall — keep all MCParticles

The EIC custom particle handler is disabled so that every MCParticle is kept regardless of the tracking volume:

bash
npsim --part.userParticleHandler="" ... --runType run

This is the flavor used for acceptance / MC-truth performance studies and as the input to EICrecon (same as campaign 2026-05).

-background — background-mixed

The afterburned signal is mixed with the official ePIC background cocktails (synrad, ebrems, ecoulomb, etouschek, optionally proton beam-gas) using SignalBackgroundMerger into 2 µs timeframes (one signal per frame), then npsim is run on the merged hepmc3.tree.root with the status-offset flags:

bash
npsim --part.userParticleHandler="" --runType batch --hepmc3.useHepMC3 true \
      --physics.alternativeStableStatuses "1 2001 3001 4001 5001" \
      --physics.alternativeDecayStatuses  "2 2002 3002 4002 5002" ...

The status lists are derived automatically from the per-energy cocktail JSON. See Backgrounds in ePIC simulation for the full picture (status offsets, merger command, why the flags matter).

-stv — smart tracking volume

New npsim handler Geant4TVEicParticleHandler from the custom smart-tracking-volume branch:

bash
npsim --part.userParticleHandler=Geant4TVEicParticleHandler ... --runType run

This handler only exists in the eicdev/eic-full:latest image, so this is the only variant that does not use the stock cvmfs eic_xl build. It is the follow-up to the tracking-volume investigation from campaign 2026-04.

Software stack

Non-STV variants use the official EIC image from cvmfs:

/cvmfs/singularity.opensciencegrid.org/eicweb/eic_xl:nightly

The -stv variant uses a singularity image built from eicdev/eic-full:latest (custom smart-tracking-volume npsim branch):

# TODO: replace with the actual .sif path
/work/eic3/users/romanov/meson-structure-work/eic-full-stv.sif

Data layout (ifarm)

Base directory (shared by all four variants):

bash
/work/eic3/users/romanov/meson-structure-2026-06

Subdirectories:

  • afterburnershared event-generator output with crossing-angle + beam effects (input to all variants)
  • dd4hep-official — DD4hep, default tracking volume (edm4hep.root)
  • dd4hep-saveall — DD4hep, all MCParticles saved (edm4hep.root)
  • bg_mergedSignalBackgroundMerger output (*.bg.hepmc3.tree.root)
  • dd4hep-background — DD4hep on the background-merged input (edm4hep.root)
  • dd4hep-stv — DD4hep, smart tracking volume (edm4hep.root)
  • csv_dd4hep-* — CSV tables per variant
  • reco-saveall, reco-background — EICrecon reconstruction (edm4eic.root)

Pipeline configs

One config per variant, all in full-sim-pipeline/:

Commands log

bash
mkdir -p /work/eic3/users/romanov/meson-structure-2026-06

# cd where scripts are
cd /home/romanov/meson-structure-work/meson-structure

# sync python env
uv sync

# --- shared afterburner (run once, feeds all four variants) ---------------
uv run full-sim-pipeline/10_create_afterburner_jobs.py \
    --config full-sim-pipeline/config-campaign-26-06-official.yaml

# --- -official: default tracking volume -----------------------------------
uv run full-sim-pipeline/20_create_npsim_jobs.py \
    --config full-sim-pipeline/config-campaign-26-06-official.yaml

# --- -saveall: keep all MCParticles ---------------------------------------
uv run full-sim-pipeline/21_create_npsim_saveall_jobs.py \
    --config full-sim-pipeline/config-campaign-26-06-saveall.yaml

# --- -background: mix cocktails, then npsim with status-offset flags -------
uv run full-sim-pipeline/11_create_background_jobs.py \
    --config full-sim-pipeline/config-campaign-26-06-background.yaml
uv run full-sim-pipeline/22_create_npsim_background_jobs.py \
    --config full-sim-pipeline/config-campaign-26-06-background.yaml

# --- -stv: smart tracking volume (eicdev/eic-full:latest) -----------------
uv run full-sim-pipeline/23_create_npsim_stv_jobs.py \
    --config full-sim-pipeline/config-campaign-26-06-stv.yaml

# --- EICrecon on the saveall / background flavors (optional) ---------------
uv run full-sim-pipeline/30_create_eicrecon_jobs.py \
    --config full-sim-pipeline/config-campaign-26-06-saveall.yaml

Each XX_create_*_jobs.py writes per-file container + SLURM scripts under <output>/jobs/ plus a top-level submit_all_slurm_jobs.sh / run_all_local.sh.

Released under the MIT License.