Skip to content

VST Ecal support box + global-z of the HCAL - #2084

Merged
tvami merged 4 commits into
trunkfrom
iss1880-ecal-support-box
Jun 18, 2026
Merged

VST Ecal support box + global-z of the HCAL#2084
tvami merged 4 commits into
trunkfrom
iss1880-ecal-support-box

Conversation

@tvami

@tvami tvami commented Jun 18, 2026

Copy link
Copy Markdown
Member

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

What are the issues that this addresses?

Resolves #1880

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.

It's not 100% perfect ECAL, we had the motherboards in a special shape that I just approximate as a square.
Same for the support planes. But this is much closer to reality than what we had earlier.
And with this the HCAL is positions right.

I had to change quite some much to make the g4-vis work on POD from my Mac (hopefully works on other machines too, tho I understand from CJ that linux based ssh didnt have any issues)

I also changed the Si color to blue.

Screenshot 2026-06-17 at 18 38 22 Screenshot 2026-06-17 at 18 38 27 Screenshot 2026-06-17 at 18 38 30 Screenshot 2026-06-17 at 19 49 24 Screenshot 2026-06-17 at 19 50 25

@tvami
tvami force-pushed the iss1880-ecal-support-box branch from fe476c9 to e6f1897 Compare June 18, 2026 03:00
@tvami
tvami marked this pull request as ready for review June 18, 2026 03:01
@tvami tvami changed the title Iss1880 ecal support box VST Ecal support box + global-z of the HCAL Jun 18, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Validation Results

Some validation samples failed! ❌

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
signal ✅ PASS
signal_target_al ✅ PASS
target_genie ✅ PASS
target_pn_lyso ✅ PASS
target_ti_en ✅ PASS
wab_lhe ✅ PASS
reduced_ldmx ❌ FAIL (117 histograms failed KS test) (artifact)

reduced_ldmx:

  • 117 plots failed the KS test against gold.
  • Text Differences Between Logs (276843 lines differ)
  • Log character count differs by 0% (gold=33428186, new=33305569); within tolerance
  • Timing anomaly for reduced_ldmx: new=138s vs gold=211s (-34%, tolerance 10%)
  • Timing for reduced_ldmx: gold=211s, new=138s

cascade_history:

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

deep_ecal_gun:

  • Text Differences Between Logs (24 lines differ)
  • Timing for deep_ecal_gun: gold=4091s, new=4147s
  • Timing within 1% of gold (tolerance 10%)

eat_signal:

  • Timing for eat_signal: gold=1602s, new=1552s
  • Timing within 3% of gold (tolerance 10%)

ecal_pn:

  • Text Differences Between Logs (44 lines differ)
  • Timing for ecal_pn: gold=6232s, new=6508s
  • Timing within 4% of gold (tolerance 10%)

hcal:

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

inclusive:

  • Text Differences Between Logs (52 lines differ)
  • Timing regression for inclusive: new=7575s vs gold=6805s (+11%, tolerance 10%)
  • Timing for inclusive: gold=6805s, new=7575s

it_pileup:

  • Text Differences Between Logs (48 lines differ)
  • Timing for it_pileup: gold=577s, new=558s
  • Timing within 3% of gold (tolerance 10%)

kaon_enhanced:

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

signal:

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

signal_target_al:

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

target_genie:

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

target_pn_lyso:

  • Text Differences Between Logs (36 lines differ)
  • Timing for target_pn_lyso: gold=6455s, new=6102s
  • Timing within 5% of gold (tolerance 10%)

target_ti_en:

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

wab_lhe:

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

@github-actions

Copy link
Copy Markdown
Contributor

Validation Results

Some validation samples failed! ❌

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
signal ✅ PASS
signal_target_al ✅ PASS
target_pn_lyso ✅ PASS
target_ti_en ✅ PASS
wab_lhe ✅ PASS
reduced_ldmx ❌ FAIL (117 histograms failed KS test) (artifact)
target_genie ❌ FAIL (11 histograms failed KS test) (artifact)

