|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONR4_MUONPATTERNRECOGNTIONALGS_SEGMENTFITTINGALG__H
5 #define MUONR4_MUONPATTERNRECOGNTIONALGS_SEGMENTFITTINGALG__H
46 const ContainerType* & contToPush)
const;
61 std::vector<std::unique_ptr<Segment>>
fitSegmentSeed(
const EventContext& ctx,
102 std::vector<std::unique_ptr<Segment>>& segmentCandidates)
const;
113 ToolHandle<ISpacePointCalibrator>
m_calibTool{
this,
"Calibrator",
"" };
115 ToolHandle<MuonValR4::IPatternVisualizationTool>
m_visionTool{
this,
"VisualizationTool",
""};
120 Gaudi::Property<bool>
m_doT0Fit{
this,
"fitSegmentT0",
true};
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi::Property< double > m_outlierRemovalCut
Cut on the segment chi2 / nDoF to launch the outlier removal.
SG::WriteHandleKey< SegmentContainer > m_outSegments
static std::unique_ptr< Segment > convertToSegment(const Amg::Transform3D &locToGlobTrf, const SegmentSeed *parentSeed, SegmentFitResult &&toConvert)
Converts the fit result into a segment object.
AmgVector(toInt(ParamDefs::nPars)) Parameters
Gaudi::Property< double > m_recoveryPull
Gaudi::Property< double > m_beamSpotL
void eraseWrongHits(const ActsGeometryContext &gctx, SegmentFitResult &candidate) const
Removes all hits from the segment which are obvious outliers.
SegmentFitResult fitSegmentHits(const EventContext &ctx, const ActsGeometryContext &gctx, const Parameters &startPars, SegmentFitResult::HitVec &&calibHits) const
Executes the segment fit with start parameters.
Gaudi::Property< bool > m_useMinuit
Toggle the fitter.
Gaudi::Property< double > m_beamSpotR
virtual StatusCode initialize() override
SegmentFitResult::HitVec HitVec
Gaudi::Property< bool > m_doT0Fit
SegmentFit::Parameters Parameters
void resolveAmbiguities(const ActsGeometryContext &gctx, std::vector< std::unique_ptr< Segment >> &segmentCandidates) const
std::vector< HitType > HitVec
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
IdHelperSvc.
An algorithm that can be simultaneously executed in multiple threads.
std::unique_ptr< SegmentAmbiSolver > m_ambiSolver
ToolHandle< ISpacePointCalibrator > m_calibTool
Handle to the space point calibrator.
std::vector< std::unique_ptr< Segment > > fitSegmentSeed(const EventContext &ctx, const ActsGeometryContext &gctx, const SegmentSeed *seed) const
AthReentrantAlgorithm()
Default constructor:
Property holding a SG store/key/clid from which a WriteHandle is made.
bool plugHoles(const EventContext &ctx, const ActsGeometryContext &gctx, const SegmentSeed &seed, SegmentFitResult &toRecover) const
Recovery of missed hits.
Gaudi::Property< double > m_seedHitChi2
Two mdt seeds are the same if their defining parameters match wihin.
bool removeOutliers(const EventContext &ctx, const ActsGeometryContext &gctx, const SegmentSeed &seed, SegmentFitResult &fitResult) const
Spot hits with large discrepancy from the estimated parameters and remove them from the list.
::StatusCode StatusCode
StatusCode definition for legacy code.
Eigen::Affine3d Transform3D
Gaudi::Property< bool > m_recalibSeed
Toggle seed recalibration.
Include the GeoPrimitives which need to be put first.
Property holding a SG store/key/clid from which a WriteHandle is made.
Gaudi::Property< bool > m_doBeamspotConstraint
Add beamline constraint.
SG::ReadHandleKey< SegmentSeedContainer > m_seedKey
ReadHandle of the seeds.
Gaudi::Property< bool > m_refineSeed
Toggle seed refit.
StatusCode retrieveContainer(const EventContext &ctx, const SG::ReadHandleKey< ContainerType > &key, const ContainerType *&contToPush) const
Helper method to fetch data from StoreGate.
Algorithm to handle segment fits
This header ties the generic definitions in this package.
Representation of a segment seed (a fully processed hough maximum) produced by the hough transform.
ToolHandle< MuonValR4::IPatternVisualizationTool > m_visionTool
Pattern visualization tool.
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
virtual StatusCode execute(const EventContext &ctx) const override
virtual ~SegmentFittingAlg()