11#include <Acts/Utilities/Enumerate.hpp>
12#include <Acts/Definitions/Units.hpp>
13#include <Acts/Utilities/UnitVectors.hpp>
18using namespace Acts::UnitLiterals;
25 const bool calibratePull):
36 ->readoutElement()->tubeRadius();
39 switch (testMdt.
type()) {
41 case MdtDriftCircleType:
43 Muon::MdtDriftCircleStatus::MdtStatusDriftTime;
58 const EventContext& ctx{*cctx.get<
const EventContext*>()};
59 auto calibSp =
m_calibrator->calibrate(ctx, &candidate, seedPos, seedDir,
t0);
60 assert(calibSp !=
nullptr);
61 return SeedingAux::chi2Term(seedPos, seedDir, *calibSp);
63 return SeedingAux::chi2Term(seedPos, seedDir, candidate);
75 const EventContext& ctx{*cctx.get<
const EventContext*>()};
76 appendTo.push_back(
m_calibrator->calibrate(ctx, &appendMe, pos, dir,
t0));
79 const std::size_t upperLayer)
const {
Interface class to refine the space point calibration with an external seed.
Representation of a segment seed (a fully processed hough maximum) produced by the hough transform.
std::vector< HitVec > HitLayVec
std::size_t firstLayerFrom2ndMl() const
Returns the layer index with hits from the second multilayer.
std::vector< const SpacePoint * > HitVec
SpacePointPerLayerSplitter(const SpacePointBucket &bucket)
Constructor taking a complete bucket.
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
xAOD::UncalibMeasType type() const
const xAOD::UncalibratedMeasurement * primaryMeasurement() const
This class is not to needed in AthSimulation.
Eigen::Matrix< double, 3, 1 > Vector3D
SpacePointPerLayerSplitter::HitLayVec HitLayerVec
SpacePointPerLayerSplitter::HitVec HitVec
MdtDriftCircle_v1 MdtDriftCircle
UncalibMeasType
Define the type of the uncalibrated measurement.
const SegmentSeed * m_parent
SeederStateBase(const SegmentSeed *parentSeed, const ISpacePointCalibrator *calibrator, const bool calibratedPull)
Protected constructor to instantiate the.
const ISpacePointCalibrator * m_calibrator
const SegmentSeed * parent() const
Returns the parent seed from which the state is constructed.
double candidateChi2(const Acts::CalibrationContext &cctx, const Amg::Vector3D &seedPos, const Amg::Vector3D &seedDir, const double t0, const SpacePoint &candidate) const
Returns the pull of the candidate w.r.t.
double strawRadius(const SpacePoint &testMdt) const
Returns the outer tube radius of the space point.
bool goodCandidate(const SpacePoint &testMdt) const
Returns whether the hit is a good candidate for seeding.
void append(const Acts::CalibrationContext &cctx, const Amg::Vector3D &pos, const Amg::Vector3D &dir, const double t0, const SpacePoint &appendMe, CalibCont_t &appendTo) const
Appends the space point measurement to the candidate seed container Optionally, the hit may be calibr...
CalibCont_t newContainer(const Acts::CalibrationContext &cctx) const
Creates a new candidate seed container.
std::vector< std::unique_ptr< CalibratedSpacePoint > > CalibCont_t
Abrivation of the collection of calibrated space points.
bool stopSeeding(const std::size_t lowerLayer, const std::size_t upperLayer) const
Requests whether the seed line generation shall be stopped based on the pair of.