restore STM poly shielding for run 2 - #1934
Conversation
|
☀️ The build tests passed at 0443c00.
N.B. These results were obtained from a build of this Pull Request at 0443c00 after being merged into the base branch at da434b8. For more information, please check the job page here. |
oksuzian
left a comment
There was a problem hiding this comment.
PR Review Summary — #1934
Reviewed at head 0443c0097b023e128febba4e1be391ad85734b2b. First pass.
Decision
- 🟢 approve
This is the correction @YongyiBWu asked for on #1932, and it is right for the
reason he gave. Both findings below are about neighbouring files, not this diff.
Scope understood
- One line:
geom_run2.txtgoes back fromSTM_v10(poly shielding removed) to
STM_v09(poly kept). - #1932 bumped all five geometry configs to
STM_v10; @YongyiBWu commented
afterwards that "the change does not apply togeom_run2.txt. All the rest
changes are good." This PR implements exactly that.
Findings
-
🟡 [S2]
geom_run1.txtis internally inconsistent by the same criterion —
full downstream shielding with the poly removed-
Evidence: @YongyiBWu's criterion on #1932 is that the poly may only be
dropped where the blocks it is embedded in are gone — "the external
shielding downstream blocks are removed in run1. The poly is embedded in
the blocks so it cannot float in the air." Applying that to every config
that references an STM version onmain:config STM downstream shielding geom_run1.txtv10 ExtShieldDownstream_v06(full)geom_run1_a.txtv10 reduced_ExtShieldDownstream_v06geom_run1_a_stickman.txtv10 reduced_ExtShieldDownstream_v06geom_reduced_DSTS_shielding.txtv10 reduced_ExtShieldDownstream_v06geom_run2.txt(this PR)v09 ExtShieldDownstream_v06(full)geom_2021_PhaseI_v03.txtv09 ExtShieldDownstream_v06(full)Every row lines up except
geom_run1.txt, which pairs the full downstream
shielding at line 52 withSTM_v10at line 63 — the same pairing this PR is
fixing ingeom_run2.txt. -
Impact: with the blocks present and the poly not built, that config has an
unfilled hole in the downstream shielding. It is a live file, not dead —
EventDisplay/fcl/EventDisplayRun1.fclandCRVReco/test/printChannelMap.fcl
include it — though neither is production simulation, which is why this is
S2 and not higher. It predates this PR and is not a regression from it. -
Suggested fix: decide which of the two lines is the stale one. If the file is
meant to describe the same shielding layout asgeom_run2.txt, line 63 goes
back toSTM_v09as here; if it is meant to be a run-1 layout, line 52 should
be thereduced_variant. Note @YongyiBWu did clear this file on #1932
("all the rest changes are good"), so there may be a reason I cannot see —
worth a one-line confirmation either way.
-
-
⚪ [S3] The reason for the split lives only in a PR comment
STM_v10.txtis#include STM_v09plus one bool, with no comment saying why
or when it applies, and the PR body says only "Fix #1932" — which is a merged
PR, not an issue, so it does not close anything and the reader has to find
@YongyiBWu's inline comment on it. A year from now the version numbers alone
imply v10 supersedes v09, when in fact they are two live variants selected by
the downstream shielding layout. One comment line inSTM_v10.txtnaming that
condition would fix it, and it is the single place both files' readers land.
Verified, no action needed
- 🟢 The result is a clean revert:
geom_run2.txtat this head is byte-identical
(md5bd1b6486a35b796254d38df7c607f273) to its state ata83d63f2, the last
commit before #1932'sd53f259ftouched it. No other line moved. - 🟢 The physics premise holds where I can check it.
geom_run1_a.txt:52includes
reduced_ExtShieldDownstream_v06.txtwhilegeom_run2.txt:52includes the full
ExtShieldDownstream_v06.txt, so run 2 does still build the blocks the poly sits
in — which is the condition @YongyiBWu named for keeping it. - 🟢 CI is green at this head: FNALbuild build 3295, all 20 rows ✅ including
g4surfaceCheck,rootOverlaps,check_cmake, clang-tidy (0/0) and the
whitespace check.
Validation check
- Build/tests run: CI green at
0443c009. Note the two overlap jobs do not
exercise the changed file:surfaceCheck.fcl:38points atgeom_SurfaceCheck.txt,
which includesgeom_common_current.txt→geom_common.txt→
geom_run1_a_stickman.txt.geom_run2.txtis in no CI chain, before or after
this change, so the green tells you the build is fine and nothing about run 2's
geometry. The revert-to-a-prior-state argument above is what covers that gap. - Config contract check: pass — see the table in finding 1.
- Cross-repo consistency: n/a, single geometry text file.
Residual risk
- I took the embedding relationship — that the poly fills a hole in the downstream
shielding blocks — from @YongyiBWu's description rather than reading
ExtShieldDownstream_v06.txtagainstSTM_v09.txtmyself. Finding 1 rests on it.
Author follow-ups
- Confirm or fix the
geom_run1.txtline 52 / line 63 pairing (finding 1). - Optional: one comment line in
STM_v10.txtrecording that it applies only to
configs usingreduced_ExtShieldDownstream, so the v09/v10 split survives
without the PR thread.
Fix #1932: keep the STM poly shielding for run2