ATLAS Offline Software
Typedefs | Functions
MuonR4::SegmentFitHelpers Namespace Reference

Typedefs

using State = CalibratedSpacePoint::State
 

Functions

double chiSqTerm (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const SpacePoint &measurement, MsgStream &msg)
 Calculates the chi2 contribuation to a linear segment line from an uncalibrated measurement. More...
 
double chiSqTermMdt (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const SpacePoint &measurement, MsgStream &msg)
 Calculates the chi2 contribuation to a linear segment line from an uncalibrated Mdt measurement. More...
 
double chiSqTermStrip (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const SpacePoint &measurement, MsgStream &msg)
 Calculates the chi2 contribuation to a linear segment line from an uncalibrated strip measurement. More...
 
double chiSqTerm (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const double timeShift, std::optional< double > arrivalTime, const CalibratedSpacePoint &measurement, MsgStream &msg)
 Calculates the chi2 contribution from the given measurement. More...
 
double chiSqTermMdt (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const CalibratedSpacePoint &mdtSpacePoint, MsgStream &msg)
 Calculates the chi2 contribution from a mdt space point to the segment line. More...
 
double chiSqTermStrip (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const double timeShift, std::optional< double > arrivalTime, const CalibratedSpacePoint &strip, MsgStream &msg)
 Calculates the chi2 contribution from a strip measurement to the segment line. More...
 
double chiSqTermBeamspot (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const CalibratedSpacePoint &beamSpotMeas, MsgStream &msg)
 Calculates the chi2 contribution from an external beam spot constraint. More...
 
std::vector< int > driftSigns (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const std::vector< const SpacePoint * > &uncalibHits, MsgStream &msg)
 Calculates whether a segment line travereses the tube measurements on the left (-1) or right (1) side of the tube wire. More...
 
std::vector< int > driftSigns (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const std::vector< std::unique_ptr< CalibratedSpacePoint >> &calibHits, MsgStream &msg)
 Calculates whether a segment line travereses the tube measurements on the left (-1) or right (1) side of the tube wire. More...
 
int driftSign (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const SpacePoint &uncalibHit, MsgStream &msg)
 Calculates whether a segement line travereses the tube measurement on the left (-1) or right (1) side of the tube wire. More...
 
int driftSign (const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const CalibratedSpacePoint &calibHit, MsgStream &msg)
 Calculates whether a segement line travereses the tube measurement on the left (-1) or right (1) side of the tube wire. More...
 

Typedef Documentation

◆ State

Definition at line 25 of file SegmentFitHelperFunctions.cxx.

Function Documentation

◆ chiSqTerm() [1/2]

double MuonR4::SegmentFitHelpers::chiSqTerm ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const double  timeShift,
std::optional< double >  arrivalTime,
const CalibratedSpacePoint measurement,
MsgStream &  msg 
)

Calculates the chi2 contribution from the given measurement.

Currently, MdtDriftCircles, Rpc & Tgc as well as the Beamspot are supported

Parameters
posInChamberPosition of the segment in the sector frame
dirInChamberDirection of flight of the segment expressed in the sector frame
timeShiftShift from the nominal arrival time, that's calculated as R / c.
arrivalTimeArrival time of the particle at the segment's refernce plane. If the arrival time is passed, the timing information of the measurement is explicitly taken into account.
measurementSpace point to which the chi2 term is calculated
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Definition at line 97 of file SegmentFitHelperFunctions.cxx.

100  {
101  double chi2{0.};
102  switch (hit.type()) {
104  chi2 = chiSqTermMdt(segPos, segDir, hit, msg);
105  break;
109  chi2 = chiSqTermStrip(segPos, segDir, timeOffset, arrivalTime, hit, msg);
110  break;
112  chi2 = chiSqTermBeamspot(segPos,segDir, hit, msg);
113  break;
114  default:
115  if (msg.level() <= MSG::WARNING) {
116  msg<<MSG::WARNING<<__FILE__<<":"<<__LINE__<<" - Unsupported measurement: "
117  <<hit.spacePoint()->msSector()->idHelperSvc()->toString(hit.spacePoint()->identify())<<endmsg;
118  }
119  }
120  return chi2;
121  }

