Skip to content

Issue 2090: v16 detector (new trackers) - #2116

Draft
duncanswilmot wants to merge 6 commits into
trunkfrom
iss2090-v16-det-trackers
Draft

Issue 2090: v16 detector (new trackers)#2116
duncanswilmot wants to merge 6 commits into
trunkfrom
iss2090-v16-det-trackers

Conversation

@duncanswilmot

Copy link
Copy Markdown
Contributor

I am updating ldmx-sw, here are the details.

What are the issues that this addresses?

This resolves #2090 (i.e., change STT and SRT to match 2025 design report specifications).

Note: I added various comments in the GDML's which should be removed before merging.

Check List

  • I successfully compiled ldmx-sw with my developments.
  • I read, understood and follow the coding rules.
  • I ran my developments and the following shows that they are successful.
stt_layout tagger_sensor_z_locs srt_layout recoil_sensor_z_locs tracker_sensor_design si_sensor_active_dim srt_axial_only_dim

@duncanswilmot
duncanswilmot marked this pull request as draft August 25, 2026 16:55
@github-actions

Copy link
Copy Markdown
Contributor

Validation Results

Some validation samples failed! ❌

Sample Status
cascade_history ✅ PASS
deep_ecal_gun ✅ PASS
hcal ✅ PASS
eat_signal ❌ FAIL (9 histograms failed KS test) (artifact)
ecal_pn ❌ FAIL (135 histograms failed KS test) (artifact)
inclusive ❌ FAIL (200 histograms failed KS test) (artifact)
it_pileup ❌ FAIL (271 histograms failed KS test) (artifact)
kaon_enhanced ❌ FAIL (115 histograms failed KS test) (artifact)
reduced_ldmx ❌ FAIL
signal ❌ FAIL (188 histograms failed KS test) (artifact)
signal_target_al ❌ FAIL (452 histograms failed KS test) (artifact)
target_genie ❌ FAIL (110 histograms failed KS test) (artifact)
target_pn_lyso ❌ FAIL (323 histograms failed KS test) (artifact)
target_ti_en ❌ FAIL (138 histograms failed KS test) (artifact)
wab_lhe ❌ FAIL (101 histograms failed KS test) (artifact)

eat_signal:

  • 9 plots failed the KS test against gold.
  • Timing for eat_signal: gold=1618s, new=1552s
  • Timing within 4% of gold (tolerance 10%)

ecal_pn:

  • 135 plots failed the KS test against gold.
  • Text Differences Between Logs (57408 lines differ)
  • Log character count differs by 8%: gold=24115214, new=26263133
  • Timing anomaly for ecal_pn: new=5193s vs gold=6718s (-22%, tolerance 10%)
  • Timing for ecal_pn: gold=6718s, new=5193s

inclusive:

  • 200 plots failed the KS test against gold.
  • Text Differences Between Logs (61614 lines differ)
  • Log character count differs by 11%: gold=21025892, new=23452407
  • Timing regression for inclusive: new=4732s vs gold=3573s (+32%, tolerance 10%)
  • Timing for inclusive: gold=3573s, new=4732s

it_pileup:

  • 271 plots failed the KS test against gold.
  • Text Differences Between Logs (24969 lines differ)
  • Log character count differs by 9%: gold=9752960, new=8841824
  • Timing for it_pileup: gold=599s, new=570s
  • Timing within 4% of gold (tolerance 10%)

kaon_enhanced:

  • 115 plots failed the KS test against gold.
  • Text Differences Between Logs (27944 lines differ)
  • Log character count differs by 9%: gold=10113224, new=11121319
  • Timing for kaon_enhanced: gold=3095s, new=3040s
  • Timing within 1% of gold (tolerance 10%)

signal:

  • 188 plots failed the KS test against gold.
  • Text Differences Between Logs (56555 lines differ)
  • Log character count differs by 12%: gold=16413683, new=18410869
  • Timing for signal: gold=1189s, new=1193s
  • Timing within 0% of gold (tolerance 10%)

