|
ACTS
Experiment-independent tracking
|
Alignment studies need simulation to place the detector modules differently from what reconstruction assumes. The Examples framework supports this directly: an ActsExamples::AlgorithmContext carries two geometry contexts, and one sequence can run both geometries at once.
There is no need to write measurements out of a simulation job and read them back into a separate reconstruction job. Measurement IO stores local parameters and a geometry identifier, so it carries no geometry context anyway - the two-context model expresses the same thing without the round trip.
| Member | Meaning |
|---|---|
| recoGeoContext | The geometry reconstruction assumes, i.e. the current alignment hypothesis. |
| simGeoContext | The geometry the detector is actually built with, i.e. what simulation transports particles through. |
Both default to an empty context. A job that adds no context decorator behaves exactly as if there were a single context.
The rule for picking one is:
Performance writers legitimately use both. ActsExamples::RootTrackStatesWriter is the clearest case: its truth branch reads sim hits in simGeoContext while its measurement and track state branches sit in recoGeoContext, and the difference between them is the misalignment under study.
Writers that intersect a truth particle with a perigee or beamline surface are insensitive to the choice, because those surfaces carry no detector element and therefore no alignment payload.
ActsExamples::AlignmentDecorator decides which context(s) it writes through Config::target:
| Target | Effect |
|---|---|
| eSim | Only simulation sees the alignment, reconstruction stays nominal. |
| eReco | Only reconstruction sees it, simulation stays on the design geometry. |
| eBoth | Both, i.e. a detector that is misaligned but perfectly known. This is the default. |
Either single-sided target produces the sim/reco mismatch an alignment study needs. eReco is usually the more convenient one: simulation stays on the design geometry, so the truth sample is the same across all distortions and can be reused. Reach for eSim when the built geometry itself is what varies, for example a test beam telescope whose acceptance depends on where the modules really sit.
Chain two decorators to give simulation and reconstruction two different non-nominal alignments, which is what an alignment iteration looks like.