|  | 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;
 
   54         using HitLaySpan_t = std::vector<std::reference_wrapper<const HitVec>>;
 
   58         using UsedHitSpan_t = std::vector<std::reference_wrapper<std::vector<char>>>;
 
  132         std::vector<std::unique_ptr<SegmentSeed>> 
 
  143         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
Combined 2D space point (sTGC wire + strip / sTgc pad)
SG::ReadHandleKey< ActsTrk::GeometryContext > m_geoCtxKey
ToolHandle< MuonValR4::IPatternVisualizationTool > m_visionTool
Pattern visualization tool.
std::vector< std::unique_ptr< SegmentSeed > > findSeedsFromMaximum(const HoughMaximum &max, const ActsTrk::GeometryContext &gctx) const
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.
#define AmgSymMatrix(dim)
An algorithm that can be simultaneously executed in multiple threads.
std::vector< InitialSeed_t > InitialSeedVec_t
Vector of initial seeds.
virtual ~CombinatorialNSWSeedFinderAlg()=default
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.
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.
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.
@ C
Single phi measurements.
AthConfigFlags beamSpot(AthConfigFlags flags, str instanceName, str recoMode)
SpacePointPerLayerSplitter::HitVec HitVec
std::vector< std::reference_wrapper< const HitVec > > HitLaySpan_t
Abbrivation of the space comprising multiple hit vectors without copy.
DoubleProperty m_minPullThreshold