◆ chiSqTerm() [2/2]

double MuonR4::SegmentFitHelpers::chiSqTerm ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const SpacePoint measurement,
MsgStream &  msg 
)

Calculates the chi2 contribuation to a linear segment line from an uncalibrated measurement.

Currently only Mdt, Tgc & Rpc are supported

Parameters
posInChamberPosition of the chamber crossing expressed at z=0
dirInChamberSegment direction inside the chamber
measurementMdt measurement
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Definition at line 28 of file SegmentFitHelperFunctions.cxx.

31  {
32  double chi2{0.};
33  switch (measurement.type()) {
35  chi2 = chiSqTermMdt(posInChamber, dirInChamber,
36  measurement, msg);
37  break;
40  chi2 = chiSqTermStrip(posInChamber, dirInChamber, measurement, msg);
41  break;
42  default:
43  if (msg.level() <= MSG::WARNING) {
44  msg<<MSG::WARNING<<__FILE__<<":"<<__LINE__<<" - Unsupported measurement: "
45  <<measurement.msSector()->idHelperSvc()->toString(measurement.identify())<<endmsg;
46  }
47  }
48  return chi2;
49  }

◆ chiSqTermBeamspot()

double MuonR4::SegmentFitHelpers::chiSqTermBeamspot ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const CalibratedSpacePoint beamSpotMeas,
MsgStream &  msg 
)

Calculates the chi2 contribution from an external beam spot constraint.

Parameters
posInChamberPosition of the segment in the sector frame
dirInChamberDirection of flight of the segment expressed in the sector frame
beamSpotMeasStrip measurement to consider.
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Invalid spacepoints do not contribute to the chi2

Invalid spacepoints do not contribute to the chi2

Definition at line 188 of file SegmentFitHelperFunctions.cxx.

191  {
192 
194  if (beamSpotMeas.fitState() != State::Valid) return 0.;
195  const Amg::Vector3D planeCrossing{segPos + Amg::intersect<3>(segPos, segDir, Amg::Vector3D::UnitZ(),
196  beamSpotMeas.positionInChamber().z()).value_or(0) * segDir};
197 
198  const Amg::Vector2D residual = (planeCrossing - beamSpotMeas.positionInChamber()).block<2,1>(0,0);
199  const double chi2 = contract(inverse(beamSpotMeas.covariance()), residual);
200  if (msg.level() <= printLvl) {
201  msg<<printLvl<<"Print beamspot constraint "<<Amg::toString(beamSpotMeas.positionInChamber())<<endmsg;
202  msg<<printLvl<<"Segment: "<<Amg::toString(segPos) <<" + x "<<Amg::toString(segDir)<<endmsg;
203  msg<<printLvl<<"Plane crossing: "<<Amg::toString(planeCrossing)<<", residual: "<<Amg::toString(residual)
204  <<", covariance: "<<std::endl<<toString(beamSpotMeas.covariance())<<std::endl
205  <<", inverse: "<<std::endl<<toString(inverse(beamSpotMeas.covariance()))<<std::endl
206  <<"chi2 term: "<<chi2<<endmsg;
207  }
208  return chi2;
209  }

◆ chiSqTermMdt() [1/2]

double MuonR4::SegmentFitHelpers::chiSqTermMdt ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const CalibratedSpacePoint mdtSpacePoint,
MsgStream &  msg 
)

Calculates the chi2 contribution from a mdt space point to the segment line.

Parameters
posInChamberPosition of the segment in the sector frame
dirInChamberDirection of flight of the segment expressed in the sector frame
mdtSpacePointSpace point to which the chi2 term is calculated
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Invalid spacepoints do not contribute to the chi2

Invalid spacepoints do not contribute to the chi2

Definition at line 123 of file SegmentFitHelperFunctions.cxx.