signal_target_al:

  • 452 plots failed the KS test against gold.
  • Text Differences Between Logs (46211 lines differ)
  • Log character count differs by 2%: gold=16496870, new=16986051
  • Timing for signal_target_al: gold=936s, new=916s
  • Timing within 2% of gold (tolerance 10%)

target_genie:

  • 110 plots failed the KS test against gold.
  • Text Differences Between Logs (1895 lines differ)
  • Log character count differs by 7%: gold=1406660, new=1513713
  • Timing regression for target_genie: new=9988s vs gold=5707s (+75%, tolerance 10%)
  • Timing for target_genie: gold=5707s, new=9988s

target_pn_lyso:

  • 323 plots failed the KS test against gold.
  • Text Differences Between Logs (40683 lines differ)
  • Log character count differs by 2%: gold=20168222, new=20743639
  • Timing for target_pn_lyso: gold=6341s, new=6166s
  • Timing within 2% of gold (tolerance 10%)

target_ti_en:

  • 138 plots failed the KS test against gold.
  • Text Differences Between Logs (877 lines differ)
  • Log character count differs by 1%: gold=393174, new=398437
  • Timing regression for target_ti_en: new=3100s vs gold=2738s (+13%, tolerance 10%)
  • Timing for target_ti_en: gold=2738s, new=3100s

wab_lhe:

  • 101 plots failed the KS test against gold.
  • Text Differences Between Logs (19130 lines differ)
  • Log character count differs by 4%: gold=13180440, new=12553398
  • Timing for wab_lhe: gold=6754s, new=6822s
  • Timing within 1% of gold (tolerance 10%)

cascade_history:

  • Text Differences Between Logs (2 lines differ)
  • Timing anomaly for cascade_history: new=4719s vs gold=6217s (-24%, tolerance 10%)
  • Timing for cascade_history: gold=6217s, new=4719s

deep_ecal_gun:

  • Text Differences Between Logs (26 lines differ)
  • Timing anomaly for deep_ecal_gun: new=2313s vs gold=3763s (-38%, tolerance 10%)
  • Timing for deep_ecal_gun: gold=3763s, new=2313s

hcal:

  • Text Differences Between Logs (2 lines differ)
  • Timing regression for hcal: new=755s vs gold=665s (+13%, tolerance 10%)
  • Timing for hcal: gold=665s, new=755s

@tvami

tvami commented Aug 30, 2026

Copy link
Copy Markdown
Member

@duncanswilmot please edit one of the CIs to use the new geometry so we can see how big the effect is

@tvami

tvami commented Aug 30, 2026

Copy link
Copy Markdown
Member

/run-validation

  • this is the control and should be clean since the CI uses v15

@github-actions

Copy link
Copy Markdown
Contributor

The validation workflow is running here: https://github.com/LDMX-Software/ldmx-sw/actions/runs/33287378268.

@tvami

tvami commented Aug 30, 2026

Copy link
Copy Markdown
Member

Oh another thing, look at directory for how we are reusing other gdml files instead of copying them again, and then attaching a diff of the GMDLs wrt to v15 would be nice, it's hard to review it like this. Thanks!

@github-actions

Copy link
Copy Markdown
Contributor

Validation Results

All validation samples passed! ✅

Sample Status
cascade_history ✅ PASS
deep_ecal_gun ✅ PASS
eat_signal ✅ PASS
ecal_pn ✅ PASS
hcal ✅ PASS
inclusive ✅ PASS
it_pileup ✅ PASS
kaon_enhanced ✅ PASS
reduced_ldmx ✅ PASS
signal ✅ PASS
signal_target_al ✅ PASS
target_genie ✅ PASS
target_pn_lyso ✅ PASS
target_ti_en ✅ PASS
wab_lhe ✅ PASS

cascade_history:

  • Text Differences Between Logs (2 lines differ)
  • Timing for cascade_history: gold=6224s, new=6148s
  • Timing within 1% of gold (tolerance 10%)

