Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
SpacePointCalibrator.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #include "SpacePointCalibrator.h"
5 
14 #include "GaudiKernel/PhysicalConstants.h"
17 namespace {
18  constexpr double c_inv = 1./ Gaudi::Units::c_light;
19 }
20 
21 namespace MuonR4{
25  using namespace SegmentFit;
26 
27 
28  SpacePointCalibrator::SpacePointCalibrator(const std::string& type, const std::string &name, const IInterface* parent) :
29  base_class(type, name, parent) {}
30 
33  ATH_CHECK(m_idHelperSvc.retrieve());
34  ATH_CHECK(m_mdtCalibrationTool.retrieve(EnableTool{m_idHelperSvc->hasMDT()}));
36  return StatusCode::SUCCESS;
37  }
38 
40  const CalibratedSpacePoint& spacePoint,
41  const Amg::Vector3D& segPos,
42  const Amg::Vector3D& segDir,
43  const double timeDelay) const {
44  CalibSpacePointPtr calibSP{};
45  if (spacePoint.type() != xAOD::UncalibMeasType::Other){
46  calibSP = calibrate(ctx, spacePoint.spacePoint(), segPos, segDir, timeDelay);
47  } else {
48  calibSP = std::make_unique<CalibratedSpacePoint>(spacePoint);
49  }
50  if (spacePoint.fitState() == State::Outlier) {
51  calibSP->setFitState(State::Outlier);
52  }
53  return calibSP;
54  }
55 
58  const Amg::Vector3D& segPos,
59  const Amg::Vector3D& segDir,
60  const double timeDelay) const {
61  for (CalibSpacePointPtr& sp : spacePoints){
62  sp = calibrate(ctx, *sp, segPos, segDir, timeDelay);
63  }
64  return spacePoints;
65  }
66 
68  const SpacePoint* spacePoint,
69  const Amg::Vector3D& posInChamb,
70  const Amg::Vector3D& dirInChamb,
71  const double timeOffset) const {
72 
73  SG::ReadHandle gctx{m_geoCtxKey, ctx};
74  const Amg::Vector3D& spPos{spacePoint->positionInChamber()};
75  const Amg::Transform3D& locToGlob{spacePoint->msSector()->localToGlobalTrans(*gctx)};
76  Amg::Vector3D chDir{spacePoint->directionInChamber()};
77 
78  // Adjust the space point position according to the external seed. But only if the space point
79  // is a 1D strip
80  Amg::Vector3D calibSpPos = spacePoint->dimension() == 2 ? spPos
81  : spPos + Amg::intersect<3>(posInChamb, dirInChamb, spPos, chDir).value_or(0) * chDir;
82 
83  CalibSpacePointPtr calibSP{};
84  switch (spacePoint->type()) {
86  const Amg::Vector3D locClosestApproach = posInChamb
87  + Amg::intersect<3>(spPos, chDir,
88  posInChamb, dirInChamb).value_or(0) * dirInChamb;
89 
90  Amg::Vector3D closestApproach{locToGlob* locClosestApproach};
91  const double timeOfArrival = closestApproach.mag() * c_inv + timeOffset;
92  AmgSymMatrix(2) jac{AmgSymMatrix(2)::Identity()};
93  jac.col(0) = spacePoint->normalInChamber().block<2,1>(0,0).unit();
94  jac.col(1) = spacePoint->directionInChamber().block<2,1>(0,0).unit();
95 
96  if (spacePoint->dimension() == 1) {
97  auto* dc = static_cast<const xAOD::MdtDriftCircle*>(spacePoint->primaryMeasurement());
98  MdtCalibInput calibInput{*dc, *gctx};
99  calibInput.setTrackDirection(locToGlob.linear() * dirInChamb,
100  dirInChamb.phi() || posInChamb[toInt(AxisDefs::phi)] );
101  calibInput.setTimeOfFlight(timeOfArrival);
102  calibInput.setClosestApproach(std::move(closestApproach));
103  ATH_MSG_VERBOSE("Parse hit calibration "<<m_idHelperSvc->toString(dc->identify())<<", "<<calibInput);
104  MdtCalibOutput calibOutput = m_mdtCalibrationTool->calibrate(ctx, calibInput);
105  ATH_MSG_VERBOSE("Returned calibration object "<<calibOutput);
106  State fitState{State::Valid};
107  AmgSymMatrix(2) diagCov{AmgSymMatrix(2)::Identity()};
108  diagCov(toInt(AxisDefs::eta), toInt(AxisDefs::eta)) = std::pow(0.5* dc->readoutElement()->activeTubeLength(dc->measurementHash()),2);
111  ATH_MSG_DEBUG("Failed to create a valid hit from "<<m_idHelperSvc->toString(dc->identify())
112  <<std::endl<<calibInput<<std::endl<<calibOutput);
113  fitState = State::FailedCalib;
114  diagCov(toInt(AxisDefs::phi), toInt(AxisDefs::phi)) = std::pow(dc->readoutElement()->innerTubeRadius(), 2);
115  } else {
116  diagCov(toInt(AxisDefs::phi), toInt(AxisDefs::phi)) = std::pow(calibOutput.driftRadiusUncert(), 2);
117  }
118  calibSP = std::make_unique<CalibratedSpacePoint>(spacePoint, std::move(calibSpPos), std::move(chDir), fitState);
119  calibSP->setCovariance<2>(jac.inverse()*diagCov*jac);
120  calibSP->setDriftRadius(calibOutput.driftRadius());
121  } else {
122  auto* dc = static_cast<const xAOD::MdtTwinDriftCircle*>(spacePoint->primaryMeasurement());
123  MdtCalibInput calibInput{*dc, *gctx};
124  calibInput.setClosestApproach(closestApproach);
125  calibInput.setTimeOfFlight(timeOfArrival);
126 
127  MdtCalibInput twinInput{dc->twinIdentify(), dc->twinAdc(), dc->twinTdc(), dc->readoutElement(), *gctx};
128  twinInput.setClosestApproach(closestApproach);
129  twinInput.setTimeOfFlight(timeOfArrival);
130 
131  MdtCalibTwinOutput calibOutput = m_mdtCalibrationTool->calibrateTwinTubes(ctx,
132  std::move(calibInput),
133  std::move(twinInput));
134 
135  AmgSymMatrix(2) diagCov{AmgSymMatrix(2)::Identity()};
136  State fitState{State::Valid};
138  ATH_MSG_DEBUG("Failed to create a valid hit from "<<m_idHelperSvc->toString(dc->identify())
139  <<std::endl<<calibOutput);
140  diagCov(toInt(AxisDefs::phi), toInt(AxisDefs::phi)) = std::pow(dc->readoutElement()->innerTubeRadius(), 2);
141  diagCov(toInt(AxisDefs::eta), toInt(AxisDefs::eta)) = std::pow(0.5* dc->readoutElement()->activeTubeLength(dc->measurementHash()), 2);
142  fitState = State::FailedCalib;
143  } else {
144  diagCov(toInt(AxisDefs::phi), toInt(AxisDefs::phi)) = std::pow(calibOutput.uncertPrimaryR(), 2);
145  diagCov(toInt(AxisDefs::eta), toInt(AxisDefs::eta)) = std::pow(calibOutput.sigmaZ(), 2);
146  }
147  calibSP = std::make_unique<CalibratedSpacePoint>(spacePoint, std::move(calibSpPos), std::move(chDir), fitState);
148  calibSP->setCovariance<2>(jac.inverse()*diagCov*jac);
149  calibSP->setDriftRadius(calibOutput.primaryDriftR());
150  }
151  break;
152  }
154  auto* strip = static_cast<const xAOD::RpcMeasurement*>(spacePoint->primaryMeasurement());
155 
157  const Amg::Transform3D toGasGap{strip->readoutElement()->globalToLocalTrans(*gctx, strip->layerHash()) * locToGlob};
158  const Amg::Vector3D lPos = toGasGap * calibSpPos;
159  using EdgeSide = MuonGMR4::RpcReadoutElement::EdgeSide;
160  calibSP = std::make_unique<CalibratedSpacePoint>(spacePoint, std::move(calibSpPos), std::move(chDir));
161  AmgSymMatrix(3) cov{AmgSymMatrix(3)::Identity()};
162  cov.block<2,2>(0, 0) = spacePoint->covariance();
163 
165 
166  const double time1 = strip->time()
167  - strip->readoutElement()->distanceToEdge(strip->layerHash(),
168  lPos.block<2,1>(0,0),
169  EdgeSide::readOut) /m_rpcSignalVelocity;
170 
171  if (spacePoint->dimension() == 2) {
172  auto* strip2 = static_cast<const xAOD::RpcMeasurement*>(spacePoint->secondaryMeasurement());
173 
174  const double time2 = strip2->time() -
175  strip2->readoutElement()->distanceToEdge(strip2->layerHash(),
176  Eigen::Rotation2D{M_PI_2}*lPos.block<2,1>(0,0),
177  EdgeSide::readOut)/m_rpcSignalVelocity;
179  calibSP->setTimeMeasurement(0.5*(time1 + time2));
181  cov(2,2) += std::pow(0.5*(time1 - time2), 2);
182  cov(2,1) = cov(1,2) = - strip->readoutElement()->stripPhiPitch() /m_rpcSignalVelocity / std::sqrt(12.)* std::sqrt(cov(2, 2));
183  cov(2,0) = cov(0,2) = - strip->readoutElement()->stripEtaPitch() /m_rpcSignalVelocity / std::sqrt(12.)* std::sqrt(cov(2, 2));
184 
185  } else {
186  calibSP->setTimeMeasurement(time1);
187  if (strip->measuresPhi()) {
188  cov(2,1) = cov(1,2) = - 0.5 *strip->readoutElement()->stripPhiLength() /m_rpcSignalVelocity * std::sqrt(cov(2, 2));
189  } else {
190  cov(2,0) = cov(0,2) = - 0.5 *strip->readoutElement()->stripEtaLength() /m_rpcSignalVelocity * std::sqrt(cov(2, 2));
191  }
192  }
193  calibSP->setCovariance<3>(std::move(cov));
195  ATH_MSG_VERBOSE("Create rpc space point "<<m_idHelperSvc->toString(strip->identify())<<", dimension "<<spacePoint->dimension()
196  << ", at "<<Amg::toString(calibSP->positionInChamber())<<", uncalib time: "
197  <<strip->time()<<", calib time: "<<calibSP->time()<<" cov " <<toString(calibSP->covariance()));
198  break;
199  }
202  calibSP = std::make_unique<CalibratedSpacePoint>(spacePoint, std::move(calibSpPos), std::move(chDir));
203  calibSP->setCovariance<2>(spacePoint->covariance());
204  break;
205  }
206  default:
207  ATH_MSG_WARNING("Do not know how to calibrate "<<m_idHelperSvc->toString(spacePoint->identify()));
208  }
209  return calibSP;
210  }
211 
213  const std::vector<const SpacePoint*>& spacePoints,
214  const Amg::Vector3D& posInChamb,
215  const Amg::Vector3D& dirInChamb,
216  const double timeOffset) const {
217  CalibSpacePointVec calibSpacePoints{};
218  calibSpacePoints.reserve(spacePoints.size());
219  for(const SpacePoint* spacePoint : spacePoints) {
220  CalibSpacePointPtr hit = calibrate(ctx, spacePoint, posInChamb, dirInChamb, timeOffset);
221  if (hit) calibSpacePoints.push_back(std::move(hit));
222  }
223  return calibSpacePoints;
224  }
225  double SpacePointCalibrator::driftVelocity(const EventContext& ctx,
226  const CalibratedSpacePoint& spacePoint) const {
227  if(spacePoint.type() == xAOD::UncalibMeasType::MdtDriftCircleType) {
228  const MuonCalib::MdtFullCalibData* calibConsts = m_mdtCalibrationTool->getCalibConstants(ctx, spacePoint.spacePoint()->identify());
229  const std::optional<double> driftTime = calibConsts->rtRelation->tr()->driftTime(spacePoint.driftRadius());
230  return calibConsts->rtRelation->rt()->driftVelocity(driftTime.value_or(0.));
231  }
232  return 0.;
233  }
234  double SpacePointCalibrator::driftAcceleration(const EventContext& ctx,
235  const CalibratedSpacePoint& spacePoint) const {
236  if(spacePoint.type() == xAOD::UncalibMeasType::MdtDriftCircleType) {
237  const MuonCalib::MdtFullCalibData* calibConsts = m_mdtCalibrationTool->getCalibConstants(ctx, spacePoint.spacePoint()->identify());
238  const std::optional<double> driftTime = calibConsts->rtRelation->tr()->driftTime(spacePoint.driftRadius());
239  return calibConsts->rtRelation->rt()->driftAcceleration(driftTime.value_or(0.));
240  }
241  return 0.;
242  }
243 }
MuonR4::ISpacePointCalibrator::CalibSpacePointVec
std::vector< CalibSpacePointPtr > CalibSpacePointVec
Definition: ISpacePointCalibrator.h:26
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
MdtCalibInput::setTrackDirection
void setTrackDirection(const Amg::Vector3D &trackDir, bool hasPhi)
Sets the direction of the externally determined track.
Definition: MdtCalibInput.cxx:110
MuonR4::SpacePoint::msSector
const MuonGMR4::SpectrometerSector * msSector() const
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:116
xAOD::RpcMeasurement_v1
RpcMeasurement_v1: Class storing the geneic.
Definition: RpcMeasurement_v1.h:21
UtilFunctions.h
MuonR4::SpacePoint::type
xAOD::UncalibMeasType type() const
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:131
MuonR4::SpacePoint::normalInChamber
const Amg::Vector3D & normalInChamber() const
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:125
MdtCalibInput.h
MdtCalibInput
Definition: MdtCalibInput.h:34
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
MuonCalib::MdtFullCalibData::rtRelation
RtRelationPtr rtRelation
Definition: MdtFullCalibData.h:21
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:201
MdtCalibTwinOutput::sigmaZ
double sigmaZ() const
Definition: MdtCalibTwinOutput.cxx:49
MuonR4::CalibratedSpacePoint::State::Outlier
@ Outlier
MuonR4::SpacePoint::secondaryMeasurement
const xAOD::UncalibratedMeasurement * secondaryMeasurement() const
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:110
MdtTwinDriftCircle.h
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
MuonR4::SpacePointCalibrator::SpacePointCalibrator
SpacePointCalibrator(const std::string &type, const std::string &name, const IInterface *parent)
Definition: SpacePointCalibrator.cxx:28
MuonCalib::MdtFullCalibData
class which holds the full set of calibration constants for a given tube
Definition: MdtFullCalibData.h:15
MuonGMR4::RpcReadoutElement::EdgeSide
EdgeSide
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:107
MdtCalibTwinOutput::uncertPrimaryR
double uncertPrimaryR() const
Definition: MdtCalibTwinOutput.cxx:52
MuonR4::toString
std::string toString(const CalibratedSpacePoint::Covariance_t &mat)
Returns the matrix in string.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/UtilFunctions.cxx:75
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
Muon::MdtStatusDriftTime
@ MdtStatusDriftTime
The tube produced a vaild measurement.
Definition: MdtDriftCircleStatus.h:34
xAOD::UncalibMeasType::TgcStripType
@ TgcStripType
MuonR4::CalibSpacePointVec
ISpacePointCalibrator::CalibSpacePointVec CalibSpacePointVec
Definition: SpacePointCalibrator.cxx:22
MuonR4::SpacePointCalibrator::m_rpcSignalVelocity
Gaudi::Property< double > m_rpcSignalVelocity
How fast does an electron signal travel along an rpc strip
Definition: SpacePointCalibrator.h:77
MuonR4::SpacePoint::primaryMeasurement
const xAOD::UncalibratedMeasurement * primaryMeasurement() const
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:107
MuonR4::SegmentFit::AxisDefs::phi
@ phi
Amg::toString
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Definition: GeoPrimitivesToStringConverter.h:40
TRT::Hit::driftTime
@ driftTime
Definition: HitInfo.h:43
MuonR4::SpacePointCalibrator::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: SpacePointCalibrator.h:65
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
UtilFunctions.h
MdtCalibOutput.h
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
MuonR4::CalibratedSpacePoint::State::FailedCalib
@ FailedCalib
xAOD::MdtTwinDriftCircle_v1
Definition: MdtTwinDriftCircle_v1.h:12
MuonR4::CalibratedSpacePoint::State
State
State flag to distinguish different space point states.
Definition: CalibratedSpacePoint.h:24
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::Other
@ Other
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MuonR4::CalibratedSpacePoint::type
xAOD::UncalibMeasType type() const
Returns the space point type.
Definition: CalibratedSpacePoint.cxx:36
MdtCalibInput::setClosestApproach
void setClosestApproach(const Amg::Vector3D &approach)
Sets the closest approach.
Definition: MdtCalibInput.cxx:106
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
MuonR4::SpacePointCalibrator::driftVelocity
double driftVelocity(const EventContext &ctx, const CalibratedSpacePoint &spacePoint) const override final
Definition: SpacePointCalibrator.cxx:225
SpacePointCalibrator.h
MdtCalibOutput::status
MdtDriftCircleStatus status() const
Status of the calibration.
Definition: MdtCalibOutput.cxx:40
MdtCalibOutput
Definition: MdtCalibOutput.h:10
MuonR4::SegmentFit::AxisDefs::eta
@ eta
MuonR4::SpacePointCalibrator::driftAcceleration
double driftAcceleration(const EventContext &ctx, const CalibratedSpacePoint &spacePoint) const override final
Definition: SpacePointCalibrator.cxx:234
MdtDriftCircle.h
MuonR4::CalibratedSpacePoint::State::Valid
@ Valid
MuonR4::SpacePoint
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePoint.h:18
MuonR4::ISpacePointCalibrator::CalibSpacePointPtr
std::unique_ptr< CalibratedSpacePoint > CalibSpacePointPtr
Definition: ISpacePointCalibrator.h:25
MuonR4::SpacePoint::directionInChamber
const Amg::Vector3D & directionInChamber() const
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:122
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
MuonR4::CalibratedSpacePoint::fitState
State fitState() const
Returns the state of the calibrated space point.
Definition: CalibratedSpacePoint.cxx:55
MuonR4::SegmentFit::toInt
constexpr int toInt(const ParamDefs p)
Definition: MuonHoughDefs.h:42
RpcMeasurement.h
MdtCalibTwinOutput::primaryStatus
MdtDriftCircleStatus primaryStatus() const
Definition: MdtCalibTwinOutput.cxx:54
python.PhysicalConstants.c_light
float c_light
Definition: PhysicalConstants.py:63
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonR4::SpacePointCalibrator::m_mdtCalibrationTool
ToolHandle< IMdtCalibrationTool > m_mdtCalibrationTool
Definition: SpacePointCalibrator.h:67
MdtCalibOutput::driftRadiusUncert
double driftRadiusUncert() const
Returns the uncertainty on the drift radius.
Definition: MdtCalibOutput.cxx:20
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
MuonR4::SpacePoint::positionInChamber
const Amg::Vector3D & positionInChamber() const
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:119
MuonR4::SpacePointCalibrator::calibrate
CalibSpacePointPtr calibrate(const EventContext &ctx, const SpacePoint *spacePoint, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay) const override final
Definition: SpacePointCalibrator.cxx:67
MdtCalibTwinOutput
Definition: MdtCalibTwinOutput.h:11
MuonR4::CalibSpacePointPtr
ISpacePointCalibrator::CalibSpacePointPtr CalibSpacePointPtr
Definition: SpacePointCalibrator.cxx:23
SegmentFitterEventData.h
MuonR4::SpacePointCalibrator::m_rpcTimeResolution
Gaudi::Property< double > m_rpcTimeResolution
Definition: SpacePointCalibrator.h:80
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
MdtReadoutElement.h
MuonGMR4::SpectrometerSector::localToGlobalTrans
const Amg::Transform3D & localToGlobalTrans(const ActsGeometryContext &gctx) const
Returns the local -> global tarnsformation from the sector.
Definition: SpectrometerSector.cxx:51
unit
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
Definition: AmgMatrixBasePlugin.h:21
MuonR4::CalibratedSpacePoint
The calibrated Space point is created during the calibration process.
Definition: CalibratedSpacePoint.h:15
MdtFullCalibData.h
MuonR4::SpacePoint::dimension
unsigned int dimension() const
Is the space point a 1D or combined 2D measurement.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:160
MuonR4::SpacePointCalibrator::m_geoCtxKey
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
access to the ACTS geometry context
Definition: SpacePointCalibrator.h:63
MuonR4::SpacePointCalibrator::m_detMgr
const MuonGMR4::MuonDetectorManager * m_detMgr
Definition: SpacePointCalibrator.h:69
MdtCalibTwinOutput::primaryDriftR
double primaryDriftR() const
Definition: MdtCalibTwinOutput.cxx:50
xAOD::MdtDriftCircle_v1
https://gitlab.cern.ch/atlas/athena/-/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecEvent/Mu...
Definition: MdtDriftCircle_v1.h:21
python.FPGATrackSimAnalysisConfig.spacePoints
spacePoints
Definition: FPGATrackSimAnalysisConfig.py:563
MuonR4::CalibratedSpacePoint::spacePoint
const SpacePoint * spacePoint() const
The pointer to the space point out of which this space point has been built.
Definition: CalibratedSpacePoint.cxx:18
MuonR4::AmgSymMatrix
const AmgSymMatrix(2) &SpacePoint
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:150
pow
constexpr int pow(int base, int exp) noexcept
Definition: ap_fixedTest.cxx:15
xAOD::UncalibMeasType::RpcStripType
@ RpcStripType
xAOD::RpcMeasurement_v1::time
float time() const
Returns the time.
MuonR4::CalibratedSpacePoint::driftRadius
double driftRadius() const
The drift radius of the calibrated space point.
Definition: CalibratedSpacePoint.cxx:27
xAOD::UncalibMeasType::MdtDriftCircleType
@ MdtDriftCircleType
MdtCalibOutput::driftRadius
double driftRadius() const
Returns the drift radius of the calibrated object.
Definition: MdtCalibOutput.cxx:19
MuonR4::SpacePoint::identify
const Identifier & identify() const
: Identifier of the primary measurement
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:140
MuonR4::SpacePointCalibrator::initialize
StatusCode initialize() override final
Definition: SpacePointCalibrator.cxx:31