126  {
128  if (hit.fitState() != State::Valid) return 0.;
129  const Amg::Vector3D& hitPos{hit.positionInChamber()};
130  const Amg::Vector3D& hitDir{hit.directionInChamber()};
131 
132  // Calculate the closest point along the segment to the wire
133  const Amg::Vector3D closePointSeg = segPos + Amg::intersect<3>(hitPos, hitDir, segPos, segDir).value_or(0)* segDir;
134  // Closest point along the wire to the segment
135  const Amg::Vector3D closePointWire = hitPos + hitDir.dot(closePointSeg - hitPos) * hitDir;
137  residual[Amg::x] = (hitPos - closePointSeg).x();
138  residual[Amg::y] = (closePointWire - closePointSeg).mag() - hit.driftRadius();
139  const double chi2{contract(inverse(hit.covariance()), residual)};
140  if (msg.level() <= printLvl) {
141  const SpacePoint* sp = hit.spacePoint();
142  msg<<printLvl<<"Calibrated measurement "<<sp->msSector()->idHelperSvc()->toString(sp->identify());
143  msg<<printLvl<<", position: "<<Amg::toString(hit.positionInChamber())<<", driftRadius: "<<hit.driftRadius()
144  <<", dimension: "<<sp->dimension()<<endmsg;
145  msg<<printLvl<<", segment: "<<Amg::toString(segPos) <<" + x "<<Amg::toString(segDir)<<endmsg;
146  msg<<printLvl<<", residual: "<<Amg::toString(residual)<<"/ "<<
147  (Amg::lineDistance<3>(hitPos, hitDir, segPos, segDir) -hit.driftRadius())<<std::endl <<", covariance: "<<std::endl
148  <<toString(hit.covariance())<<", inverse: "
149  <<std::endl<<toString(inverse(hit.covariance()))<<", "<<endmsg;
150  msg<<printLvl<<"Chi2 term: "<<chi2<<endmsg;
151  }
152  assert(chi2 >=0.);
153  return chi2;
154  }

◆ chiSqTermMdt() [2/2]

double MuonR4::SegmentFitHelpers::chiSqTermMdt ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const SpacePoint measurement,
MsgStream &  msg 
)

Calculates the chi2 contribuation to a linear segment line from an uncalibrated Mdt measurement.

Parameters
posInChamberPosition of the chamber crossing expressed at z=0
dirInChamberSegment direction inside the chamber
measurementMdt measurement
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Definition at line 50 of file SegmentFitHelperFunctions.cxx.

53  {
54 
56 
57  residual[Amg::y] = std::abs(Amg::signedDistance(mdtSP.positionInChamber(), mdtSP.directionInChamber(), segPos, segDir))
58  - mdtSP.driftRadius();
59  const double chi2{residual.dot(mdtSP.covariance().inverse()* residual)};
60  if (msg.level() <= printLvl) {
61  msg<<printLvl<<"Measurement "<<mdtSP.msSector()->idHelperSvc()->toString(mdtSP.identify());
62  msg<<printLvl<<", position: "<<Amg::toString(mdtSP.positionInChamber())
63  <<", driftRadius: "<<mdtSP.driftRadius()
64  <<", status: "<<static_cast<const xAOD::MdtDriftCircle*>(mdtSP.primaryMeasurement())->status()<<endmsg;
65  msg<<printLvl<<"segment: "<<Amg::toString(segPos) <<" + x "<<Amg::toString(segDir)<<","<<endmsg;
66  msg<<printLvl<<"residual: "<<Amg::toString(residual) <<", covariance: "<<std::endl
67  <<Amg::toString(mdtSP.covariance())<<std::endl<<", inverse: "
68  <<std::endl<<Amg::toString(mdtSP.covariance().inverse())<<", "<<endmsg;
69  msg<<printLvl<<"chi2 term: "<<chi2<<endmsg;
70  }
71  assert(chi2 >=0.);
72  return chi2;
73  }

◆ chiSqTermStrip() [1/2]

double MuonR4::SegmentFitHelpers::chiSqTermStrip ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const double  timeShift,
std::optional< double >  arrivalTime,
const CalibratedSpacePoint strip,
MsgStream &  msg 
)

Calculates the chi2 contribution from a strip measurement to the segment line.