reduced_ldmx:

  • 117 plots failed the KS test against gold.
  • Text Differences Between Logs (276849 lines differ)
  • Log character count differs by 0% (gold=33428186, new=33305569); within tolerance
  • Timing anomaly for reduced_ldmx: new=141s vs gold=211s (-33%, tolerance 10%)
  • Timing for reduced_ldmx: gold=211s, new=141s

target_genie:

  • 11 plots failed the KS test against gold.
  • Text Differences Between Logs (6077 lines differ)
  • Log character count differs by 0% (gold=7408794, new=7366567); within tolerance
  • Timing for target_genie: gold=6488s, new=6244s
  • Timing within 3% of gold (tolerance 10%)

cascade_history:

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

deep_ecal_gun:

  • Text Differences Between Logs (24 lines differ)
  • Timing for deep_ecal_gun: gold=4091s, new=4113s
  • Timing within 0% of gold (tolerance 10%)

eat_signal:

  • Timing for eat_signal: gold=1602s, new=1562s
  • Timing within 2% of gold (tolerance 10%)

ecal_pn:

  • Text Differences Between Logs (44 lines differ)
  • Timing for ecal_pn: gold=6232s, new=6498s
  • Timing within 4% of gold (tolerance 10%)

hcal:

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

inclusive:

  • Text Differences Between Logs (36 lines differ)
  • Timing for inclusive: gold=6805s, new=6698s
  • Timing within 1% of gold (tolerance 10%)

it_pileup:

  • Text Differences Between Logs (38 lines differ)
  • Timing for it_pileup: gold=577s, new=593s
  • Timing within 2% of gold (tolerance 10%)

kaon_enhanced:

  • Text Differences Between Logs (38 lines differ)
  • Timing for kaon_enhanced: gold=3122s, new=3027s
  • Timing within 3% of gold (tolerance 10%)

signal:

  • Text Differences Between Logs (26 lines differ)
  • Timing for signal: gold=1184s, new=1110s
  • Timing within 6% of gold (tolerance 10%)

signal_target_al:

  • Text Differences Between Logs (38 lines differ)
  • Timing anomaly for signal_target_al: new=890s vs gold=1047s (-14%, tolerance 10%)
  • Timing for signal_target_al: gold=1047s, new=890s

target_pn_lyso:

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

target_ti_en:

  • Text Differences Between Logs (40 lines differ)
  • Timing for target_ti_en: gold=3226s, new=3137s
  • Timing within 2% of gold (tolerance 10%)

wab_lhe:

  • Text Differences Between Logs (26 lines differ)
  • Timing for wab_lhe: gold=6770s, new=6929s
  • Timing within 2% of gold (tolerance 10%)

Comment thread Detectors/data/ldmx-reduced-v3/ecal_support_box_solids.gdml
Comment thread Detectors/data/ldmx-reduced-v3/ecal.gdml
@cjbarton151

Copy link
Copy Markdown
Contributor

Also you were right, that really is quite a workaround required for Mac OS! 😂

Comment thread justfile
@tvami
tvami merged commit bd8057b into trunk Jun 18, 2026
21 of 23 checks passed
@tvami
tvami deleted the iss1880-ecal-support-box branch June 18, 2026 14:19
@tvami

tvami commented Jun 18, 2026

Copy link
Copy Markdown
Member Author

For documentation: here is the comparison of what failed the KS:
pr2084_reduced_ldmx_recon_validation_plots.pdf

The significant change is in the HCAL plots, Section 1.7, and I guess the Al support structure added does shield the HCAL more, max PE is almost halved. I dont think this can be cause by the HCAL being closer, right? Although it was a significant distance and the electron could interact with the Air in between... (but I think it's the support box)

@cjbarton151

Copy link
Copy Markdown
Contributor

It might be useful to check the truth information for the x distribution of energy depositions in the quad bars, as well as activity in the first bar vs the bars behind it. If this is a quenched shower then I would expect the hits in the current version to be spread out much more along the quads, and possibly to be reduced by even just two or three layers of quad bar material.

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.

ESA full slice test geometry

3 participants