deep_ecal_gun:

  • Text Differences Between Logs (20 lines differ)
  • Timing anomaly for deep_ecal_gun: new=3140s vs gold=4076s (-22%, tolerance 10%)
  • Timing for deep_ecal_gun: gold=4076s, new=3140s

eat_signal:

  • Timing regression for eat_signal: new=1579s vs gold=942s (+67%, tolerance 10%)
  • Timing for eat_signal: gold=942s, new=1579s

ecal_pn:

  • Text Differences Between Logs (30 lines differ)
  • Timing for ecal_pn: gold=6747s, new=6663s
  • Timing within 1% of gold (tolerance 10%)

hcal:

  • Text Differences Between Logs (2 lines differ)
  • Timing for hcal: gold=810s, new=828s
  • Timing within 2% of gold (tolerance 10%)

inclusive:

  • Text Differences Between Logs (34 lines differ)
  • Timing for inclusive: gold=6595s, new=6555s
  • Timing within 0% of gold (tolerance 10%)

it_pileup:

  • Text Differences Between Logs (26 lines differ)
  • Timing for it_pileup: gold=562s, new=565s
  • Timing within 0% of gold (tolerance 10%)

kaon_enhanced:

  • Text Differences Between Logs (54 lines differ)
  • Timing regression for kaon_enhanced: new=3048s vs gold=2405s (+26%, tolerance 10%)
  • Timing for kaon_enhanced: gold=2405s, new=3048s

reduced_ldmx:

  • Text Differences Between Logs (22 lines differ)
  • Timing regression for reduced_ldmx: new=172s vs gold=146s (+17%, tolerance 10%)
  • Timing for reduced_ldmx: gold=146s, new=172s

signal:

  • Text Differences Between Logs (34 lines differ)
  • Timing for signal: gold=1208s, new=1087s
  • Timing within 10% of gold (tolerance 10%)

signal_target_al:

  • Text Differences Between Logs (36 lines differ)
  • Timing for signal_target_al: gold=923s, new=950s
  • Timing within 2% of gold (tolerance 10%)

target_genie:

  • Text Differences Between Logs (232 lines differ)
  • Timing for target_genie: gold=9818s, new=10059s
  • Timing within 2% of gold (tolerance 10%)

target_pn_lyso:

  • Text Differences Between Logs (46 lines differ)
  • Timing for target_pn_lyso: gold=6137s, new=6330s
  • Timing within 3% of gold (tolerance 10%)

target_ti_en:

  • Text Differences Between Logs (36 lines differ)
  • Timing regression for target_ti_en: new=3139s vs gold=2431s (+29%, tolerance 10%)
  • Timing for target_ti_en: gold=2431s, new=3139s

wab_lhe:

  • Text Differences Between Logs (22 lines differ)
  • Timing for wab_lhe: gold=6930s, new=6835s
  • Timing within 1% of gold (tolerance 10%)

@tvami

tvami commented Sep 2, 2026

Copy link
Copy Markdown
Member

Oh another thing, look at directory for how we are reusing other gdml files instead of copying them again, and then attaching a diff of the GMDLs wrt to v15 would be nice, it's hard to review it like this. Thanks!

@duncanswilmot now that the control test is done, please go ahead with this change

@duncanswilmot

Copy link
Copy Markdown
Contributor Author

@tvami I added symlinks for files copied directly from v15 with no changes and diff files for the files that were changed from v15. Let me know if you had something else in mind.

Will figure out how to go edit the validation to use v16 geo.

@tvami

tvami commented Sep 2, 2026

Copy link
Copy Markdown
Member

Thanks, that's good, but what I had in mind was to change this line
https://github.com/LDMX-Software/ldmx-sw/blob/trunk/.github/validation_samples/ecal_pn/config.py#L13
to your new ldmx-det-v16-8gev

@duncanswilmot

Copy link
Copy Markdown
Contributor Author

/run-validation

  • Using v16 geom for ecal_pn

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

The validation workflow is running here: https://github.com/LDMX-Software/ldmx-sw/actions/runs/33665157222.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Validation Results

