ATLAS Offline Software
Loading...
Searching...
No Matches
MuonFastReconstructionAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONR4_MUONFASTRECOALGS_MUONFASTRECONSTRUCTIONALG__H
5#define MUONR4_MUONFASTRECOALGS_MUONFASTRECONSTRUCTIONALG__H
6
9
13
14namespace MuonR4{
15
28
30 public:
31 using AthReentrantAlgorithm::AthReentrantAlgorithm;
32 virtual ~FastReconstructionAlg() = default;
33
34 virtual StatusCode initialize() override;
35 virtual StatusCode execute(const EventContext& ctx) const override;
36
37 private:
42
44 SG::ReadHandleKeyArray<SpacePointContainer> m_inSpacePoints{this, "InSpacePoints", {"MuonSpacePoints"}, "List of space point containers to read"};
46 SG::WriteHandleKeyArray<SpacePointContainer> m_outSpacePoints{this, "OutSpacePoints", {}, "List of space point containers to write"};
48 StringProperty m_outSpacePointSuffix{this, "OutSpacePointSuffix", "FastReco", "Suffix to add to input space point container names to create the output ones, when not provided"};
50 SG::WriteHandleKey<GlobalPatternContainer> m_outPatterns{this, "OutPatternContainer", "R4MuonGlobalPatterns"};
52 SG::ReadHandleKey<ActsTrk::GeometryContext> m_geoCtxKey{this, "AlignmentKey", "ActsAlignment", "cond handle key"};
54 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
56 ToolHandle<MuonValR4::IFastRecoVisualizationTool> m_visionTool{this, "VisualizationTool", ""};
57
60 BooleanProperty m_useMdtHits {this, "UseMdtHits", true, "Activate the utilization of MDT hits to build patterns"};
62 BooleanProperty m_seedFromMdt {this, "SeedFromMdt", false, "Activate the seeding from MDT hits"};
64 BooleanProperty m_seedFromInner {this, "SeedFromInner", false, "Activate the seeding from Inner station"};
66 DoubleProperty m_thetaSearchWindow {this, "ThetaWindowSearch", 0.045, "Size of the search window in theta to link hits to a pattern"};
69 DoubleProperty m_baseRWindow {this, "BaseRWindow", 140, "Çonstant term [mm] of the acceptance window for the residual between a test hit and the pattern line"};
71 DoubleProperty m_phiTolerance {this, "PhiTolerance", 0.1, "Maximum allowed phi difference between two hits to be considered compatible"};
73 UnsignedIntegerProperty m_minBendingTriggerHits {this, "MinBendingTriggerHits", 2, "Minimum number of trigger hits in the bending direction required to accept a pattern"};
75 UnsignedIntegerProperty m_minBendingPrecisionHits {this, "MinBendingPrecisionHits", 8, "Minimum number of precision hits in the bending direction required to accept a pattern"};
77 UnsignedIntegerProperty m_minPhiHits {this, "MinPhiHits", 1, "Minimum number of phi measurements required to accept a pattern"};
79 DoubleProperty m_meanNormRes2Cut {this, "meanNormRes2Cut", 0.2, "Quality cut on pattern'mean squared normalized residual"};
81 UnsignedIntegerProperty m_maxSeedAttempts {this, "MaxSeedAttempts", 6, " Maximum number of attempts to build a pattern from hits already used in existing patterns"};
83 UnsignedIntegerProperty m_maxMissedLayerHits {this, "MaxMissedLayerHits", 3, "Maximum number of missed candidate hits in different measurement layers during pattern building allowed for a pattern branch before it is discarded"};
85 DoubleProperty m_minLayerSeparation {this, "MinLayerSeparation",40, "Minimum separation (in mm) between the measurement layers of two hits for being used to compute a reliable pattern line. Use the beamspot otherwise."};
87 DoubleProperty m_precisionWeight {this, "PrecisionWeight", 0.75, "Weight of precision hits in the pattern score of a pattern"};
89 DoubleProperty m_hitScoreSaturation {this, "HitScoreSaturation", 10.0, "Number of eta hits per station at which the pattern score saturates"};
91 DoubleProperty m_residualPenalty {this, "ResidualPenalty", 2.0, "How strongly to penalize residual in the pattern score — higher = stricter quality requirement"};
93 DoubleProperty m_phiBonusSaturation {this, "PhiBonusSaturation", 4.0, "Saturation for phi bonus — beyond this many phi hits the bonus is maxed"};
94
96 std::unique_ptr<FastReco::GlobalPatternFinder> m_globPatFinder{};
97
99
100 };
101}
102
103
104#endif
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
std::vector< const SpacePointContainer * > SpacePointContainerVec
Abrivation for a vector of space-point containers.
std::vector< GlobalPattern > PatternVec
Abrivation for a vector of global patterns.
Algorithm executing Phase-2 fast reconstruction.
DoubleProperty m_phiTolerance
Maximum phi difference [rad] allowed between two hits belonging to the same pattern.
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKeyArray< SpacePointContainer > m_outSpacePoints
Write handle key for the output buckets.
DoubleProperty m_residualPenalty
How strongly to penalize residual — higher = stricter quality requirement.
ToolHandle< MuonValR4::IFastRecoVisualizationTool > m_visionTool
Handle to the visualization tool.
virtual ~FastReconstructionAlg()=default
DoubleProperty m_baseRWindow
Çonstant term [mm] of the acceptance window for the residual between a test hit and the pattern line.
BooleanProperty m_seedFromMdt
Toggle the seeding from MDT hits.
SG::ReadHandleKey< ActsTrk::GeometryContext > m_geoCtxKey
Geometry context key.
SG::ReadHandleKeyArray< SpacePointContainer > m_inSpacePoints
Keys of SpacePoint containers to read.
DoubleProperty m_hitScoreSaturation
number of eta hits per station at which the pattern score saturates
DoubleProperty m_meanNormRes2Cut
Quality cut on pattern'mean squared normalized residual.
BooleanProperty m_useMdtHits
--------------— Configuration options for the global pattern finder --------------—
std::unique_ptr< FastReco::GlobalPatternFinder > m_globPatFinder
Pointer to the actual global pattern finder.
DoubleProperty m_precisionWeight
Weight of precision hits in the score of a pattern, w.r.t trigger hits.
StringProperty m_outSpacePointSuffix
Suffix to add to the input space point container names to create the output container names,...
UnsignedIntegerProperty m_minPhiHits
Minimum number of phi measurements required to accept a pattern.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Handle to the MuonIdHelper service.
UnsignedIntegerProperty m_maxMissedLayerHits
Maximum number of missed candidate hits in different measurement layers during pattern building allow...
BooleanProperty m_seedFromInner
Activate the seeding from Inner station.
UnsignedIntegerProperty m_maxSeedAttempts
Maximum number of attempts to build a pattern from hits already used in existing patterns.
DoubleProperty m_minLayerSeparation
Minimum separation [mm] between the measurement layers of two hits for being used to compute a reliab...
SG::WriteHandleKey< GlobalPatternContainer > m_outPatterns
Write handle key for the output global patterns.
DoubleProperty m_phiBonusSaturation
Saturation for phi bonus — beyond this many phi hits the bonus is maxed.
UnsignedIntegerProperty m_minBendingPrecisionHits
Requirement on precision hits in the bending direction to accept a pattern.
FastReco::GlobalPatternFinder::SpacePointContainerVec SpacePointContainerVec
Abrivation for a vector of space-point containers.
UnsignedIntegerProperty m_minBendingTriggerHits
Requirement on trigger hits in the bending direction to accept a pattern.
virtual StatusCode initialize() override
FastReco::GlobalPatternFinder::PatternVec PatternVec
Abrivation for a vector of global patterns.
DoubleProperty m_thetaSearchWindow
Size of theta window [rad] to search for compatible hits with a seed, tailored to the target pt cutof...
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
This header ties the generic definitions in this package.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
HandleKeyArray< WriteHandle< T >, WriteHandleKey< T >, Gaudi::DataHandle::Writer > WriteHandleKeyArray