Parameters
posInChamberPosition of the segment in the sector frame
dirInChamberDirection of flight of the segment expressed in the sector frame
timeShiftShift from the nominal arrival time, that's calculated as R / c.
arrivalTimeArrival time of the particle at the segment's refernce plane. If the arrival time is passed, the timing information of the measurement is explicitly taken into account.
stripStrip measurement to consider.
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Invalid spacepoints do not contribute to the chi2

Invalid spacepoints do not contribute to the chi2

Definition at line 155 of file SegmentFitHelperFunctions.cxx.

160  {
161 
163  if (strip.fitState() != State::Valid) return 0.;
164 
165  const SpacePoint* spacePoint = strip.spacePoint();
166  const Amg::Vector3D normal = spacePoint->planeNormal();
167  std::optional<double> travelledDist = Amg::intersect<3>(segPos, segDir, normal, normal.dot(spacePoint->positionInChamber()));
168  const Amg::Vector3D planeCrossing = segPos + travelledDist.value_or(0) * segDir;
169  Amg::Vector3D residual{(planeCrossing - strip.positionInChamber())};
170  if (strip.measuresTime() && arrivalTime) {
171  residual[Amg::z] = strip.time() - (*arrivalTime) - travelledDist.value_or(0) * c_inv - offsetTime;
172  } else {
173  residual[Amg::z] = 0;
174  }
175  const double chi2 = contract(inverse(strip.covariance()), residual);
176  if (msg.level() <= printLvl) {
177  msg<<printLvl<<"Calibrated measurement "<<spacePoint->msSector()->idHelperSvc()->toString(spacePoint->identify())
178  <<", position: "<<Amg::toString(strip.positionInChamber())<<endmsg;
179  msg<<printLvl<<"Segment: "<<Amg::toString(segPos) <<" + x "<<Amg::toString(segDir)<<endmsg;
180  msg<<printLvl<<"Plane crossing: "<<Amg::toString(planeCrossing)<<", residual: "<<Amg::toString(residual)
181  <<", covariance: "<<std::endl<<toString(strip.covariance())<<", inverse: "
182  <<std::endl<<toString(inverse(strip.covariance()))<<endmsg;
183  msg<<printLvl<<" -- final chi2 term: "<<chi2<<endmsg;
184  }
185  assert(chi2 >=0.);
186  return chi2;
187  }

◆ chiSqTermStrip() [2/2]

double MuonR4::SegmentFitHelpers::chiSqTermStrip ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const SpacePoint measurement,
MsgStream &  msg 
)

Calculates the chi2 contribuation to a linear segment line from an uncalibrated strip measurement.

Currently only Tgc & Rpc are supported

Parameters
posInChamberPosition of the chamber crossing expressed at z=0
dirInChamberSegment direction inside the chamber
measurementMdt measurement
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Definition at line 74 of file SegmentFitHelperFunctions.cxx.

77  {
78  const Amg::Vector3D normal = stripSP.planeNormal();
79  std::optional<double> travelledDist = Amg::intersect<3>(segPos, segDir, normal, normal.dot(stripSP.positionInChamber()));
80  const Amg::Vector3D planeCrossing = segPos + travelledDist.value_or(0) * segDir;
81 
82  const Amg::Vector2D residual{(planeCrossing - stripSP.positionInChamber()).block<2,1>(0,0)};
83  const double chi2 = residual.dot(stripSP.covariance().inverse()* residual);
84  if (msg.level() <= printLvl) {
85  msg<<printLvl<<"Measurement "<<stripSP.msSector()->idHelperSvc()->toString(stripSP.identify())
86  <<", position: "<<Amg::toString(stripSP.positionInChamber())<<endmsg;
87  msg<<printLvl<<"Segment: "<<Amg::toString(segPos) <<" + x "<<Amg::toString(segDir)<<endmsg;
88  msg<<printLvl<<"Plane crossing: "<<Amg::toString(planeCrossing)<<", residual: "<<Amg::toString(residual)
89  <<", covariance: " <<std::endl<<Amg::toString(stripSP.covariance())<<", inverse: "
90  <<std::endl<<Amg::toString(stripSP.covariance().inverse())<<","<<endmsg;
91  msg<<printLvl<<"chi2 term: "<<chi2<<endmsg;
92  }
93  assert(chi2 >=0.);
94  return chi2;
95  }

