ATLAS Offline Software
SegmentActsRefitAlg.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #include "SegmentActsRefitAlg.h"
5 
11 
16 #include "GaudiKernel/PhysicalConstants.h"
18 #include "CLHEP/Random/RandGaussZiggurat.h"
23 
24 #include "Acts/Surfaces/PlaneSurface.hpp"
25 namespace{
26  constexpr double straightQoverP = 1. / (100. *Gaudi::Units::TeV);
27  constexpr double pseudoSurfDist = 5.*Gaudi::Units::cm;
29 }
30 
31 namespace MuonR4{
32  using namespace SegmentFit;
33 
35  ATH_CHECK(m_readKey.initialize());
36  ATH_CHECK(m_writeKey.initialize());
37  ATH_CHECK(m_linkKey.initialize());
38  ATH_CHECK(m_localParsKey.initialize());
39  ATH_CHECK(m_seedParsKey.initialize());
40  ATH_CHECK(m_surfKey.initialize());
41  ATH_CHECK(m_auxMeasProv.initialize(m_writeKey.key()));
42 
43  ATH_CHECK(m_idHelperSvc.retrieve());
44  ATH_CHECK(m_trackFitTool.retrieve());
45  ATH_CHECK(m_trackingGeometryTool.retrieve());
46  ATH_CHECK(m_extrapolationTool.retrieve());
47  ATH_CHECK(m_segSelector.retrieve());
48 
49  return StatusCode::SUCCESS;
50  }
51  std::tuple<Amg::Vector3D, Amg::Vector3D>
53  const MuonR4::Segment& segment,
54  CLHEP::HepRandomEngine* engine) const{
55  auto segPars = localSegmentPars(gctx, segment);
57  for (ParamDefs precPar : {ParamDefs::y0, ParamDefs::theta,
59  if (precPar == ParamDefs::x0 && !segment.summary().nPhiHits) {
60  break;
61  }
62  const unsigned idx = toInt(precPar);
63  segPars[idx] = CLHEP::RandGaussZiggurat::shoot(engine, segPars[idx],
64  m_smearRange*Amg::error(segment.covariance(), idx));
65  }
66  const auto [locPos, locDir] = makeLine(segPars);
67  const Amg::Transform3D& locToGlob{segment.msSector()->localToGlobalTrans(gctx)};
68  return std::make_tuple(locToGlob*locPos, locToGlob.linear() * locDir);
69  }
70  StatusCode SegmentActsRefitAlg::execute(const EventContext& ctx) const {
71 
72  const xAOD::MuonSegmentContainer* segments{nullptr};
73  ATH_CHECK(SG::get(segments, m_readKey, ctx));
75  const ActsGeometryContext& gctx{m_trackingGeometryTool->getGeometryContext(ctx)};
76  const Acts::GeometryContext tgContext = gctx.context();
77  const Acts::MagneticFieldContext mfContext = m_extrapolationTool->getMagneticFieldContext(ctx);
78  const Acts::CalibrationContext calContext = ActsTrk::getCalibrationContext(ctx);
79 
81  ATHRNG::RNGWrapper* rngWrapper = m_rndmSvc->getEngine(this, name());
82  rngWrapper->setSeed(name(), ctx);
83  CLHEP::HepRandomEngine* randEngine = rngWrapper->getEngine(ctx);
84 
85  SG::WriteHandle outHandle{m_writeKey, ctx};
86  ATH_CHECK(outHandle.record(std::make_unique<xAOD::MuonSegmentContainer>(),
87  std::make_unique<xAOD::MuonSegmentAuxContainer>()));
88 
89  SG::WriteHandle surfaceHandle{m_surfKey, ctx};
90  ATH_CHECK(surfaceHandle.record(std::make_unique<xAOD::TrackSurfaceContainer>(),
91  std::make_unique<xAOD::TrackStateAuxContainer>()));
92 
94  auto auxMeasHandle = m_auxMeasProv.makeHandle(ctx, *surfaceHandle);
95 
100 
101  ParDecor_t dec_locPars{m_localParsKey, ctx};
102  ParDecor_t dec_seedPars{m_seedParsKey, ctx};
104  for (const xAOD::MuonSegment* seg: *segments){
105  const MuonR4::Segment* reFitMe = MuonR4::detailedSegment(*seg);
106  const Amg::Transform3D& sectorTrf{reFitMe->msSector()->localToGlobalTrans(gctx)};
107  const GeoTrf::CoordEulerAngles sectorAngles = GeoTrf::getCoordRotationAngles(sectorTrf);
109  std::vector<const xAOD::UncalibratedMeasurement*> startMeas = MuonR4::collectMeasurements(*reFitMe);
110 
111  const auto* refMeas = startMeas.front();
112 
113  const Amg::Vector3D firstSurfPos{surfAcc.get(refMeas)->transform(tgContext).translation()};
114  if (!reFitMe->summary().nPhiHits) {
115  const Amg::Vector3D planeNormal = sectorTrf.linear().col(2);
116 
117  const Amg::Vector3D lastSurfPos = surfAcc.get(startMeas.back())->transform(tgContext).translation();
119 
120  const Amg::Transform3D trfBeneath = GeoTrf::GeoTransformRT{sectorAngles, firstSurfPos - pseudoSurfDist * planeNormal};
121  const Amg::Transform3D trfAbove = GeoTrf::GeoTransformRT{sectorAngles, lastSurfPos + pseudoSurfDist * planeNormal};
122 
123  auto surfBeneath = Acts::Surface::makeShared<Acts::PlaneSurface>(trfBeneath);
124  auto surfAbove = Acts::Surface::makeShared<Acts::PlaneSurface>(trfAbove);
125  const double covVal = std::pow(1.*Gaudi::Units::cm, 2);
126  startMeas.insert(startMeas.begin(), auxMeasHandle.newMeasurement<1>(surfBeneath, ProjectorType::e1DimNoTime, AmgSymMatrix(1){covVal}));
127  startMeas.insert(startMeas.end(), auxMeasHandle.newMeasurement<1>(surfAbove, ProjectorType::e1DimNoTime, AmgSymMatrix(1){covVal}));
128 
129  } else if (const auto& firstMeas = reFitMe->measurements().front(); firstMeas->type() == xAOD::UncalibMeasType::Other) {
130  auto pseudoSurf = Acts::Surface::makeShared<Acts::PlaneSurface>(
131  GeoTrf::GeoTransformRT{sectorAngles, Amg::Vector3D::Zero()});
132  startMeas.insert(startMeas.begin(), auxMeasHandle.newMeasurement<2>(pseudoSurf, ProjectorType::e2DimNoTime, AmgSymMatrix(2)::Identity()));
133  }
135  if (startMeas.size() < 5){
136  continue;
137  }
139  const auto [pos, dir] = smearSegment(gctx,*reFitMe, randEngine);
141 
143  const double extDist = dir.dot(firstSurfPos - pos) - 5.*Gaudi::Units::cm;
145  const Amg::Vector3D refPos = pos + extDist * dir;
146  const Amg::Transform3D trf{GeoTrf::GeoTransformRT{sectorAngles, refPos}};
147  if (msgLvl(MSG::VERBOSE)) {
148  const auto [locPos, locDir] = makeLine(localSegmentPars(gctx, *reFitMe));
149 
150  std::stringstream sstr{};
151  sstr<<"pos: "<<Amg::toString(pos)<<", dir: "<<Amg::toString(dir)<<", chi2/nDoF: "
152  <<reFitMe->chi2() / reFitMe->nDoF()<<", nDoF: "<<reFitMe->nDoF()<<", "
153  <<reFitMe->summary().nPrecHits<<", "<<reFitMe->summary().nPhiHits<<std::endl;
154  for (const xAOD::UncalibratedMeasurement* meas : startMeas) {
155  const auto calib_sp = std::ranges::find_if(reFitMe->measurements(), [meas](const auto& sp) {
156  if (!sp->spacePoint()) return false;
157  return sp->spacePoint()->primaryMeasurement() == meas ||
158  sp->spacePoint()->secondaryMeasurement() == meas;
159  });
160  sstr<<" **** "<<m_idHelperSvc->toString(xAOD::identify(meas))<<" @ "
161  <<Amg::toString(surfAcc.get(meas)->transform(tgContext).translation())
162  <<", "<<surfAcc.get(meas)->geometryId()<<", "
163  <<(calib_sp != reFitMe->measurements().end() ?
164  SegmentFitHelpers::chiSqTerm(locPos, locDir,0., std::nullopt,
165  **calib_sp, msgStream()) : 0.)
166  <<std::endl;
167  }
168  sstr<<" Target surf: "<<Amg::toString(trf)<<", firstSurf: "<< Amg::toString(trf.inverse()*firstSurfPos)
169  <<", refPoint: "<<Amg::toString(trf.inverse()*refPos)<<std::endl;
170  ATH_MSG_VERBOSE("Run G2F fit on "<<reFitMe->msSector()->identString()<<std::endl<<sstr.str());
171  }
173  auto target = Acts::Surface::makeShared<Acts::PlaneSurface>(trf);
174 
175  Acts::ActsVector<4> fourPos{};
176  fourPos.block<3,1>(Acts::ePos0, 0) = refPos;
177  fourPos[Acts::eTime] = refPos.mag() / Gaudi::Units::c_light;
178  Acts::BoundMatrix initialCov{Acts::BoundMatrix::Identity()};
179 
180  auto initialPars = Acts::BoundTrackParameters::create(tgContext, target, fourPos, dir, straightQoverP,
181  initialCov, Acts::ParticleHypothesis::muon());
182  if (!initialPars.ok()) {
183  ATH_MSG_WARNING("Initial estimate of the parameters failed");
184  continue;
185  }
186  auto fitTraject = m_trackFitTool->fit(startMeas, *initialPars, tgContext, mfContext, calContext, target.get());
187  if (!fitTraject) {
188  ATH_MSG_WARNING("Track fit failed.");
189  continue;
190  }
191  auto track = fitTraject->getTrack(0);
192  ATH_MSG_DEBUG("Track fit succeeded. ");
193 
196  std::vector<const xAOD::UncalibratedMeasurement*> goodMeas{};
197  unsigned int itr{0};
198  fitTraject->trackStateContainer().visitBackwards(track.tipIndex(),[&](const auto& state){
199  if (!state.hasUncalibratedSourceLink()){
200  return;
201  }
202  goodMeas.insert(goodMeas.begin(),
203  ActsTrk::detail::xAODUncalibMeasCalibrator::unpack(state.getUncalibratedSourceLink()));
204  ATH_MSG_VERBOSE("Loop over track state: "<<(itr++)<<", "<<m_idHelperSvc->toString(xAOD::identify(goodMeas.front()))
205  <<", id: "<<surfAcc.get(goodMeas.front())->geometryId());
206 
207  summary.nPrecHits += (goodMeas.front()->type() == xAOD::UncalibMeasType::MdtDriftCircleType);
208  if (m_idHelperSvc->measuresPhi(xAOD::identify(goodMeas.front()))){
209  ++summary.nPhiHits;
210  } else {
211  summary.nEtaTrigHits += (goodMeas.front()->type() != xAOD::UncalibMeasType::MdtDriftCircleType);
212  }
213  });
214 
215  Acts::BoundTrackParameters parameters = track.createParametersAtReference();
216 
218  const Amg::Vector3D globDir = parameters.direction();
220  const Amg::Transform3D globToLoc{reFitMe->msSector()->globalToLocalTrans(gctx)};
221  const Amg::Vector3D refitPos = globToLoc * parameters.position(tgContext);
222  const Amg::Vector3D refitDir = globToLoc.linear() * globDir;
224  const Amg::Vector3D refitSeg = refitPos + Amg::intersect<3>(refitPos, refitDir, Amg::Vector3D::UnitZ(), 0).value_or(0.) * refitDir;
225  const Amg::Vector3D globPos{reFitMe->msSector()->localToGlobalTrans(gctx) * refitSeg};
226 
227  auto newSegment = outHandle->push_back(std::make_unique<xAOD::MuonSegment>());
228  dec_segLink(*newSegment) = Link_t{*segments, seg->index(), ctx};
229 
230  newSegment->setDirection(globDir.x(), globDir.y(), globDir.z());
231  newSegment->setPosition(globPos.x(), globPos.y(), globPos.z());
232 
233  newSegment->setFitQuality(track.chi2(), track.nDoF());
234  newSegment->setNHits(summary.nPrecHits, summary.nPhiHits, summary.nEtaTrigHits);
235  dec_locPars(*newSegment)[toInt(ParamDefs::x0)] = refitSeg.x();
236  dec_locPars(*newSegment)[toInt(ParamDefs::y0)] = refitSeg.y();
237  dec_locPars(*newSegment)[toInt(ParamDefs::theta)] = refitDir.theta();
238  dec_locPars(*newSegment)[toInt(ParamDefs::phi)] = refitDir.phi();
240  const Amg::Vector3D locSeedPos = globToLoc * pos;
241  const Amg::Vector3D locSeedDir = globToLoc.linear() * dir;
242  dec_seedPars(*newSegment)[toInt(ParamDefs::x0)] = locSeedPos.x();
243  dec_seedPars(*newSegment)[toInt(ParamDefs::y0)] = locSeedPos.y();
244  dec_seedPars(*newSegment)[toInt(ParamDefs::theta)] = locSeedDir.theta();
245  dec_seedPars(*newSegment)[toInt(ParamDefs::phi)] = locSeedDir.phi();
246 
247  }
248  return StatusCode::SUCCESS;
249  }
250 }
MuonR4::collectMeasurements
std::vector< const xAOD::UncalibratedMeasurement * > collectMeasurements(const Segment &seg, bool skipOutlier=true)
Helper function to extract the measurements from the segment.
Definition: TrackingHelpers.cxx:18
MuonR4::SegmentActsRefitAlg::initialize
virtual StatusCode initialize() override final
Definition: SegmentActsRefitAlg.cxx:34
ATHRNG::RNGWrapper::setSeed
void setSeed(const std::string &algName, const EventContext &ctx)
Set the random seed using a string (e.g.
Definition: RNGWrapper.h:169
ActsTrk::getCalibrationContext
Acts::CalibrationContext getCalibrationContext(const EventContext &ctx)
The Acts::Calibration context is piped through the Acts fitters to (re)calibrate the Acts::SourceLink...
Definition: CalibrationContext.h:15
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:196
xAOD::identify
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/Root/UtilFunctions.cxx:82
MuonR4::SegmentFit::ParamDefs
ParamDefs
This file defines the parameter enums in the Trk namespace.
Definition: MuonHoughDefs.h:29
MuonR4::Segment::summary
const HitSummary & summary() const
Returns the hit summary.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonPatternEvent/MuonPatternEvent/Segment.h:74
TrackStateAuxContainer.h
SegmentActsRefitAlg.h
MuonSegmentAuxContainer.h
EventPrimitivesHelpers.h
MuonR4::Segment
Placeholder for what will later be the muon segment EDM representation.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonPatternEvent/MuonPatternEvent/Segment.h:19
MuonR4::Segment::measurements
const MeasVec & measurements() const
Returns the associated measurements.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonPatternEvent/MuonPatternEvent/Segment.h:49
TrackSurfaceAuxContainer.h
xAOD::MuonSegment_v1
Class describing a MuonSegment.
Definition: MuonSegment_v1.h:33
MuonR4::Segment::chi2
double chi2() const
Returns the chi2 of the segment fit.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonPatternEvent/MuonPatternEvent/Segment.h:45
xAODUncalibMeasCalibrator.h
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
SpectrometerSector.h
MuonR4::SegmentFitHelpers::chiSqTerm
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.
Definition: SegmentFitHelperFunctions.cxx:28
MuonR4::SegmentFit::makeLine
std::pair< Amg::Vector3D, Amg::Vector3D > makeLine(const Parameters &pars)
Returns the parsed parameters into an Eigen line parametrization.
Definition: SegmentFitterEventData.cxx:26
MuonGMR4::SpectrometerSector::identString
std::string identString() const
Returns a string encoding the chamber index & the sector of the MS sector.
Definition: SpectrometerSector.cxx:66
python.SystemOfUnits.TeV
float TeV
Definition: SystemOfUnits.py:176
MuonR4::Segment::nDoF
unsigned int nDoF() const
Returns the number of degrees of freedom.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonPatternEvent/MuonPatternEvent/Segment.h:47
MuonR4::SegmentFit::ParamDefs::phi
@ phi
ActsTrk::detail::xAODUncalibMeasCalibrator::unpack
static const xAOD::UncalibratedMeasurement * unpack(const Acts::SourceLink &sl)
Helper method to unpack an Acts source link to an uncalibrated measurement.
Definition: xAODUncalibMeasCalibrator.cxx:12
ActsTrk::detail::MeasurementCalibratorBase::ProjectorType
ProjectorType
Enum encoding the possible projectors used in ATLAS.
Definition: MeasurementCalibratorBase.h:29
MuonR4::detailedSegment
const Segment * detailedSegment(const xAOD::MuonSegment &seg)
Helper function to navigate from the xAOD::MuonSegment to the MuonR4::Segment.
Definition: TrackingHelpers.cxx:7
ActsGeometryContext::context
Acts::GeometryContext context() const
Definition: ActsGeometryContext.h:45
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
CalibrationContext.h
xAOD::UncalibratedMeasurement_v1
Definition: UncalibratedMeasurement_v1.h:13
Amg::toString
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Definition: GeoPrimitivesToStringConverter.h:40
SG::get
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
Definition: ReadCondHandle.h:287
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
SegmentFitHelperFunctions.h
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:100
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
WriteDecorHandle.h
Handle class for adding a decoration to an object.
xAOD::Other
@ Other
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MuonR4::SegmentActsRefitAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: SegmentActsRefitAlg.cxx:70
MuonR4::SegmentFit::ParamDefs::x0
@ x0
MuonR4::Segment::msSector
const MuonGMR4::SpectrometerSector * msSector() const
Returns the associated MS sector.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonPatternEvent/MuonPatternEvent/Segment.h:39
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
xAOD::MuonSegmentContainer
MuonSegmentContainer_v1 MuonSegmentContainer
Definition of the current "MuonSegment container version".
Definition: MuonSegmentContainer.h:14
beamspotman.dir
string dir
Definition: beamspotman.py:621
xAOD::MeasVector
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.
Definition: MeasurementDefs.h:53
MuonR4::Segment::HitSummary::nPrecHits
unsigned nPrecHits
Number of good Mdt / Mm / sTgc eta hits.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonPatternEvent/MuonPatternEvent/Segment.h:63
TrackingHelpers.h
MuonR4::SegmentFit::ParamDefs::y0
@ y0
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ATHRNG::RNGWrapper
A wrapper class for event-slot-local random engines.
Definition: RNGWrapper.h:56
CalibDbCompareRT.calib_sp
calib_sp
Definition: CalibDbCompareRT.py:63
Amg::error
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 ...
Definition: EventPrimitivesHelpers.h:40
MuonR4::SegmentFit::toInt
constexpr int toInt(const ParamDefs p)
Definition: MuonHoughDefs.h:42
python.PhysicalConstants.c_light
float c_light
Definition: PhysicalConstants.py:73
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.copyTCTOutput.locDir
locDir
Definition: copyTCTOutput.py:112
ATHRNG::RNGWrapper::getEngine
CLHEP::HepRandomEngine * getEngine(const EventContext &ctx) const
Retrieve the random engine corresponding to the provided EventContext.
Definition: RNGWrapper.h:134
RNGWrapper.h
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:16
xAODUncalibMeasSurfAcc.h
MuonR4::SegmentActsRefitAlg::smearSegment
std::tuple< Amg::Vector3D, Amg::Vector3D > smearSegment(const ActsGeometryContext &gctx, const MuonR4::Segment &segment, CLHEP::HepRandomEngine *engine) const
Smear the segment's position and direction by one sigma defined by the segment's covariance.
Definition: SegmentActsRefitAlg.cxx:52
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:73
MuonR4::Segment::HitSummary
Helper struct to summarize the hit count
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonPatternEvent/MuonPatternEvent/Segment.h:61
SegmentFitterEventData.h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
MuonGMR4::SpectrometerSector::localToGlobalTrans
const Amg::Transform3D & localToGlobalTrans(const ActsGeometryContext &gctx) const
Returns the local -> global tarnsformation from the sector.
Definition: SpectrometerSector.cxx:75
copySelective.target
string target
Definition: copySelective.py:36
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567
GeoPrimitivesToStringConverter.h
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
MuonR4::SegmentFit::localSegmentPars
Parameters localSegmentPars(const xAOD::MuonSegment &seg)
Returns the localSegPars decoration from a xAODMuon::Segment.
Definition: SegmentFitterEventData.cxx:32
physics_parameters.parameters
parameters
Definition: physics_parameters.py:144
MuonR4::Segment::HitSummary::nPhiHits
unsigned nPhiHits
Number of good Rpc / Tgc / sTgc phi hits.
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonPatternEvent/MuonPatternEvent/Segment.h:67
ActsTrk::detail::xAODUncalibMeasSurfAcc
Helper class to access the Acts::surface associated with an Uncalibrated xAOD measurement.
Definition: xAODUncalibMeasSurfAcc.h:22
xAOD::track
@ track
Definition: TrackingPrimitives.h:513
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:13
CaloLCW_tf.trf
trf
Definition: CaloLCW_tf.py:20
MuonR4::AmgSymMatrix
const AmgSymMatrix(2) &SpacePoint
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePoint.cxx:90
pow
constexpr int pow(int base, int exp) noexcept
Definition: ap_fixedTest.cxx:15
MuonR4::SegmentFit::ParamDefs::nPars
@ nPars
xAOD::UncalibMeasType::MdtDriftCircleType
@ MdtDriftCircleType
MuonR4::SegmentFit::ParamDefs::theta
@ theta
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32
NSWL1::PadTriggerAdapter::segment
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
Definition: PadTriggerAdapter.cxx:5
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65