ATLAS Offline Software
Loading...
Searching...
No Matches
TruthCalibrator.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 MUONSPACEPOINTCALIBRATOR_TRUTHCALIBRATOR_H
5#define MUONSPACEPOINTCALIBRATOR_TRUTHCALIBRATOR_H
6
8
10
15
16
17namespace MuonR4 {
23 class TruthCalibrator : public extends<AthAlgTool, ISpacePointCalibrator>,
25 public:
26 using base_class::base_class;
28 virtual StatusCode initialize() override final;
30 virtual CalibSpacePointPtr calibrate(const EventContext& ctx,
31 const SpacePoint* spacePoint,
32 const Amg::Vector3D& seedPosInChamb,
33 const Amg::Vector3D& seedDirInChamb,
34 const double timeDelay) const override final;
36 virtual CalibSpacePointPtr calibrate(const EventContext& ctx,
37 const CalibratedSpacePoint& spacePoint,
38 const Amg::Vector3D& seedPosInChamb,
39 const Amg::Vector3D& seedDirInChamb,
40 const double timeDelay) const override final;
42 virtual CalibSpacePointVec calibrate(const EventContext& ctx,
43 const std::vector<const SpacePoint*>& spacePoints,
44 const Amg::Vector3D& seedPosInChamb,
45 const Amg::Vector3D& seedDirInChamb,
46 const double timeDelay) const override final;
47
49 virtual CalibSpacePointVec calibrate(const Acts::CalibrationContext& cctx,
50 const Amg::Vector3D& seedPosInChamb,
51 const Amg::Vector3D& seedDirInChamb,
52 const double timeDelay,
53 const CalibSpacePointVec& spacePoints) const override final;
54
56 virtual double driftVelocity(const Acts::CalibrationContext& cctx,
57 const CalibratedSpacePoint& spacePoint) const override final;
59 virtual void calibrateSourceLink(const Acts::GeometryContext& geoctx,
60 const Acts::CalibrationContext& cctx,
61 const Acts::SourceLink& link,
62 ActsTrk::MutableTrackStateBackend::TrackStateProxy state) const override final;
64 virtual void updateSigns(const Amg::Vector3D& trackPos,
65 const Amg::Vector3D& trackDir,
66 CalibSpacePointVec& hitsToCalib) const override final;
68 virtual void stampSignsOnMeasurements(const xAOD::MuonSegment& segment) const override final;
70 virtual double driftRadius(const Acts::CalibrationContext& cctx,
71 const CalibratedSpacePoint& spacePoint,
72 const double timeDelay) const override final;
74 virtual double driftVelocity(const Acts::CalibrationContext& cctx,
75 const CalibratedSpacePoint& spacePoint,
76 const double timeDelay) const override final;
78 virtual double driftAcceleration(const Acts::CalibrationContext& cctx,
79 const CalibratedSpacePoint& spacePoint,
80 const double timeDelay) const override final;
82 virtual double driftAcceleration(const Acts::CalibrationContext& cctx,
83 const CalibratedSpacePoint& spacePoint) const override final;
84 private:
90 Gaudi::Property<std::vector<std::string>> m_prdContainers{this, "prdContainers", {}};
92 Gaudi::Property<std::string> m_simLinkDecor{this, "simHitLinkDecor", "simHitLink"};
93
94
95 };
96}
97
98#endif
Utility class to handle the three contexts neeeded in an ACTS reconstruction job 1) GeometryContext -...
Base class providing the boiler code to fill the Acts multi trajectory track states.
The calibrated Space point is created during the calibration process.
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
The TruthCalibrator calibrates the measurements according to their available truth information.
virtual double driftRadius(const Acts::CalibrationContext &cctx, const CalibratedSpacePoint &spacePoint, const double timeDelay) const override final
Returns the drift radius for a given drift-circle space point and time delay.
ActsTrk::ContextUtility m_ctxProvider
Context utility object to retrieve the geometry context.
virtual double driftAcceleration(const Acts::CalibrationContext &cctx, const CalibratedSpacePoint &spacePoint, const double timeDelay) const override final
Returns the drift acceleration (in ACTS units) for a given drift-circle space point.
virtual StatusCode initialize() override final
virtual void updateSigns(const Amg::Vector3D &trackPos, const Amg::Vector3D &trackDir, CalibSpacePointVec &hitsToCalib) const override final
Update the signs of the drift radii for a given straight line track to fix the left <-> right ambigui...
SG::ReadDecorHandleKeyArray< xAOD::UncalibratedMeasurementContainer > m_truthLinks
Dependencies on the truth matching of the uncalibrated measurement containers.
virtual CalibSpacePointPtr calibrate(const EventContext &ctx, const SpacePoint *spacePoint, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay) const override final
Calibrates a single space point.
Gaudi::Property< std::vector< std::string > > m_prdContainers
Container names of the muon prd containers.
virtual void stampSignsOnMeasurements(const xAOD::MuonSegment &segment) const override final
Stamps the signs of the drift radii w.r.t.
virtual double driftVelocity(const Acts::CalibrationContext &cctx, const CalibratedSpacePoint &spacePoint) const override final
Returns the drift velocity (in ACTS units) for a given drift-circle space point.
Gaudi::Property< std::string > m_simLinkDecor
Decoration of the truth link.
virtual void calibrateSourceLink(const Acts::GeometryContext &geoctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &link, ActsTrk::MutableTrackStateBackend::TrackStateProxy state) const override final
Function that's hooked to the calibration delegate of the implemented Acts fitters.
Eigen::Matrix< double, 3, 1 > Vector3D
This header ties the generic definitions in this package.
ISpacePointCalibrator::CalibSpacePointVec CalibSpacePointVec
ISpacePointCalibrator::CalibSpacePointPtr CalibSpacePointPtr
DecorHandleKeyArray< ReadDecorHandle< T, S >, ReadDecorHandleKey< T >, Gaudi::DataHandle::Reader > ReadDecorHandleKeyArray
MuonSegment_v1 MuonSegment
Reference the current persistent version: