 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MUONR4_MUONPATTERNRECOGNITIONALGS_COMBINATORIALNSWSEEDFINDERALG_H
6 #define MUONR4_MUONPATTERNRECOGNITIONALGS_COMBINATORIALNSWSEEDFINDERALG_H
31 using AthReentrantAlgorithm::AthReentrantAlgorithm;
52 using HitLaySpan_t = std::vector<std::reference_wrapper<const HitVec>>;
56 using UsedHitSpan_t = std::vector<std::reference_wrapper<std::vector<char>>>;
130 std::vector<std::unique_ptr<SegmentSeed>>
141 ToolHandle<MuonValR4::IPatternVisualizationTool>
m_visionTool{
this,
"VisualizationTool",
""};
HitWindow
To fastly check whether a hit is roughly compatible with a muon trajectory a narrow corridor is opene...
HitVec extendHits(const Amg::Vector3D &startPos, const Amg::Vector3D &direction, const HitLaySpan_t &extensionLayers, const UsedHitSpan_t &usedHits) const
virtual StatusCode initialize() override
std::unique_ptr< SegmentSeed > buildSegmentSeed(const InitialSeed_t &initialSeed, const AmgSymMatrix(2)&bMatrix, const HoughMaximum &max, const HitLaySpan_t &extensionLayers, const UsedHitSpan_t &usedHits) const
Build the final seed from the initial seed hits and then attempt to append hits from the complementar...
std::vector< HitVec > HitLayVec
HitWindow hitFromIPCorridor(const SpacePoint &testHit, const Amg::Vector3D &beamSpotPos, const Amg::Vector3D &dirEstUp, const Amg::Vector3D &dirEstDn) const
The hit is above the predefined corridor.
void constructPrelimnarySeeds(const Amg::Vector3D &beamSpot, const HitLaySpan_t &combinatoricLayers, const UsedHitSpan_t &usedHits, InitialSeedVec_t &outVec) const
Construct a set of prelimnary seeds from the selected combinatoric layers.
@ Unknown
Ordinary eta strips.
ToolHandle< MuonValR4::IPatternVisualizationTool > m_visionTool
Pattern visualization tool.
Property holding a SG store/key/clid from which a ReadHandle is made.
StripOrient classifyStrip(const SpacePoint &spacePoint) const
Determines the orientation of the strip space point.
std::vector< const SpacePoint * > HitVec
@ X
Stereo strips with negative angle.
@ inside
The hit is below the predefined corridor.
An algorithm that can be simultaneously executed in multiple threads.
std::vector< InitialSeed_t > InitialSeedVec_t
Vector of initial seeds.
virtual ~CombinatorialNSWSeedFinderAlg()=default
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
SpacePointPerLayerSplitter::HitLayVec HitLayVec
Property holding a SG store/key/clid from which a WriteHandle is made.
@ tooHigh
The hit is inside the defined window and hence an initial candidate.
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::WriteHandleKey< SegmentSeedContainer > m_writeKey
UsedHitMarker_t emptyBookKeeper(const HitLayVec &sortedSp) const
Constructs an empty HitMarker from the split space points.
std::array< const SpacePoint *, 4 > InitialSeed_t
Abbrivation of the
std::vector< std::vector< char > > UsedHitMarker_t
Abbrivation of the container book keeping whether a hit is used or not.
Include the GeoPrimitives which need to be put first.
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
Property holding a SG store/key/clid from which a WriteHandle is made.
std::vector< std::reference_wrapper< std::vector< char > >> UsedHitSpan_t
Abbrivation of the container to pass a subset of markers wtihout copy.
DoubleProperty m_windowTheta
@ V
Stereo strips with positive angle.
SpacePointPerLayerSplitter::HitVec HitVec
virtual StatusCode execute(const EventContext &ctx) const override
Eigen::Matrix< double, 3, 1 > Vector3D
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
SG::ReadHandleKey< EtaHoughMaxContainer > m_etaKey
StripOrient
Enumeration to classify the orientation of a NSW strip
This header ties the generic definitions in this package.
void markHitsAsUsed(const SegmentSeed &seed, const HitLayVec &allSortHits, UsedHitMarker_t &usedHitMarker) const
Data class to represent an eta maximum in hough space.
SpacePointPerLayerSplitter::HitVec HitVec
Representation of a segment seed (a fully processed hough maximum) produced by the hough transform.
AthConfigFlags beamSpot(AthConfigFlags flags, str instanceName, str recoMode)
const AmgSymMatrix(2) &SpacePoint
std::vector< std::reference_wrapper< const HitVec > > HitLaySpan_t
Abbrivation of the space comprising multiple hit vectors without copy.
std::vector< std::unique_ptr< SegmentSeed > > findSeedsFromMaximum(const HoughMaximum &max, const ActsGeometryContext &gctx) const
DoubleProperty m_minPullThreshold