◆ driftSign() [1/2]

int MuonR4::SegmentFitHelpers::driftSign ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const CalibratedSpacePoint calibHit,
MsgStream &  msg 
)

Calculates whether a segement line travereses the tube measurement on the left (-1) or right (1) side of the tube wire.

Strip measurements & nullptrs are assigned with 0

Parameters
posInChamberPosition of the segment in the sector frame
dirInChamberDirection of flight of the segment expressed in the sector frame
calibHitCalibrated hit to consider
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Definition at line 245 of file SegmentFitHelperFunctions.cxx.

246  {
247  if (calibHit.type() != xAOD::UncalibMeasType::MdtDriftCircleType){
248  return 0;
249  }
250  const double signedDist = Amg::signedDistance(segPos, segDir, calibHit.positionInChamber(), calibHit.directionInChamber());
251  if (msg.level() <= printLvl) {
252  const SpacePoint* sp = calibHit.spacePoint();
253  msg<<printLvl<<"Hit "<<sp->msSector()->idHelperSvc()->toString(sp->identify())<<" drift radius "<<calibHit.driftRadius()
254  <<", signed distance: "<<signedDist<<", unsigned distance: "
255  <<Amg::lineDistance<3>(segPos, segDir, calibHit.positionInChamber(), calibHit.directionInChamber())<<endmsg;
256  }
257  return sign(signedDist);
258  }

◆ driftSign() [2/2]

int MuonR4::SegmentFitHelpers::driftSign ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const SpacePoint uncalibHit,
MsgStream &  msg 
)

Calculates whether a segement line travereses the tube measurement on the left (-1) or right (1) side of the tube wire.

Strip measurements & nullptrs are assigned with 0

Parameters
posInChamberPosition of the segment in the sector frame
dirInChamberDirection of flight of the segment expressed in the sector frame
uncalibHitUncalibrated hit to consider
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Definition at line 232 of file SegmentFitHelperFunctions.cxx.

233  {
235  return 0;
236  }
237  const double signedDist = Amg::signedDistance(segPos, segDir, sp.positionInChamber(), sp.directionInChamber());
238  if (msg.level() <= printLvl) {
239  msg<<printLvl<<"Hit "<<sp.msSector()->idHelperSvc()->toString(sp.identify())<<" drift radius "<<sp.driftRadius()
240  <<", signed distance: "<<signedDist<<", unsigned distance: "
241  <<Amg::lineDistance<3>(segPos, segDir, sp.positionInChamber(), sp.directionInChamber())<<endmsg;
242  }
243  return sign(signedDist);
244  }

◆ driftSigns() [1/2]

std::vector< int > MuonR4::SegmentFitHelpers::driftSigns ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const std::vector< const SpacePoint * > &  uncalibHits,
MsgStream &  msg 
)

Calculates whether a segment line travereses the tube measurements on the left (-1) or right (1) side of the tube wire.

Strip measurements & nullptrs are assigned with 0

Parameters
posInChamberPosition of the segment in the sector frame
dirInChamberDirection of flight of the segment expressed in the sector frame
uncalibHitsList of uncalibrated measurements
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Definition at line 210 of file SegmentFitHelperFunctions.cxx.

213  {
214 
215  std::vector<int> signs{};
216  signs.reserve(uncalibHits.size());
217  for (const SpacePoint* sp : uncalibHits) {
218  signs.push_back( sp ? driftSign(segPos,segDir, *sp, msg) : 0);
219  }
220  return signs;
221  }

◆ driftSigns() [2/2]

std::vector< int > MuonR4::SegmentFitHelpers::driftSigns ( const Amg::Vector3D posInChamber,
const Amg::Vector3D dirInChamber,
const std::vector< std::unique_ptr< CalibratedSpacePoint >> &  calibHits,
MsgStream &  msg 
)

