![]() |
ATLAS Offline Software
|
Athena tool to reconstruct L1Muon::L1MDT segments. More...
#include <CompactSegmentFinderTool.h>
Classes | |
| struct | HitInfo |
| Compact representation of one MDT hit used by the clustering and fit steps. More... | |
| struct | Cluster |
| Temporary cluster of hit intercept hypotheses. More... | |
| struct | FitResult |
| Output of the final straight-line fit. More... | |
Public Member Functions | |
| virtual | ~CompactSegmentFinderTool () override=default |
| virtual StatusCode | initialize () override |
| Standard Athena initialize method. | |
| virtual StatusCode | findSegments (const std::vector< const xAOD::MdtDriftCircle * > &driftCircles, const ActsTrk::GeometryContext &gctx, float m, float b, std::vector< Segment > &segments) const override |
| Main segment finding entry point. | |
Private Member Functions | |
| virtual StatusCode | buildHitInfo (const std::vector< const xAOD::MdtDriftCircle * > &driftCircles, const ActsTrk::GeometryContext &gctx, float m, std::vector< HitInfo > &hitInfos) const |
| Build the compact per-hit representation used by the algorithm. | |
| void | clusterHits (const std::vector< HitInfo > &hitInfos, const std::vector< std::size_t > &orderedIndices, std::vector< Cluster > &clusters) const |
| Cluster ordered hits in intercept space. | |
| std::optional< Cluster > | chooseBestCluster (const std::vector< Cluster > &clusters, float b) const |
| Select the best cluster among the available candidates. | |
| FitResult | fitLine (const std::vector< float > &zVals, const std::vector< float > &rVals, float sigma=1.f/8.f) const |
| Fit a straight line in the (z, R) plane. | |
Private Attributes | |
| Gaudi::Property< float > | m_clusterTolerance |
| Maximum allowed distance in intercept space when attaching a hit to an existing cluster. | |
| Gaudi::Property< int > | m_maxClusters |
| Maximum number of temporary clusters allowed during clustering. | |
| Gaudi::Property< bool > | m_debugClusters |
| Debug flag for printing cluster content and selection. | |
| ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc |
| MDT identifier helper service. | |
Athena tool to reconstruct L1Muon::L1MDT segments.
This tool implements a compact MDT segment finding algorithm in the global (z, R) plane. Starting from a seed line provided externally, it:
Definition at line 34 of file CompactSegmentFinderTool.h.
|
overridevirtualdefault |
|
privatevirtual |
Build the compact per-hit representation used by the algorithm.
For each drift circle, this method computes:
Definition at line 196 of file CompactSegmentFinderTool.cxx.
|
private |
Select the best cluster among the available candidates.
The current policy is:
Definition at line 310 of file CompactSegmentFinderTool.cxx.
|
private |
Cluster ordered hits in intercept space.
Hits are attached to existing clusters using the closest compatible branch (bPlus or bMinus). If no compatible cluster exists, two new clusters are created from the two possible intercept hypotheses.
Definition at line 257 of file CompactSegmentFinderTool.cxx.
|
overridevirtual |
Main segment finding entry point.
| driftCircles | Input MDT drift circles already selected upstream |
| gctx | Geometry context used to transform local hit positions to global coordinates |
| m | Slope of the seed line in the (z, R) plane |
| b | Intercept of the seed line in the (z, R) plane |
| segments | Output container for reconstructed segments |
Definition at line 53 of file CompactSegmentFinderTool.cxx.
|
private |
Fit a straight line in the (z, R) plane.
The fitted model is: R = m * z + b
| zVals | Input z coordinates |
| rVals | Input R coordinates |
| sigma | Common uncertainty used in the chi2 computation |
Definition at line 341 of file CompactSegmentFinderTool.cxx.
|
overridevirtual |
Standard Athena initialize method.
Definition at line 46 of file CompactSegmentFinderTool.cxx.
|
private |
Maximum allowed distance in intercept space when attaching a hit to an existing cluster.
Definition at line 59 of file CompactSegmentFinderTool.h.
|
private |
Debug flag for printing cluster content and selection.
Definition at line 67 of file CompactSegmentFinderTool.h.
|
private |
MDT identifier helper service.
Definition at line 149 of file CompactSegmentFinderTool.h.
|
private |
Maximum number of temporary clusters allowed during clustering.
Definition at line 63 of file CompactSegmentFinderTool.h.