ATLAS Offline Software
Loading...
Searching...
No Matches
MuonGlobalPatternFindingAlg.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_MUONGLOBALPATTERNFINDINGALG__H
5#define MUONR4_MUONFASTRECOALGS_MUONGLOBALPATTERNFINDINGALG__H
6
9
11
13
14namespace MuonR4 {
23
25 public:
26
27 using AthReentrantAlgorithm::AthReentrantAlgorithm;
28 virtual ~MuonGlobalPatternFindingAlg() = default;
29
30 virtual StatusCode initialize() override;
31 virtual StatusCode execute(const EventContext& ctx) const override;
32
33 private:
35 ActsTrk::GeoContextReadKey_t m_geoCtxKey{this, "AlignmentKey", "ActsAlignment", "cond handle key"};
37 SG::ReadHandleKeyArray<SpacePointContainer> m_inSpacePoints{this, "InSpacePoints", {"MuonSpacePoints"}, "List of space point containers to read"};
39 SG::WriteHandleKey<GlobalPatternContainer> m_outPatterns{this, "OutPatterns", "MuonR4GlobalPatterns"};
40
42 BooleanProperty m_useMdtHits {this, "UseMdtHits", true, "Activate the utilization of MDT hits to build patterns"};
44 BooleanProperty m_seedFromMdt {this, "SeedFromMdt", false, "Activate the seeding from MDT hits"};
46 BooleanProperty m_seedFromInner {this, "SeedFromInner", false, "Activate the seeding from Inner station"};
48 DoubleProperty m_thetaSearchWindow {this, "ThetaWindowSearch", 0.06, "Size of the search window in theta to link hits to a pattern"};
50 DoubleProperty m_nResidualSigma {this, "NResidualSigma", 3., "Number of standard deviations to consider for residual acceptance"};
52 DoubleProperty m_lowConfidenceResSigma {this, "LowConfidenceResSigma", 50.0, "Residual uncertainty to consider the hit as low confidence"};
54 DoubleProperty m_nPhiSigma {this, "NPhiSigma", 5., "Number of standard deviations to consider for phi acceptance"};
56 UnsignedIntegerProperty m_minTriggerLayers {this, "MinBendingTriggerLayers", 2, "Minimum number of trigger layers in the bending direction required to accept a pattern"};
58 UnsignedIntegerProperty m_minPrecisionLayers {this, "MinBendingPrecisionLayers", 8, "Minimum number of precision layers in the bending direction required to accept a pattern"};
60 UnsignedIntegerProperty m_minPhiLayers {this, "MinPhiLayers", 1, "Minimum number of phi layers required to accept a pattern"};
62 UnsignedIntegerProperty m_minStationLayers {this, "MinStationLayers", 4, "Minimum number of layers in a station to be considered a good station"};
64 DoubleProperty m_meanNormRes2Cut {this, "meanNormRes2Cut", 3.5, "Quality cut on pattern'mean squared normalized residual"};
66 UnsignedIntegerProperty m_maxSeedAttempts {this, "MaxSeedAttempts", 3, " Maximum number of attempts to build a pattern from hits already used in existing patterns"};
68 UnsignedIntegerProperty m_maxMissLayersInStation {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"};
70 DoubleProperty m_minHitDistance4Line {this, "MinHitDistance4Line", 200, "Minimum distance (in mm) between two hits for being used to compute a reliable pattern line. Use the beamspot otherwise."};
72 DoubleProperty m_beamSpotRadius{this, "BeamSpotRadius", 30.*Gaudi::Units::cm};
74 DoubleProperty m_beamSpotLength{this, "BeamSpotLength", 2.*Gaudi::Units::m};
75
77 ToolHandle<MuonValR4::IFastRecoVisualizationTool> m_patVisionTool{this, "VisualizationTool", ""};
79 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
80
82 std::unique_ptr<FastReco::GlobalPatternFinder> m_globPatFinder{};
83 };
84}
85
86#endif
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Algorithm performing global pattern recognition.
DoubleProperty m_beamSpotRadius
Beam spot radius.
virtual StatusCode execute(const EventContext &ctx) const override
UnsignedIntegerProperty m_minPhiLayers
Minimum number of phi layers required to accept a pattern.
DoubleProperty m_thetaSearchWindow
Size of theta window [rad] to search for compatible hits with a seed, tailored to the target pt cutof...
UnsignedIntegerProperty m_minTriggerLayers
Requirement on trigger layers in the bending direction to accept a pattern.
UnsignedIntegerProperty m_maxSeedAttempts
Maximum number of attempts to build a pattern from hits already used in existing patterns.
DoubleProperty m_nResidualSigma
Number of standard deviations to consider for residual acceptance.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Handle to the MuonIdHelper service.
DoubleProperty m_meanNormRes2Cut
Quality cut on pattern'mean squared normalized residual.
BooleanProperty m_seedFromInner
Activate the seeding from Inner station.
std::unique_ptr< FastReco::GlobalPatternFinder > m_globPatFinder
Pointer to the actual global pattern finder.
DoubleProperty m_minHitDistance4Line
Minimum distance [mm] between two hits for being used to compute a reliable pattern line.
SG::WriteHandleKey< GlobalPatternContainer > m_outPatterns
Write handle key for the output global patterns.
DoubleProperty m_lowConfidenceResSigma
Residual uncertainty to consider the hit as low confidence.
ToolHandle< MuonValR4::IFastRecoVisualizationTool > m_patVisionTool
Handle to the visualization tool for global patterns.
UnsignedIntegerProperty m_minPrecisionLayers
Requirement on precision layers in the bending direction to accept a pattern.
DoubleProperty m_beamSpotLength
Beam spot length.
SG::ReadHandleKeyArray< SpacePointContainer > m_inSpacePoints
Keys of SpacePoint containers to read.
UnsignedIntegerProperty m_maxMissLayersInStation
Maximum number of missed candidate hits in different measurement layers during pattern building allow...
BooleanProperty m_useMdtHits
Toggle the utilization of MDT hits to build patterns.
ActsTrk::GeoContextReadKey_t m_geoCtxKey
Geometry context key.
DoubleProperty m_nPhiSigma
Number of standard deviations to consider for phi compatibility veto.
UnsignedIntegerProperty m_minStationLayers
Minimum number of layers in a station to be considered a good station.
BooleanProperty m_seedFromMdt
Toggle the seeding from MDT hits.
virtual ~MuonGlobalPatternFindingAlg()=default
Property holding a SG store/key/clid from which a WriteHandle is made.
SG::ReadHandleKey< GeometryContext > GeoContextReadKey_t
Abrivate the ReadHandleKey to declare the data dependency on the Geometry context.
This header ties the generic definitions in this package.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray