acts-project / acts-project/acts

[bug] Off axis endcap with dd4hep plugin.

Open
#942 10 comments 0 reactions 1 assignee Claimed by @asalzburger View on GitHub
Feature Stale
Dominant language
C++
Stars
131
Forks
277
Avg merge
3d 13h
Merged PRs (30d)
112

Description

Hello,

I get the following error when the "layer" volume associated with an "endcap" is offset from the z axis:

```
17:16:40 D2A_L:B0Trac VERBOSE Received layers for positive volume -> creating disc layers
17:16:40 D2A_L:B0Trac VERBOSE Disc layer has 12 senstive surfaces.
17:16:40 D2A_LAC VERBOSE Creating a disk Layer:
17:16:40 D2A_LAC VERBOSE - at Z position = 5405.09
17:16:40 D2A_LAC VERBOSE - from Z min/max = 5401.27 / 5408.41
17:16:40 D2A_LAC VERBOSE - with Z thickness = 9.99688
17:16:40 D2A_LAC VERBOSE - incl envelope = 1.17385 / 1.6762
17:16:40 D2A_LAC VERBOSE - with R min/max = 35 (-2.65614) / 150 (+137.582)
17:16:40 D2A_LAC VERBOSE - with phi min/max = -3.14159 / 3.13982
17:16:40 D2A_LAC VERBOSE - # of modules = 12
17:16:40 D2A_SAC VERBOSE Creating a SurfaceArray on a disc
17:16:40 D2A_SAC VERBOSE Create equidistant binning Axis for binned SurfaceArray
17:16:40 D2A_SAC VERBOSE BinningValue: 3
17:16:40 D2A_SAC VERBOSE (binX = 0, binY = 1, binZ = 2, binR = 3, binPhi = 4, binRPhi = 5, binH = 6, binEta = 7)
17:16:40 D2A_SAC VERBOSE Number of bins: 6
17:16:40 D2A_SAC VERBOSE (Min/Max) = (35/150)
****************************************************
* A runtime error has occured :
* vector::_M_range_check: __n (which is 7) >= this->size() (which is 6)
* the program will have to be terminated - sorry.
****************************************************
```

I think we have hit the limit of the imposed barrel-endcap construction paradigm in the dd4hep plugin. The detector in this case is a far forward detector without a corresponding negative endcap. (Perhaps this endcap pair requirement should be the first to go in upgrading the dd4hep plugin?) So, I added a negative endcap to get the plugin functioning, but only the positive endcap is offset from the z axis.

Here are the verbose outputs for two configurations:
- Tracker layer centered on z axis: https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/222479
- Tracker slightly offset from z axis: https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/222615

Contributor guide

Open the contributing guide

Research direction

Reproduce the centered and offset configurations using the two linked job outputs, then inspect the dd4hep plugin path that creates disc layers and the SurfaceArray. Determine why the offset positive endcap produces a range-check failure with six bins, and verify that the plugin handles this configuration without terminating while preserving the reported layer geometry.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.