Some validation samples failed! ❌

Sample Status
cascade_history ✅ PASS
deep_ecal_gun ✅ PASS
eat_signal ✅ PASS
hcal ✅ PASS
inclusive ✅ PASS
it_pileup ✅ PASS
kaon_enhanced ✅ PASS
reduced_ldmx ✅ PASS
signal ✅ PASS
signal_target_al ✅ PASS
target_genie ✅ PASS
target_pn_lyso ✅ PASS
target_ti_en ✅ PASS
wab_lhe ✅ PASS
ecal_pn ❌ FAIL (750 histograms failed KS test) (artifact)

ecal_pn:

  • 750 plots failed the KS test against gold.
  • Text Differences Between Logs (250199 lines differ)
  • Log character count differs by 0% (gold=28889426, new=28946727); within tolerance
  • Timing for ecal_pn: gold=6747s, new=6424s
  • Timing within 4% of gold (tolerance 10%)

cascade_history:

  • Text Differences Between Logs (2 lines differ)
  • Timing for cascade_history: gold=6224s, new=6194s
  • Timing within 0% of gold (tolerance 10%)

deep_ecal_gun:

  • Text Differences Between Logs (22 lines differ)
  • Timing anomaly for deep_ecal_gun: new=3175s vs gold=4076s (-22%, tolerance 10%)
  • Timing for deep_ecal_gun: gold=4076s, new=3175s

eat_signal:

  • Timing regression for eat_signal: new=1319s vs gold=942s (+40%, tolerance 10%)
  • Timing for eat_signal: gold=942s, new=1319s

hcal:

  • Text Differences Between Logs (2 lines differ)
  • Timing for hcal: gold=810s, new=820s
  • Timing within 1% of gold (tolerance 10%)

inclusive:

  • Text Differences Between Logs (34 lines differ)
  • Log character count differs by 0% (gold=26044869, new=26044867); within tolerance
  • Timing for inclusive: gold=6595s, new=6790s
  • Timing within 2% of gold (tolerance 10%)

it_pileup:

  • Text Differences Between Logs (34 lines differ)
  • Timing for it_pileup: gold=562s, new=559s
  • Timing within 0% of gold (tolerance 10%)

kaon_enhanced:

  • Text Differences Between Logs (54 lines differ)
  • Log character count differs by 0% (gold=12432303, new=12432302); within tolerance
  • Timing regression for kaon_enhanced: new=2776s vs gold=2405s (+15%, tolerance 10%)
  • Timing for kaon_enhanced: gold=2405s, new=2776s

reduced_ldmx:

  • Text Differences Between Logs (8 lines differ)
  • Timing for reduced_ldmx: gold=146s, new=139s
  • Timing within 4% of gold (tolerance 10%)

signal:

  • Text Differences Between Logs (34 lines differ)
  • Timing for signal: gold=1208s, new=1225s
  • Timing within 1% of gold (tolerance 10%)

signal_target_al:

  • Text Differences Between Logs (32 lines differ)
  • Timing for signal_target_al: gold=923s, new=945s
  • Timing within 2% of gold (tolerance 10%)

target_genie:

  • Text Differences Between Logs (232 lines differ)
  • Timing for target_genie: gold=9818s, new=9957s
  • Timing within 1% of gold (tolerance 10%)

target_pn_lyso:

  • Text Differences Between Logs (40 lines differ)
  • Timing for target_pn_lyso: gold=6137s, new=6441s
  • Timing within 4% of gold (tolerance 10%)

target_ti_en:

  • Text Differences Between Logs (38 lines differ)
  • Timing for target_ti_en: gold=2431s, new=2577s
  • Timing within 6% of gold (tolerance 10%)

wab_lhe:

  • Text Differences Between Logs (28 lines differ)
  • Timing for wab_lhe: gold=6930s, new=6974s
  • Timing within 0% of gold (tolerance 10%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Introduce v16 geometry where the tracker heights are fixed

2 participants