Skip to content

Commit 592e23b

Browse files
committed
Allow use of CA on limited amount of layers
1 parent b593063 commit 592e23b

2 files changed

Lines changed: 36 additions & 0 deletions

File tree

‎Detectors/Upgrades/ALICE3/GlobalReconstruction/workflow/README.md‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,30 @@ The tracking configuration is provided via a JSON file that specifies:
9393
```
9494
Note that the `trackingparams` field can contain multiple sets of parameters for different iterations of the tracking algorithm. The example above shows a single iteration with 11 layers and it is **not** optimized.
9595

96+
### Restricting CA seeding to selected layers
97+
98+
Each entry in `trackingparams` accepts the following optional parameters for both hit and cluster input:
99+
100+
| Parameter | Default | Meaning |
101+
| --- | --- | --- |
102+
| `SeedingLayers` | `0` | Bit mask of layers used to build CA tracklets and cells. Zero uses all active layers. |
103+
| `InactiveLayerMask` | `0` | Bit mask of inactive layers, excluded from CA seeding and from the effective track-length calculation. |
104+
| `MaxHoles` | `0` | Maximum number of missing seeding-layer hits allowed within a seed. |
105+
| `HoleLayerMask` | `0` | Bit mask of seeding layers on which holes are allowed. |
106+
| `StartLayerMask` | `127` | Bit mask of layers from which CA seed extraction may start; it does not select the layers used to build the CA. |
107+
108+
Masks are integer values with bit `i` corresponding to layer `i` (numbering starts at zero). `SeedingLayers` is intersected with the active layers within `NLayers`; at least three seeding layers are required. Layers excluded from seeding do not count as holes. Active layers outside `SeedingLayers` can still receive clusters through the track follower.
109+
110+
For example, add these fields to an 11-layer iteration to seed on layers 3 through 10 and then extend tracks inward to layers 0 through 2:
111+
112+
```json
113+
"SeedingLayers": 2040,
114+
"StartLayerMask": 2047,
115+
"TrackFollower": "inward"
116+
```
117+
118+
Keep `NLayers` and the per-layer geometry and error arrays describing the full detector. `MinTrackLength` still applies to the final track; the minimum number of seeding clusters is capped at the number of selected seeding layers. Omitting the new parameters preserves the existing defaults.
119+
96120
## Complete Workflow Example
97121

98122
### 1. Run Simulation

‎Detectors/Upgrades/ALICE3/GlobalReconstruction/workflow/src/TrackerSpec.cxx‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,18 @@ std::vector<o2::its::TrackingParameters> TrackerDPL::createTrackingParamsFromCon
130130
if (paramConfig.contains("MinTrackLength")) {
131131
params.MinTrackLength = paramConfig["MinTrackLength"].get<int>();
132132
}
133+
if (paramConfig.contains("MaxHoles")) {
134+
params.MaxHoles = paramConfig["MaxHoles"].get<int>();
135+
}
136+
if (paramConfig.contains("HoleLayerMask")) {
137+
params.HoleLayerMask = paramConfig["HoleLayerMask"].get<uint16_t>();
138+
}
139+
if (paramConfig.contains("InactiveLayerMask")) {
140+
params.InactiveLayerMask = paramConfig["InactiveLayerMask"].get<uint16_t>();
141+
}
142+
if (paramConfig.contains("SeedingLayers")) {
143+
params.SeedingLayers = paramConfig["SeedingLayers"].get<uint16_t>();
144+
}
133145
if (paramConfig.contains("ReseedIfShorter")) {
134146
params.ReseedIfShorter = paramConfig["ReseedIfShorter"].get<int>();
135147
}

0 commit comments

Comments
 (0)