Skip to content

Let the ZEM calorimeters be built without the far beam line - #15752

Open
sawenzel wants to merge 2 commits into
AliceO2Group:devfrom
sawenzel:zdc-beamline-standalone
Open

Let the ZEM calorimeters be built without the far beam line#15752
sawenzel wants to merge 2 commits into
AliceO2Group:devfrom
sawenzel:zdc-beamline-standalone

Conversation

@sawenzel

@sawenzel sawenzel commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

This adds two ZDCSimParam switches so a simulation can keep the ZEM geometry without paying for transport to the ZN/ZP calorimeters at +-113 m.

  • The ZDC geometry is the +-113 m beam line, its magnets, ZN, ZP and ZEM; the transport cost is the beam line, while ZEM sits at z = 7.6 m.
  • buildBeamLine=false skips the beam line, the magnets and ZN/ZP; buildZEM controls the ZEM calorimeters.
  • The ZN and ZP construction moves into createZNZP() and the ZEM construction into createZEM(), so createDetectors() shows what depends on the beam line.
  • The PMC and PMQ medium ids move ahead of that branch: ProcessHits compares every step against them for ZEM too, so leaving them in the ZN block gave ZEM hits with no energy loss and no light yield.
  • The ZN/ZP sensitive volume lookups are guarded so they no longer abort when the volumes are absent.
  • 20 pythia8pp events with TGeant3: 276.9 s with the full ZDC, 141.6 +- 1.1 s with --skipModules ZDC, 136.9 +- 1.9 s with buildBeamLine=false.
  • 50 events of 20 muons at 200 GeV into 4.6 < eta < 5.3 give 234 ZEM hits with 2167 photoelectrons at buildBeamLine=false, against 230 hits and 2097 with the full ZDC.

https://its.cern.ch/jira/browse/O2-7158

This adds two ZDCSimParam switches so a simulation can keep the ZEM geometry
without paying for transport to the ZN/ZP calorimeters at +-113 m.

- The ZDC geometry is the +-113 m beam line, its magnets, ZN, ZP and ZEM; the
  transport cost is the beam line, while ZEM sits at z = 7.6 m.
- buildBeamLine=false skips the beam line, the magnets and ZN/ZP; buildZEM
  controls the ZEM calorimeters.
- The ZN and ZP construction moves into createZNZP() and the ZEM construction
  into createZEM(), so createDetectors() shows what depends on the beam line.
- The PMC and PMQ medium ids move ahead of that branch: ProcessHits compares
  every step against them for ZEM too, so leaving them in the ZN block gave ZEM
  hits with no energy loss and no light yield.
- The ZN/ZP sensitive volume lookups are guarded so they no longer abort when
  the volumes are absent.
- 20 pythia8pp events with TGeant3: 276.9 s with the full ZDC, 141.6 +- 1.1 s
  with --skipModules ZDC, 136.9 +- 1.9 s with buildBeamLine=false.
- 50 events of 20 muons at 200 GeV into 4.6 < eta < 5.3 give 234 ZEM hits with
  2167 photoelectrons at buildBeamLine=false, against 230 hits and 2097 with the
  full ZDC.

https://its.cern.ch/jira/browse/O2-7158

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants