49 m_globPatFinder = std::make_unique<GlobalPatternFinder>(name(), std::move(patCfg));
69 return StatusCode::SUCCESS;
76 auto& spc = inSpacePoints.emplace_back(
nullptr);
78 ATH_MSG_DEBUG(
"Reading " << spc->size() <<
" SP buckets from collection: " << key);
85 BucketPerContainer outBuckets{};
87 outBuckets.emplace(inSpc, BucketPerContainer::mapped_type{});
92 for (
size_t idx = 0; idx < inSpacePoints.size(); ++idx) {
94 const auto& outBucketVec = outBuckets.at(inSpc);
100 writeHandle->push_back(std::make_unique<SpacePointBucket>(*bucket));
104 <<
" SP Buckets into StoreGate with key "
109 ATH_CHECK(writeHandle.
record(std::make_unique<GlobalPatternContainer>()));
111 writeHandle->push_back(std::make_unique<GlobalPattern>(pat));
113 ATH_MSG_DEBUG(
"Written "<<writeHandle->size()<<
" GlobalPatterns into StoreGate.");
116 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
std::unordered_map< const SpacePointContainer *, std::vector< const SpacePointBucket * > > BucketPerContainer
Abrivation for a collection of space-point buckets grouped by their corresponding input container.
Muon::MuonStationIndex::LayerIndex LayerIndex
Type alias for the station layer index.
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.
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...
Data class to represent an eta maximum in hough space.
: The muon space point bucket represents a collection of points that will bre processed together in t...
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
std::vector< std::string > patterns
This header ties the generic definitions in this package.
DataVector< SpacePointBucket > SpacePointContainer
Abrivation of the space point container type.
LayerIndex
enum to classify the different layers in the muon spectrometer
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
bool useMdtHits
Toggle the utilization of MDT hits to build patterns.
unsigned int minBendingTriggerHits
Minimum number of trigger hits in the bending direction required to accept a pattern.
double thetaSearchWindow
Size of theta window in radians to search for comapatible hits with a pattern, tailored to the target...
bool seedFromMdt
Toggle the seeding from MDT hits.
const Muon::IMuonIdHelperSvc * idHelperSvc
Pointer to the idHelperSvc.
std::vector< LayerIndex > layerSeedings
Vector configuring the seeding layers.
double minLayerSeparation
Minimum separation (in mm) between the measurement layers of two hits for being used to compute a rel...
double precisionWeight
Weight of precision hits in the score, w.r.t trigger hits.
double phiTolerance
Maximum phi difference in radians allowed between two hits.
double baseRWindow
Base radial compatibility window (in mm).
double phiBonusSaturation
Saturation for phi bonus — beyond this many phi hits the bonus is maxed.
double hitScoreSaturation
Hit counts saturates at nStations * this value.
unsigned int maxMissedLayerHits
Maximum number of missed candidate hits in different measurement layers during pattern building.
const MuonValR4::IFastRecoVisualizationTool * visionTool
Pointer to the visualization tool.
unsigned int minPhiHits
Minimum number of phi measurements required to accept a pattern.
unsigned int maxSeedAttempts
Maximum number of attempts to build a pattern from hits already used in existing patterns.
double meanNormRes2Cut
Quality cut on pattern'mean squared normalized residual.
unsigned int minBendingPrecisionHits
Minimum number of precision hits in the bending direction required to accept a pattern.
double residualPenalty
How strongly to penalize residual — higher = stricter quality requirement.