ATLAS Offline Software
CalibratedSpacePoint.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONSPACEPOINT_CALIBSPACEPOINT_H
5 #define MUONSPACEPOINT_CALIBSPACEPOINT_H
6 
8 
9 namespace MuonR4{
15  public:
24  enum class State : uint8_t {
25  Valid = 0,
26  FailedCalib = 1,
27  Outlier = 2,
28  };
29 
34  CalibratedSpacePoint(const SpacePoint* uncalibSpacePoint,
35  Amg::Vector3D&& posInChamber,
37 
38  ~CalibratedSpacePoint() = default;
39  /*** @brief: Position of the space point inside the chamber */
40  const Amg::Vector3D& localPosition() const;
41  /*** @brief: Returns the direction parallel to the primary channel, i.e. the strip or the wire */
42  const Amg::Vector3D& sensorDirection() const;
43  /*** @brief: Returns the vector pointing to the adjacent channel in the chamber */
44  const Amg::Vector3D& toNextSensor() const;
46  const Amg::Vector3D& planeNormal() const;
48  double time() const;
50  bool isStraw() const;
52  bool hasTime() const;
54  bool measuresLoc0() const;
56  bool measuresLoc1() const;
58  double driftRadius() const;
60  const Cov_t& covariance() const;
61 
63  void setCovariance(const Cov_t& cov);
66  void setDriftRadius(const double r);
67 
69  const SpacePoint* spacePoint() const;
75  void setTimeMeasurement(double t);
77  bool measuresPhi() const;
79  bool measuresEta() const;
81  State fitState() const;
83  void setFitState(State st);
85  unsigned dimension() const;
86 
87  friend std::ostream& operator<<(std::ostream& ostr, const CalibratedSpacePoint& sp) {
88  sp.print(ostr);
89  return ostr;
90  }
91  private:
92  void print(std::ostream& ostr) const;
93  const SpacePoint* m_parent{nullptr};
95 
96  double m_driftRadius{0.};
97  Cov_t m_cov{Acts::filledArray<double, 3>(0.)};
98 
99  double m_time{0.};
103  };
104  static_assert(Acts::Experimental::CompositeSpacePoint<CalibratedSpacePoint>);
105 
106 
107 }
108 
109 #endif
MuonR4::CalibratedSpacePoint::print
void print(std::ostream &ostr) const
Definition: CalibratedSpacePoint.cxx:56
beamspotman.r
def r
Definition: beamspotman.py:672
MuonR4::CalibratedSpacePoint::toNextSensor
const Amg::Vector3D & toNextSensor() const
Definition: CalibratedSpacePoint.cxx:21
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:558
MuonR4::CalibratedSpacePoint::covariance
const Cov_t & covariance() const
Returns the covariance array.
Definition: CalibratedSpacePoint.cxx:30
MuonR4::SpacePoint::Cov_t
std::array< double, 3 > Cov_t
Abrivation of the covariance type.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePoint.h:27
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:200
SpacePoint.h
MuonR4::CalibratedSpacePoint::State::Outlier
@ Outlier
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MuonR4::CalibratedSpacePoint::localPosition
const Amg::Vector3D & localPosition() const
Definition: CalibratedSpacePoint.cxx:16
MuonR4::CalibratedSpacePoint::m_posInChamber
Amg::Vector3D m_posInChamber
Definition: CalibratedSpacePoint.h:94
MuonR4::CalibratedSpacePoint::m_cov
Cov_t m_cov
Definition: CalibratedSpacePoint.h:97
MuonR4::CalibratedSpacePoint::m_measuresTime
bool m_measuresTime
By default the Mdt may measure time.
Definition: CalibratedSpacePoint.h:101
MuonR4::CalibratedSpacePoint::measuresPhi
bool measuresPhi() const
Returns whether the calibrated space point measures phi.
Definition: CalibratedSpacePoint.cxx:49
MuonR4::CalibratedSpacePoint::setDriftRadius
void setDriftRadius(const double r)
Update the drift radius of the space point measurement.
Definition: CalibratedSpacePoint.cxx:40
MuonR4::CalibratedSpacePoint::isStraw
bool isStraw() const
Returns whether the measurement is a Mdt.
Definition: CalibratedSpacePoint.cxx:36
MuonR4::CalibratedSpacePoint::hasTime
bool hasTime() const
Returns whether the measurement carries time information.
Definition: CalibratedSpacePoint.cxx:33
python.getProblemFolderFromLogs.st
st
Definition: getProblemFolderFromLogs.py:68
MuonR4::CalibratedSpacePoint::State::FailedCalib
@ FailedCalib
MuonR4::CalibratedSpacePoint::m_driftRadius
double m_driftRadius
Definition: CalibratedSpacePoint.h:96
MuonR4::CalibratedSpacePoint::State
State
State flag to distinguish different space point states.
Definition: CalibratedSpacePoint.h:24
MuonR4::CalibratedSpacePoint::type
xAOD::UncalibMeasType type() const
Returns the space point type.
Definition: CalibratedSpacePoint.cxx:41
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:24
MuonR4::CalibratedSpacePoint::setTimeMeasurement
void setTimeMeasurement(double t)
Set the time measurement.
Definition: CalibratedSpacePoint.cxx:45
MuonR4::CalibratedSpacePoint::fitState
State fitState() const
Returns the state of the calibrated space point.
Definition: CalibratedSpacePoint.cxx:51
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonR4::CalibratedSpacePoint::m_state
State m_state
Definition: CalibratedSpacePoint.h:102
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
MuonR4::CalibratedSpacePoint::~CalibratedSpacePoint
~CalibratedSpacePoint()=default
MuonR4::CalibratedSpacePoint::dimension
unsigned dimension() const
Returns the local dimension of the measurement.
Definition: CalibratedSpacePoint.cxx:53
MuonR4::CalibratedSpacePoint::setCovariance
void setCovariance(const Cov_t &cov)
Set the covariance matrix of the calibrated space point.
Definition: CalibratedSpacePoint.cxx:54
MuonR4::CalibratedSpacePoint::Cov_t
SpacePoint::Cov_t Cov_t
Definition: CalibratedSpacePoint.h:16
MuonR4::CalibratedSpacePoint
The calibrated Space point is created during the calibration process.
Definition: CalibratedSpacePoint.h:14
MuonR4::CalibratedSpacePoint::m_time
double m_time
Definition: CalibratedSpacePoint.h:99
MuonR4::CalibratedSpacePoint::planeNormal
const Amg::Vector3D & planeNormal() const
Returns the vector pointing out of the measurement plane.
Definition: CalibratedSpacePoint.cxx:25
xAOD::UncalibMeasType
UncalibMeasType
Define the type of the uncalibrated measurement.
Definition: MeasurementDefs.h:25
MuonR4::CalibratedSpacePoint::measuresLoc0
bool measuresLoc0() const
Returns whether the measurement constains the non-bending direction.
Definition: CalibratedSpacePoint.cxx:34
MuonR4::SpacePoint::CovIdx
CovIdx
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePoint.h:30
MuonR4::CalibratedSpacePoint::setFitState
void setFitState(State st)
Set the state of the calibrated space point.
Definition: CalibratedSpacePoint.cxx:52
MuonR4::CalibratedSpacePoint::operator<<
friend std::ostream & operator<<(std::ostream &ostr, const CalibratedSpacePoint &sp)
Definition: CalibratedSpacePoint.h:87
MuonR4::CalibratedSpacePoint::sensorDirection
const Amg::Vector3D & sensorDirection() const
Definition: CalibratedSpacePoint.cxx:17
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:15
MuonR4::CalibratedSpacePoint::CalibratedSpacePoint
CalibratedSpacePoint(const SpacePoint *uncalibSpacePoint, Amg::Vector3D &&posInChamber, State st=State::Valid)
Standard constructor.
Definition: CalibratedSpacePoint.cxx:8
MuonR4::CalibratedSpacePoint::driftRadius
double driftRadius() const
: Returns the size of the drift radius
Definition: CalibratedSpacePoint.cxx:37
xAOD::UncalibMeasType::MdtDriftCircleType
@ MdtDriftCircleType
MuonR4::CalibratedSpacePoint::time
double time() const
Returns the measurement's recorded time.
Definition: CalibratedSpacePoint.cxx:44
MuonR4::CalibratedSpacePoint::measuresLoc1
bool measuresLoc1() const
Returns whether the measurement constains the bending direction.
Definition: CalibratedSpacePoint.cxx:35
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32
MuonR4::CalibratedSpacePoint::m_parent
const SpacePoint * m_parent
Definition: CalibratedSpacePoint.h:93
MuonR4::CalibratedSpacePoint::measuresEta
bool measuresEta() const
Returns whether the calibrated space point measures eta.
Definition: CalibratedSpacePoint.cxx:50