Calculates whether a segment line travereses the tube measurements on the left (-1) or right (1) side of the tube wire.

Strip measurements & nullptrs are assigned with 0

Parameters
posInChamberPosition of the segment in the sector frame
dirInChamberDirection of flight of the segment expressed in the sector frame
calibHitsList of calibrated measurements
msgReference to the callers msgStream. If the level is VERBOSE, then all relevant parameters are printed

Definition at line 222 of file SegmentFitHelperFunctions.cxx.

224  {
225  std::vector<int> signs{};
226  signs.reserve(calibHits.size());
227  for (const std::unique_ptr<CalibratedSpacePoint>& hit : calibHits) {
228  signs.push_back(driftSign(segPos,segDir, *hit, msg));
229  }
230  return signs;
231  }
ClusterSeg::residual
@ residual
Definition: ClusterNtuple.h:20
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
Amg::y
@ y
Definition: GeoPrimitives.h:35
xAOD::UncalibMeasType::MMClusterType
@ MMClusterType
x
#define x
keylayer_zslicemap.strip
strip
Definition: keylayer_zslicemap.py:151
SpacePoint
Definition: Trigger/TrigAccel/TrigCudaFitter/src/SpacePoint.h:7
xAOD::UncalibMeasType::TgcStripType
@ TgcStripType
MuonR4::SegmentFitHelpers::driftSign
int driftSign(const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const SpacePoint &uncalibHit, MsgStream &msg)
Calculates whether a segement line travereses the tube measurement on the left (-1) or right (1) side...
Definition: SegmentFitHelperFunctions.cxx:232
Amg::z
@ z
Definition: GeoPrimitives.h:36
MuonR4::SegmentFitHelpers::chiSqTermStrip
double chiSqTermStrip(const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const SpacePoint &measurement, MsgStream &msg)
Calculates the chi2 contribuation to a linear segment line from an uncalibrated strip measurement.
Definition: SegmentFitHelperFunctions.cxx:74
Amg::toString
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Definition: GeoPrimitivesToStringConverter.h:40
MuonR4::SegmentFitHelpers::chiSqTermMdt
double chiSqTermMdt(const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const SpacePoint &measurement, MsgStream &msg)
Calculates the chi2 contribuation to a linear segment line from an uncalibrated Mdt measurement.
Definition: SegmentFitHelperFunctions.cxx:50
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
MuonR4::inverse
CalibratedSpacePoint::Covariance_t inverse(const CalibratedSpacePoint::Covariance_t &mat)
Inverts the parsed matrix.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/UtilFunctions.cxx:65
Amg::x
@ x
Definition: GeoPrimitives.h:34
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:523
sign
int sign(int a)
Definition: TRT_StrawNeighbourSvc.h:107
xAOD::Other
@ Other
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Amg::signedDistance
double signedDistance(const Amg::Vector3D &posA, const Amg::Vector3D &dirA, const Amg::Vector3D &posB, const Amg::Vector3D &dirB)
Calculates the signed distance between two lines in 3D space.
Definition: GeoPrimitivesHelpers.h:329
merge.status
status
Definition: merge.py:17
xAOD::MdtDriftCircle_v1
https://gitlab.cern.ch/atlas/athena/-/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecEvent/Mu...
Definition: MdtDriftCircle_v1.h:21
xAOD::UncalibMeasType::RpcStripType
@ RpcStripType
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
xAOD::UncalibMeasType::MdtDriftCircleType
@ MdtDriftCircleType
mag
Scalar mag() const
mag method
Definition: AmgMatrixBasePlugin.h:26
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32
MuonR4::SegmentFitHelpers::chiSqTermBeamspot
double chiSqTermBeamspot(const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const CalibratedSpacePoint &beamSpotMeas, MsgStream &msg)
Calculates the chi2 contribution from an external beam spot constraint.
Definition: SegmentFitHelperFunctions.cxx:188
MuonR4::contract
double contract(const CalibratedSpacePoint::Covariance_t &mat, const Amg::Vector3D &a, const Amg::Vector3D &b)
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/UtilFunctions.cxx:13