4#ifndef MUONR4_MUONFASTRECOALGS_MUONFASTRECONSTRUCTIONALG__H
5#define MUONR4_MUONFASTRECOALGS_MUONFASTRECONSTRUCTIONALG__H
31 using AthReentrantAlgorithm::AthReentrantAlgorithm;
35 virtual StatusCode
execute(
const EventContext& ctx)
const override;
48 StringProperty
m_outSpacePointSuffix{
this,
"OutSpacePointSuffix",
"FastReco",
"Suffix to add to input space point container names to create the output ones, when not provided"};
56 ToolHandle<MuonValR4::IFastRecoVisualizationTool>
m_visionTool{
this,
"VisualizationTool",
""};
60 DoubleProperty
m_thetaSearchWindow {
this,
"ThetaWindowSearch", 0.04,
"Size of the search window in theta to link hits to a pattern"};
62 UnsignedIntegerProperty
m_maxMissedLayerHits {
this,
"MaxMissedLayerHits", 2,
"Maximum number of missed candidate hits in different measurement layers during pattern building"};
64 DoubleProperty
m_baseRWindow {
this,
"BaseRWindow", 70,
"Minimum allowed |R residual| between a test hit and the extrapolated line from the seed, evaluated at ΔZ = 0"};
66 DoubleProperty
m_minZDiff4Line {
this,
"MinZDiff4Line",10,
"Minimum difference in global Z between the seed and the pattern hit to be used to compute the pattern line"};
68 DoubleProperty
m_minRDiff4Line {
this,
"MinRDiff4Line",40,
"Minimum difference in global R between the seed and the pattern hit to be used to compute the pattern line"};
70 DoubleProperty
m_phiTolerance {
this,
"PhiTolerance", 0.1,
"Maximum allowed phi difference between two hits to be considered compatible"};
72 UnsignedIntegerProperty
m_minBendingTriggerHits {
this,
"MinBendingTriggerHits", 3,
"Minimum number of trigger hits in the bending direction required to accept a pattern"};
74 UnsignedIntegerProperty
m_minBendingPrecisionHits {
this,
"MinBendingPrecisionHits", 0,
"Minimum number of precision hits in the bending direction required to accept a pattern"};
76 BooleanProperty
m_seedFromInner {
this,
"SeedFromInner",
false,
"Activate the seeding from Inner stations outward"};
78 BooleanProperty
m_useMdtHits {
this,
"UseMdtHits",
true,
"Activate the utilization of MDT hits to build patterns"};
80 BooleanProperty
m_seedFromMdt {
this,
"SeedFromMdt",
false,
"Activate the seeding from MDT hits"};
82 UnsignedIntegerProperty
m_maxSeedAttempts {
this,
"MaxSeedAttempts", 2,
" Maximum number of attempts to build a pattern from hits already used in existing patterns"};
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 in radiants allowed between two hits.
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKeyArray< SpacePointContainer > m_outSpacePoints
Write handle key for the output buckets.
ToolHandle< MuonValR4::IFastRecoVisualizationTool > m_visionTool
Handle to the visualization tool.
virtual ~FastReconstructionAlg()=default
DoubleProperty m_baseRWindow
Base radial compatibility window (in mm).
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.
BooleanProperty m_useMdtHits
Toggle the utilization of MDT hits to build patterns.
std::unique_ptr< FastReco::GlobalPatternFinder > m_globPatFinder
Pointer to the actual global pattern finder.
DoubleProperty m_minZDiff4Line
Minumum difference in global Z between the seed and the pattern hit to be used to compute the pattern...
StringProperty m_outSpacePointSuffix
Suffix to add to the input space point container names to create the output container names,...
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.
BooleanProperty m_seedFromInner
Activate the seeding from Inner stations outward.
UnsignedIntegerProperty m_maxSeedAttempts
Maximum number of attempts to build a pattern from hits already used in existing patterns.
SG::WriteHandleKey< GlobalPatternContainer > m_outPatterns
Write handle key for the output global patterns.
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.
DoubleProperty m_minRDiff4Line
Minumum difference in global R between the seed and the pattern hit to be used to compute the pattern...
virtual StatusCode initialize() override
FastReco::GlobalPatternFinder::PatternVec PatternVec
Abrivation for a vector of global patterns.
DoubleProperty m_thetaSearchWindow
--------------— Configuration options for the global pattern finder --------------—
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