Helper struct to delegate the EDM interactions with the space point container during the seeding from Acts to the Athena EDM.
More...
#include <MdtSegmentSeedGenerator.h>
|
| const SegmentSeed * | parent () const |
| | Returns the parent seed from which the state is constructed.
|
| bool | goodCandidate (const SpacePoint &testMdt) const |
| | Returns whether the hit is a good candidate for seeding.
|
| 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.
|
| CalibCont_t | newContainer (const Acts::CalibrationContext &cctx) const |
| | Creates a new candidate seed container.
|
| 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 calibrated.
|
| 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.
|
| bool | goodForSeeding (const Amg::Vector3D &tangentPos, const Amg::Vector3D &tangentDir) const |
| | Selector function to remove the two line tangent seed using external constaints (e.g.
|
| const HitLayVec & | mdtHits () const |
| | Returns the sorted Mdt hits.
|
| const HitLayVec & | strawHits () const |
| | Returns the sorted Mdt hits.
|
| std::size_t | nMdtHits () const |
| | Returns the number of all Mdt hits in the seed.
|
| const HitLayVec & | stripHits () const |
| | Returns the sorted strip hits.
|
| std::size_t | nStripHits () const |
| | Returns the number of all strip hits in the seed.
|
| std::size_t | firstLayerFrom2ndMl () const |
| | Returns the layer index with hits from the second multilayer.
|
|
| using | SeedSelector_t |
| | Selector function to sort out seed lines that are incompatible with external geometrical constaints e.g.
|
Helper struct to delegate the EDM interactions with the space point container during the seeding from Acts to the Athena EDM.
Definition at line 22 of file MdtSegmentSeedGenerator.h.
◆ CalibCont_t
◆ HitLayVec
◆ HitVec
◆ SeedSelector_t
Initial value:
Eigen::Matrix< double, 3, 1 > Vector3D
Selector function to sort out seed lines that are incompatible with external geometrical constaints e.g.
beampot
Definition at line 26 of file MdtSegmentSeedGenerator.h.
◆ SeederStateBase()
Protected constructor to prevent instantiation from anything else than the seeder state.
- Parameters
-
| parentSeed | Pointer to the HoughSeed from which all the Mdt segment seeds are constructed |
| calibrator | Pointer to the calibrator to be used to construct the calibrated space points and (optionally) to refine the pull calculation |
| calibratedPull | First calibrate the space point before calculating the pull w.r.t. seed line |
| seedSelector | Utility function to reject bad drift circle seeds based on geometrical constaints |
Definition at line 23 of file MdtSegmentSeedGenerator.cxx.
26 :
SpacePointPerLayerSplitter(const SpacePointBucket &bucket)
Constructor taking a complete bucket.
const SegmentSeed * m_parent
const ISpacePointCalibrator * m_calibrator
const SeedSelector_t m_selector
◆ append()
Appends the space point measurement to the candidate seed container Optionally, the hit may be calibrated.
- Parameters
-
| cctx | Calibration context to access the conditions data |
| pos | Reference position of the seed line |
| dir | Reference direction of the seed line |
| t0 | Offset in the time of arrival (Acts units) |
| appendMe | Space point candidate to append to the container |
| appendTo | Output container to which the space point is appended |
Definition at line 71 of file MdtSegmentSeedGenerator.cxx.
76 {
77 const EventContext& ctx{*cctx.get<const EventContext*>()};
78 appendTo.push_back(
m_calibrator->calibrate(ctx, &appendMe, pos, dir,
t0));
79 }
◆ candidateChi2()
Returns the pull of the candidate w.r.t.
the line & the time offset
- Parameters
-
| cctx | Calibration context to access the conditions data |
| seedPos | Reference position of the seed line |
| seedDir | Reference direction of the seed line |
| t0 | Offset in the time of arrival (Acts units) |
| candidate | Space point which chi2 is to be evaluated |
Definition at line 54 of file MdtSegmentSeedGenerator.cxx.
58 {
60 const EventContext& ctx{*cctx.get<const EventContext*>()};
61 auto calibSp =
m_calibrator->calibrate(ctx, &candidate, seedPos, seedDir,
t0);
62 assert(calibSp != nullptr);
63 return SeedingAux::chi2Term(seedPos, seedDir, *calibSp);
64 }
65 return SeedingAux::chi2Term(seedPos, seedDir, candidate);
66 }
◆ firstLayerFrom2ndMl()
| std::size_t MuonR4::SpacePointPerLayerSplitter::firstLayerFrom2ndMl |
( |
| ) |
const |
|
inlineinherited |
Returns the layer index with hits from the second multilayer.
Definition at line 47 of file SpacePointPerLayerSplitter.h.
47 {
49 }
std::size_t m_tubeLaySwitch
Index of the first tube-layer from the second multilayer.
◆ goodCandidate()
| bool MuonR4::SegmentFit::SeederStateBase::goodCandidate |
( |
const SpacePoint & | testMdt | ) |
const |
Returns whether the hit is a good candidate for seeding.
- Parameters
-
| testMdt | Reference to the space point considered for seeding |
Definition at line 40 of file MdtSegmentSeedGenerator.cxx.
40 {
41 switch (testMdt.type()) {
45 Muon::MdtDriftCircleStatus::MdtStatusDriftTime;
48 return true;
49 default:
50 return false;
51 }
52 return false;
53 }
MdtDriftCircleStatus status() const
Returns the status of the measurement.
MdtDriftCircle_v1 MdtDriftCircle
UncalibMeasType
Define the type of the uncalibrated measurement.
◆ goodForSeeding()
Selector function to remove the two line tangent seed using external constaints (e.g.
beamspot)
- Parameters
-
| tangentPos | Position of the seed line |
| tangentDir | Direction of the seed line |
Definition at line 85 of file MdtSegmentSeedGenerator.cxx.
◆ mdtHits()
| const HitLayVec & MuonR4::SpacePointPerLayerSplitter::mdtHits |
( |
| ) |
const |
|
inlineinherited |
Returns the sorted Mdt hits.
Definition at line 27 of file SpacePointPerLayerSplitter.h.
27 {
29 }
HitLayVec m_mdtLayers
Sorted Mdt hits per tube layer.
◆ newContainer()
Creates a new candidate seed container.
- Parameters
-
| cctx | Calibration context (defined by the interface) |
Definition at line 68 of file MdtSegmentSeedGenerator.cxx.
68 {
70 }
Segment::MeasVec CalibCont_t
Abrivation of the collection of calibrated space points.
◆ nMdtHits()
| std::size_t MuonR4::SpacePointPerLayerSplitter::nMdtHits |
( |
| ) |
const |
|
inlineinherited |
Returns the number of all Mdt hits in the seed.
Definition at line 35 of file SpacePointPerLayerSplitter.h.
35 {
37 }
std::size_t m_nMdtHits
Number of all Mdt tube hits.
◆ nStripHits()
| std::size_t MuonR4::SpacePointPerLayerSplitter::nStripHits |
( |
| ) |
const |
|
inlineinherited |
Returns the number of all strip hits in the seed.
Definition at line 43 of file SpacePointPerLayerSplitter.h.
43 {
45 }
std::size_t m_nStripHits
Number of all strip hits.
◆ parent()
◆ stopSeeding()
| bool MuonR4::SegmentFit::SeederStateBase::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.
- Parameters
-
| lowerLayer | Index of the lower hit layer from which the seed circles are picked |
| upperLayer | Index of the upper hit layer from which the seed circles are picked |
Definition at line 80 of file MdtSegmentSeedGenerator.cxx.
81 {
83 }
std::size_t firstLayerFrom2ndMl() const
Returns the layer index with hits from the second multilayer.
◆ strawHits()
| const HitLayVec & MuonR4::SpacePointPerLayerSplitter::strawHits |
( |
| ) |
const |
|
inlineinherited |
◆ strawRadius()
| double MuonR4::SegmentFit::SeederStateBase::strawRadius |
( |
const SpacePoint & | testMdt | ) |
const |
Returns the outer tube radius of the space point.
- Parameters
-
| testMdt | Reference to the Mdt space point of interest |
Definition at line 35 of file MdtSegmentSeedGenerator.cxx.
35 {
39 }
double tubeRadius() const
Adds the thickness of the tube wall onto the radius.
virtual const MuonGMR4::MdtReadoutElement * readoutElement() const override final
Retrieve the associated MdtReadoutElement.
◆ stripHits()
| const HitLayVec & MuonR4::SpacePointPerLayerSplitter::stripHits |
( |
| ) |
const |
|
inlineinherited |
Returns the sorted strip hits.
Definition at line 39 of file SpacePointPerLayerSplitter.h.
39 {
41 }
HitLayVec m_stripLayers
Sorted Strip hits per gasGap strip.
◆ m_calibratePull
| bool MuonR4::SegmentFit::SeederStateBase::m_calibratePull {false} |
|
private |
◆ m_calibrator
◆ m_mdtLayers
| HitLayVec MuonR4::SpacePointPerLayerSplitter::m_mdtLayers {} |
|
privateinherited |
◆ m_nMdtHits
| std::size_t MuonR4::SpacePointPerLayerSplitter::m_nMdtHits {0} |
|
privateinherited |
◆ m_nStripHits
| std::size_t MuonR4::SpacePointPerLayerSplitter::m_nStripHits {0} |
|
privateinherited |
◆ m_parent
◆ m_selector
◆ m_stripLayers
| HitLayVec MuonR4::SpacePointPerLayerSplitter::m_stripLayers {} |
|
privateinherited |
◆ m_tubeLaySwitch
| std::size_t MuonR4::SpacePointPerLayerSplitter::m_tubeLaySwitch {std::numeric_limits<std::size_t>::max()} |
|
privateinherited |
The documentation for this struct was generated from the following files: