 |
ATLAS Offline Software
|
Go to the documentation of this file.
17 using namespace SegmentFit;
41 return TechIdx_t::TechnologyUnknown;
54 return StatusCode::SUCCESS;
59 ATH_CHECK(outContainer.record(std::make_unique<xAOD::MuonSegmentContainer>(),
60 std::make_unique<xAOD::MuonSegmentAuxContainer>()));
74 unsigned recoSegIdx{0};
75 for (
const Segment* inSegment : *segmentContainer) {
78 xAOD::MuonSegment* convertedSeg = outContainer->push_back(std::make_unique<xAOD::MuonSegment>());
79 dec_parentLink(*convertedSeg) =
SegLink_t{segmentContainer, recoSegIdx};
90 convertedSeg->
setFitQuality(inSegment->chi2(), inSegment->nDoF());
91 convertedSeg->
setNHits(inSegment->summary().nPrecHits, inSegment->summary().nPhiHits,
92 inSegment->summary().nEtaTrigHits);
95 convertedSeg->
setT0Error(inSegment->segementT0(),
96 Amg::error(inSegment->covariance(), Acts::toUnderlying(
t0)));
98 SegPars_t& localPars{dec_locPars(*convertedSeg)};
103 localPars[Acts::toUnderlying(x0)] = locPos.x();
104 localPars[Acts::toUnderlying(y0)] = locPos.y();
105 localPars[Acts::toUnderlying(
theta)] =
locDir.theta();
106 localPars[Acts::toUnderlying(
phi)] =
locDir.phi();
107 localPars[Acts::toUnderlying(
t0)] = inSegment->segementT0();
118 for (
const auto& meas : inSegment->measurements()) {
119 if (!meas->spacePoint()) {
122 appendLink(meas->spacePoint()->primaryMeasurement());
123 if (meas->spacePoint()->primaryMeasurement() !=
124 meas->spacePoint()->secondaryMeasurement()){
125 appendLink(meas->spacePoint()->secondaryMeasurement());
130 return StatusCode::SUCCESS;
int sector() const
Returns the sector of the MS-sector.
int8_t side() const
Returns the side of the MS-sector 1 -> A side ; -1 -> C side.
A spectrometer sector forms the envelope of all chambers that are placed in the same MS sector & laye...
Scalar phi() const
phi method
value_type emplace_back(value_type pElem)
Add an element to the end of the collection.
void setPosition(float x, float y, float z)
Sets the global position.
xAOD::MeasVector< Acts::toUnderlying(ParamDefs::nPars)> SegPars_t
Scalar theta() const
theta method
Placeholder for what will later be the muon segment EDM representation.
std::vector< ALFA_RawData_p1 > t0
TechnologyIndex
enum to classify the different layers in the muon spectrometer
Class describing a MuonSegment.
SeedingAux::FitParIndex ParamDefs
Use the same parameter indices as used by the CompSpacePointAuxiliaries.
virtual StatusCode execute(const EventContext &ctx) const override final
Property holding a SG store/key/clid from which a ReadHandle is made.
void setT0Error(float t0, float t0Error)
Sets the time error.
void setNHits(int nPrecisionHits, int nPhiLayers, int nTrigEtaLayers)
Set the number of hits/layers.
Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index scheme.
Handle class for recording to StoreGate.
constexpr TechIdx_t toTechIdx(const xAOD::UncalibMeasType aodType)
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
::StatusCode StatusCode
StatusCode definition for legacy code.
Handle class for adding a decoration to an object.
Amg::Transform3D globalToLocalTrans(const ActsGeometryContext &gctx) const
Returns the global -> local transformation from the ATLAS global.
Eigen::Affine3d Transform3D
std::vector< PrdLink_t > PrdLinkVec_t
Handle class for adding a decoration to an object.
Include the GeoPrimitives which need to be put first.
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.
ElementLink implementation for ROOT usage.
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
UncalibratedMeasurementContainer_v1 UncalibratedMeasurementContainer
Define the version of the uncalibrated measurement container.
Eigen::Matrix< double, 3, 1 > Vector3D
virtual StatusCode initialize() override final
This header ties the generic definitions in this package.
void setIdentifier(int sector, ::Muon::MuonStationIndex::ChIndex chamberIndex, int etaIndex, ::Muon::MuonStationIndex::TechnologyIndex technology)
Set the identifier.
UncalibMeasType
Define the type of the uncalibrated measurement.
void setDirection(float px, float py, float pz)
Sets the direction.
void setFitQuality(float chiSquared, float numberDoF)
Set the 'Fit Quality' information.