![]() |
ATLAS Offline Software
|
The TruthCalibrator calibrates the measurements according to their available truth information. More...
#include <TruthCalibrator.h>
Public Types | |
| enum class | ProjectorType { e1DimNoTime = 0 , e1DimRotNoTime = 1 , e2DimNoTime = 2 , e1DimWithTime = 3 , e1DimRotWithTime = 4 , e2DimWithTime = 5 } |
| Enum encoding the possible projectors used in ATLAS. More... | |
| using | SourceLink_t |
| Encode the source links supported by the Calibrator class as a variant of the measurement class type pointer used within Athena. | |
Public Member Functions | |
| virtual StatusCode | initialize () override final |
| 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. | |
| virtual CalibSpacePointPtr | calibrate (const EventContext &ctx, const CalibratedSpacePoint &spacePoint, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay) const override final |
| Calibrates a single space point. | |
| virtual CalibSpacePointVec | calibrate (const EventContext &ctx, const std::vector< const SpacePoint * > &spacePoints, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay) const override final |
| Calibrates a single space point. | |
| virtual CalibSpacePointVec | calibrate (const Acts::CalibrationContext &cctx, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay, const CalibSpacePointVec &spacePoints) const override final |
| Calibrates a single space point. | |
| 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. | |
| 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. | |
| 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 ambiguity. | |
| virtual void | stampSignsOnMeasurements (const xAOD::MuonSegment &segment) const override final |
| Stamps the signs of the drift radii w.r.t. | |
| 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. | |
| virtual double | driftVelocity (const Acts::CalibrationContext &cctx, const CalibratedSpacePoint &spacePoint, const double timeDelay) const override final |
| Returns the drift velocity (in ACTS units) for a given drift-circle space point. | |
| 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 double | driftAcceleration (const Acts::CalibrationContext &cctx, const CalibratedSpacePoint &spacePoint) const override final |
| Returns the drift acceleration (in ACTS units) for a given drift-circle space point. | |
| template<std::size_t Dim, Acts::TrackStateProxyConcept proxy_t, typename pos_t, typename cov_t> | |
| void | setState (const ProjectorType projector, const pos_t &locpos, const cov_t &cov, Acts::SourceLink link, proxy_t &trackState) const |
| Copy the local position & covariance into the Acts track state proxy. | |
Static Public Member Functions | |
| static SourceLinkType | getType (const Acts::SourceLink &sl) |
| Returns the enumeration corresponding to the object type cached within the Acts::SourceLink. | |
| static SourceLink_t | unpackBase (const Acts::SourceLink &sl) |
| Unpack the SourceLink_t from the passed Acts source link. | |
| template<Acts::PointerConcept Ptr_t> | |
| static Acts::SourceLink | pack (const Ptr_t &measurement) |
| Pack the measurement type pointer to an Acts::SourceLink including the intermediate conversion into a SourceLink_t. | |
| template<Acts::PointerConcept Ptr_t> | |
| static void | pack (const std::vector< Ptr_t > &measList, std::vector< Acts::SourceLink > &targetSL) |
| Converts a vector measurement pointers to Acts::SourceLinks. | |
Protected Member Functions | |
| template<std::size_t Dim, Acts::TrackStateProxyConcept proxy_t> | |
| void | prepareCalibratedState (const ProjectorType projector, Acts::SourceLink link, proxy_t &trackState) const |
| Queries the track proxy to allocate memory for the incoming calibration object. | |
Private Attributes | |
| ActsTrk::ContextUtility | m_ctxProvider {this} |
| Context utility object to retrieve the geometry context. | |
| SG::ReadDecorHandleKeyArray< xAOD::UncalibratedMeasurementContainer > | m_truthLinks {this, "truthLinks", {}} |
| Dependencies on the truth matching of the uncalibrated measurement containers. | |
| Gaudi::Property< std::vector< std::string > > | m_prdContainers {this, "prdContainers", {}} |
| Container names of the muon prd containers. | |
| Gaudi::Property< std::string > | m_simLinkDecor {this, "simHitLinkDecor", "simHitLink"} |
| Decoration of the truth link. | |
Static Private Attributes | |
| static constexpr std::array< Acts::BoundSubspaceIndices, 6 > | s_boundSpaceIndices |
| Array to map the Projector types to the bound index configurations used by the ATLAS detector measurements. | |
The TruthCalibrator calibrates the measurements according to their available truth information.
If a truth hit is associated to the space point, the truth parameters are taken to calibrate the measurement. Otherwise the measurement is set exactly onto the predicted position eliminating its contribution to the chi2 and respective derivatives.
Definition at line 23 of file TruthCalibrator.h.
|
inherited |
Encode the source links supported by the Calibrator class as a variant of the measurement class type pointer used within Athena.
The std::monostate is used to encode nullptrs or not yet supported types
Definition at line 53 of file MeasurementCalibratorBase.h.
|
stronginherited |
Enum encoding the possible projectors used in ATLAS.
Their integer representations correspond to the element index in the s_boundSpaceIndices member
| Enumerator | |
|---|---|
| e1DimNoTime | |
| e1DimRotNoTime | Project out solely the locX (Applies to Itk strips, Rpc, Tgc, sTgc, Mm). |
| e2DimNoTime | Project out solely the locY - Complementary projector if the strip plane is rotated (Applies to Itk endcap strips, Rpc, Tgc, sTgc). |
| e1DimWithTime | Project out the two spatial coordinates - (Applies to ITk pixel, BI-Rpc, sTgc pad). |
| e1DimRotWithTime | Project out the locX & time coordinate - (Applies to Rpc, Tgc, Mm, sTgc). |
| e2DimWithTime | Project out the locY & time coordinate - (Applies to Rpc, Tgc, sTgc). |
Definition at line 41 of file MeasurementCalibratorBase.h.
|
finaloverridevirtual |
Calibrates a single space point.
Mdt drift radii are corrected for time slew, signal propagation & LorentzAngle effects. The second coordinate of 1D space points is updated according to the closest approach of the strip to the complemntary coordinate. The space point calibrator always returns a calibrated object. But the state of the space point is set to FailedCalib in if the calibration fails.
| ctx | EventContext to access conditions data |
| spacePoint | Pointer to the space point to calibrate. |
| seedPosInChamb | Position of the external seed expressed in the sector frame |
| seedDirInChamb | Direction of the external seed expressed in the sector frame |
| timeDelay | Shift in time (in ACTS units) to be added to the time of flight of a particle going a straight path |
we need to recalibrate because the fake hits fill be set to the track position
Definition at line 138 of file TruthCalibrator.cxx.
|
finaloverridevirtual |
Calibrates a single space point.
Mdt drift radii are corrected for time slew, signal propagation & LorentzAngle effects. The second coordinate of 1D space points is updated according to the closest approach of the strip to the complemntary coordinate. The space point calibrator always returns a calibrated object. But the state of the space point is set to FailedCalib in if the calibration fails.
| ctx | EventContext to access conditions data |
| spacePoint | Pointer to the space point to calibrate. |
| seedPosInChamb | Position of the external seed expressed in the sector frame |
| seedDirInChamb | Direction of the external seed expressed in the sector frame |
| timeDelay | Shift in time (in ACTS units) to be added to the time of flight of a particle going a straight path |
Definition at line 114 of file TruthCalibrator.cxx.
|
finaloverridevirtual |
Calibrates a single space point.
Mdt drift radii are corrected for time slew, signal propagation & LorentzAngle effects. The second coordinate of 1D space points is updated according to the closest approach of the strip to the complemntary coordinate. The space point calibrator always returns a calibrated object. But the state of the space point is set to FailedCalib in if the calibration fails.
| ctx | EventContext to access conditions data |
| spacePoint | Pointer to the space point to calibrate. |
| seedPosInChamb | Position of the external seed expressed in the sector frame |
| seedDirInChamb | Direction of the external seed expressed in the sector frame |
| timeDelay | Shift in time (in ACTS units) to be added to the time of flight of a particle going a straight path |
Update the drift radius accordingly
Definition at line 84 of file TruthCalibrator.cxx.
|
finaloverridevirtual |
Calibrates a single space point.
Mdt drift radii are corrected for time slew, signal propagation & LorentzAngle effects. The second coordinate of 1D space points is updated according to the closest approach of the strip to the complemntary coordinate. The space point calibrator always returns a calibrated object. But the state of the space point is set to FailedCalib in if the calibration fails.
| ctx | EventContext to access conditions data |
| spacePoint | Pointer to the space point to calibrate. |
| seedPosInChamb | Position of the external seed expressed in the sector frame |
| seedDirInChamb | Direction of the external seed expressed in the sector frame |
| timeDelay | Shift in time (in ACTS units) to be added to the time of flight of a particle going a straight path |
Definition at line 126 of file TruthCalibrator.cxx.
|
finaloverridevirtual |
Function that's hooked to the calibration delegate of the implemented Acts fitters.
| geoctx | The geometry context to fetch the local -> global transformations for the surfaces |
| cctx | Calibration context which is a packed pointer to the current ATLAS EventContext |
| link | Sourcelink to the actual measurement to calibrate |
| state | Proxy to the track-state to which the calibrated constants are written |
Definition at line 157 of file TruthCalibrator.cxx.
|
finaloverridevirtual |
Returns the drift acceleration (in ACTS units) for a given drift-circle space point.
| cctx | Calibration context which is a packed pointer to the current ATLAS EventContext |
| spacePoint | Reference to the calibrated space point for which the acceleration needs to be calculated. |
Definition at line 253 of file TruthCalibrator.cxx.
|
finaloverridevirtual |
Returns the drift acceleration (in ACTS units) for a given drift-circle space point.
| cctx | Calibration context which is a packed pointer to the current ATLAS EventContext |
| spacePoint | Reference to the calibrated space point for which the acceleration needs to be calculated. |
Definition at line 246 of file TruthCalibrator.cxx.
|
finaloverridevirtual |
Returns the drift radius for a given drift-circle space point and time delay.
Needed for the fast fitter.
| cctx | Calibration context which is a packed pointer to the current ATLAS EventContext |
| spacePoint | Reference to the calibrated space point for which the drift radius needs to be calculated |
| timeDelay | Shift in time (in ACTS units) to be added to the time of flight of a particle going a straight path . |
Definition at line 233 of file TruthCalibrator.cxx.
|
finaloverridevirtual |
Returns the drift velocity (in ACTS units) for a given drift-circle space point.
| cctx | Calibration context which is a packed pointer to the current ATLAS EventContext |
| spacePoint | Reference to the calibrated space point for which the velocity needs to be calculated. |
Definition at line 151 of file TruthCalibrator.cxx.
|
finaloverridevirtual |
Returns the drift velocity (in ACTS units) for a given drift-circle space point.
| cctx | Calibration context which is a packed pointer to the current ATLAS EventContext |
| spacePoint | Reference to the calibrated space point for which the velocity needs to be calculated. |
Definition at line 240 of file TruthCalibrator.cxx.
|
staticinherited |
Returns the enumeration corresponding to the object type cached within the Acts::SourceLink.
The SourceLink must have been created by a MeasurementCalibrator to ensure that the underlying variant is cached. If the variant is a monostate, nTypes is returned
| sl | Reference to the source link to unpack. |
|
finaloverridevirtual |
Definition at line 71 of file TruthCalibrator.cxx.
|
staticinherited |
Pack the measurement type pointer to an Acts::SourceLink including the intermediate conversion into a SourceLink_t.
Nullptrs are converted to a std::monostate.
| measurement | Pointer to the measurement to transform into a SourceLInk |
|
staticinherited |
Converts a vector measurement pointers to Acts::SourceLinks.
| measList | The list of measurement pointers for conversion |
| targetSL | The allocated SourceLink vectors to which the Acts::SourceLink objects are appended. |
|
protectedinherited |
Queries the track proxy to allocate memory for the incoming calibration object.
Defines the projector indices and allocates the source link to the state
| projector | Projector configuration of the measurement |
| link | Source link to associate with the state |
| trackState | Refrence to the track state proxy to write. |
|
inherited |
Copy the local position & covariance into the Acts track state proxy.
| Dim | Dimension of the measurement |
| trajectory_t | Data type of the track state proxy backend |
| pos_t | Data type of the [Dim x 1] position vector |
| cov_t | Data type of the [Dim x Dim] covariance matrix |
| projector | Projector configuration of the measurement |
| locpos | Calibrated local postion |
| cov | Calibrated local covariance |
| link | Source link to associate with the state |
| trackState | Refrence to the track state proxy to write. |
|
finaloverridevirtual |
Stamps the signs of the drift radii w.r.t.
the segment line onto the uncalibrated measurements. The stamped signs are later picked up by the source link calibration in the context of the track fit to stabilize the fit.
| segment | Reference to the reconstructed segment for which the sign stamp shall be executed |
Truth signs are correct already nothing to do
Definition at line 229 of file TruthCalibrator.cxx.
|
staticinherited |
Unpack the SourceLink_t from the passed Acts source link.
| sl | Reference to the source link to unpack. |
|
finaloverridevirtual |
Update the signs of the drift radii for a given straight line track to fix the left <-> right ambiguity.
| trackPos | Position of the track intercept in the sector frame |
| trackDir | Direction of the track in the sector frame |
| hitsToCalib | List of space points to calibrate |
Truth signs are correct already nothing to do
Definition at line 224 of file TruthCalibrator.cxx.
|
private |
Context utility object to retrieve the geometry context.
Definition at line 86 of file TruthCalibrator.h.
|
private |
Container names of the muon prd containers.
Definition at line 90 of file TruthCalibrator.h.
|
private |
Decoration of the truth link.
Definition at line 92 of file TruthCalibrator.h.
|
private |
Dependencies on the truth matching of the uncalibrated measurement containers.
Definition at line 88 of file TruthCalibrator.h.
|
staticconstexprprivateinherited |
Array to map the Projector types to the bound index configurations used by the ATLAS detector measurements.
Definition at line 115 of file MeasurementCalibratorBase.h.