![]() |
ATLAS Offline Software
|
#include <GlobalChiSquareFitterTool.h>
Public Types | |
| using | StraightPropagator_t = Acts::Propagator<Acts::StraightLineStepper, Acts::Navigator> |
| Type erased track fitter function. | |
| using | CurvedPropagator_t = Acts::Propagator<Acts::EigenStepper<>, Acts::Navigator> |
| using | StraightFitter_t = Acts::Experimental::Gx2Fitter<StraightPropagator_t, MutableTrackStateBackend> |
| using | CurvedFitter_t = Acts::Experimental::Gx2Fitter<CurvedPropagator_t, MutableTrackStateBackend> |
| using | Gx2FitterOptions_t = Acts::Experimental::Gx2FitterOptions<MutableTrackStateBackend> |
| Abbrivation of the configuration to launch the fit. | |
| using | Gx2FitterExtension_t = Acts::Experimental::Gx2FitterExtensions<MutableTrackStateBackend> |
| Abbrivation of the fitter extensions. | |
Public Member Functions | |
| virtual | ~GlobalChiSquareFitterTool ()=default |
| virtual StatusCode | initialize () override |
| virtual std::unique_ptr< Trk::Track > | fit (const EventContext &ctx, const Trk::Track &, const Trk::RunOutlierRemoval runOutlier=false, const Trk::ParticleHypothesis matEffects=Trk::nonInteracting) const override |
| refit a track | |
| virtual std::unique_ptr< Trk::Track > | fit (const EventContext &ctx, const Trk::PrepRawDataSet &, const Trk::TrackParameters &, const Trk::RunOutlierRemoval runOutlier=false, const Trk::ParticleHypothesis matEffects=Trk::nonInteracting) const override |
| fit a set of PrepRawData objects | |
| virtual std::unique_ptr< Trk::Track > | fit (const EventContext &ctx, const Trk::MeasurementSet &, const Trk::TrackParameters &, const Trk::RunOutlierRemoval runOutlier=false, const Trk::ParticleHypothesis matEffects=Trk::nonInteracting) const override |
| fit a set of MeasurementBase objects | |
| virtual std::unique_ptr< Trk::Track > | fit (const EventContext &ctx, const Trk::Track &, const Trk::PrepRawDataSet &, const Trk::RunOutlierRemoval runOutlier=false, const Trk::ParticleHypothesis matEffects=Trk::nonInteracting) const override |
| extend a track fit including a new set of PrepRawData objects | |
| virtual std::unique_ptr< MutableTrackContainer > | fit (const std::vector< ATLASUncalibSourceLink > &clusterList, const Acts::BoundTrackParameters &initialParams, const Acts::GeometryContext &tgContext, const Acts::MagneticFieldContext &mfContext, const Acts::CalibrationContext &calContext, const Acts::Surface *targetSurface=nullptr) const override |
| fit a set of xAOD uncalibrated Measurements | |
| virtual std::unique_ptr< Trk::Track > | fit (const EventContext &ctx, const Trk::Track &, const Trk::MeasurementSet &, const Trk::RunOutlierRemoval runOutlier=false, const Trk::ParticleHypothesis matEffects=Trk::nonInteracting) const override |
| extend a track fit including a new set of MeasurementBase objects | |
| virtual std::unique_ptr< Trk::Track > | fit (const EventContext &ctx, const Trk::Track &intrk1, const Trk::Track &intrk2, const Trk::RunOutlierRemoval runOutlier=false, const Trk::ParticleHypothesis matEffects=Trk::nonInteracting) const override |
| combined track fit | |
| virtual std::unique_ptr< MutableTrackContainer > | fit (const Seed &seed, const Acts::BoundTrackParameters &initialParams, const Acts::GeometryContext &tgContext, const Acts::MagneticFieldContext &mfContext, const Acts::CalibrationContext &calContext, const Acts::Surface &targetSurface) const override |
| Acts seed fit. | |
| virtual StatusCode | fit (const EventContext &ctx, const TrackContainer::ConstTrackProxy &track, MutableTrackContainer &trackContainer, const Acts::PerigeeSurface &pSurface) const override |
Private Types | |
| using | TrackFitResult_t = IActsToTrkConverterTool::TrackFitResult_t |
Private Member Functions | |
| TrackFitResult_t | fit (const std::vector< Acts::SourceLink > &soureLinks, const Acts::BoundTrackParameters &initialPars, const Gx2FitterOptions_t &gx2fOptions, MutableTrackContainer &tracks) const |
| Calls the underlying Acts::Gx2Fitter for a given configuration of measurements. | |
| Gx2FitterOptions_t | configureFit (const Acts::GeometryContext &tgContext, const Acts::MagneticFieldContext &mfContext, const Acts::CalibrationContext &calContext, const Acts::Surface *surface, detail::SourceLinkType slType) const |
| Helper method to pack the last information (Calibration, Alignment, B-Field, etc.) for the fit. | |
| const Acts::Logger & | logger () const |
| Private access to the logger. | |
Private Attributes | |
| ToolHandle< ActsTrk::IExtrapolationTool > | m_extrapolationTool {this, "ExtrapolationTool", ""} |
| PublicToolHandle< ITrackingGeometryTool > | m_trackingGeometryTool {this, "TrackingGeometryTool", ""} |
| ToolHandle< IActsToTrkConverterTool > | m_ATLASConverterTool {this, "ATLASConverterTool", ""} |
| ToolHandle< MuonR4::ISpacePointCalibrator > | m_muonCalibrator {this, "MuonCalibrationTool", ""} |
| ToolHandle< Trk::IRIO_OnTrackCreator > | m_ROTcreator {this, "RotCreatorTool", ""} |
| Gaudi::Property< double > | m_option_outlierChi2Cut {this, "OutlierChi2Cut", 12.5} |
| Chi2 cut used by the outlier finder. | |
| Gaudi::Property< unsigned > | m_option_maxPropagationStep {this, "MaxPropagationStep", 5000} |
| Maximum number of steps per propagation call. | |
| Gaudi::Property< unsigned > | m_option_maxNavSurfaces {this, "MaxSurfacesPerNavStep", 100} |
| Number of maximum surfaces to be tried before the navigrator aborts. | |
| Gaudi::Property< bool > | m_option_includeELoss {this, "IncludeELoss", true} |
| Consider particle's energy loss in the fit. | |
| Gaudi::Property< bool > | m_option_includeScat {this, "IncludeScattering", true} |
| Consider multiple scattering of the particle. | |
| Gaudi::Property< bool > | m_doReFitFromPRD {this, "DoReFitFromPRD", false} |
| Convert the PRD to a ROT during the calibration. | |
| Gaudi::Property< bool > | m_doStraightLine {this, "DoStraightLine" , false} |
| Option to toggle whether a straight line fitter shall be used. | |
| Gaudi::Property< bool > | m_doJacobianCorr {this, "DoFreeToBoundCorrection", false } |
| Account for non linear effects from free -> bound jacobian. | |
| Gaudi::Property< unsigned > | m_nIterMax {this, "MaxIterations", 5} |
| Number of iterations a fit may take. | |
| detail::TrkMeasurementCalibrator | m_trkMeasCalibrator {} |
| Pass through calibrator of the Trk::MeasurementBase objects from the TrackState container. | |
| detail::TrkPrepRawDataCalibrator | m_prdCalibrator {} |
| Calibrator of the uncalibrated Trk::PrepRawData objects to RIO_OnTrack objects. | |
| detail::TrkMeasSurfaceAccessor | m_trkMeasSurfAcc {} |
| Surface accessor delegate for Trk::MeasurementBase objects. | |
| detail::TrkPrepRawDataSurfaceAcc | m_prdSurfaceAcc {} |
| Surface accessor delegate for Trk::PrepRawData objects. | |
| detail::xAODUncalibMeasSurfAcc | m_unalibMeasSurfAcc {} |
| Surface accessor delegate for xAOD::UncalibratedMeasurement objects. | |
| detail::xAODUncalibMeasCalibrator | m_uncalibMeasCalibrator {} |
| Calibrator for the uncalibrated xAOD::UnCalibratedMeasurement objects. | |
| std::array< Gx2FitterExtension_t, s_nExtensions > | m_gx2fExtensions {} |
| std::unique_ptr< CurvedFitter_t > | m_fitter {nullptr} |
| The underlying curved Acts fitter. | |
| std::unique_ptr< StraightFitter_t > | m_slFitter {nullptr} |
| The underlying straight line Acts fitter. | |
| detail::FitterHelperFunctions::ATLASOutlierFinder | m_outlierFinder {0} |
| std::unique_ptr< const Acts::Logger > | m_logger |
| logging instance | |
Static Private Attributes | |
| static constexpr unsigned | s_nExtensions = static_cast<unsigned>(detail::SourceLinkType::nTypes) |
| Array of all configured fitter extensions depending on which source link type is in use. | |
Definition at line 64 of file GlobalChiSquareFitterTool.h.
| using ActsTrk::GlobalChiSquareFitterTool::CurvedFitter_t = Acts::Experimental::Gx2Fitter<CurvedPropagator_t, MutableTrackStateBackend> |
Definition at line 152 of file GlobalChiSquareFitterTool.h.
| using ActsTrk::GlobalChiSquareFitterTool::CurvedPropagator_t = Acts::Propagator<Acts::EigenStepper<>, Acts::Navigator> |
Definition at line 149 of file GlobalChiSquareFitterTool.h.
| using ActsTrk::GlobalChiSquareFitterTool::Gx2FitterExtension_t = Acts::Experimental::Gx2FitterExtensions<MutableTrackStateBackend> |
Abbrivation of the fitter extensions.
Definition at line 157 of file GlobalChiSquareFitterTool.h.
| using ActsTrk::GlobalChiSquareFitterTool::Gx2FitterOptions_t = Acts::Experimental::Gx2FitterOptions<MutableTrackStateBackend> |
Abbrivation of the configuration to launch the fit.
Definition at line 155 of file GlobalChiSquareFitterTool.h.
| using ActsTrk::GlobalChiSquareFitterTool::StraightFitter_t = Acts::Experimental::Gx2Fitter<StraightPropagator_t, MutableTrackStateBackend> |
Definition at line 151 of file GlobalChiSquareFitterTool.h.
| using ActsTrk::GlobalChiSquareFitterTool::StraightPropagator_t = Acts::Propagator<Acts::StraightLineStepper, Acts::Navigator> |
Type erased track fitter function.
Definition at line 148 of file GlobalChiSquareFitterTool.h.
|
private |
Definition at line 160 of file GlobalChiSquareFitterTool.h.
|
virtualdefault |
|
private |
Helper method to pack the last information (Calibration, Alignment, B-Field, etc.) for the fit.
The parsed context objects need to prevail the call of the fit
| tgContext | Reference to the geometry context |
| mfContext | Reference to the passed magnetic field context |
| calContext | Reference to the calibration context |
| surface | Target surface on which the fit result is expressed. |
| slType | Switch of which source link type shall be used to access the surfaces from the measurements & for calibration |
Definition at line 130 of file GlobalChiSquareFitterTool.cxx.
|
overridevirtual |
Definition at line 514 of file GlobalChiSquareFitterTool.cxx.
|
overridevirtual |
fit a set of MeasurementBase objects
Definition at line 210 of file GlobalChiSquareFitterTool.cxx.
|
overridevirtual |
fit a set of PrepRawData objects
Definition at line 260 of file GlobalChiSquareFitterTool.cxx.
|
overridevirtual |
extend a track fit including a new set of MeasurementBase objects
Definition at line 354 of file GlobalChiSquareFitterTool.cxx.
|
overridevirtual |
extend a track fit including a new set of PrepRawData objects
Definition at line 415 of file GlobalChiSquareFitterTool.cxx.
|
overridevirtual |
refit a track
Definition at line 150 of file GlobalChiSquareFitterTool.cxx.
|
overridevirtual |
combined track fit
Definition at line 427 of file GlobalChiSquareFitterTool.cxx.
|
overridevirtual |
Acts seed fit.
Definition at line 496 of file GlobalChiSquareFitterTool.cxx.
|
inlineprivate |
Calls the underlying Acts::Gx2Fitter for a given configuration of measurements.
| sourceLinks | List of measurements to fit |
| initialPars | Initial estimate of the track parameters |
| gx2fOptions | Configuration options needed to execute the fit |
| tracks | Track container into which the new track is appended |
Definition at line 120 of file GlobalChiSquareFitterTool.cxx.
|
overridevirtual |
fit a set of xAOD uncalibrated Measurements
Definition at line 307 of file GlobalChiSquareFitterTool.cxx.
|
overridevirtual |
Configure the fit extensions for Trk::MeasuremenBase pass through fits.
Configure the fit extensions for Trk::PrepRawData fits
Needs to be filled with live.
Connect the muon types with the muon calibrator
Definition at line 45 of file GlobalChiSquareFitterTool.cxx.
|
inlineprivate |
|
private |
Definition at line 186 of file GlobalChiSquareFitterTool.h.
|
private |
Account for non linear effects from free -> bound jacobian.
Definition at line 207 of file GlobalChiSquareFitterTool.h.
|
private |
Convert the PRD to a ROT during the calibration.
Definition at line 203 of file GlobalChiSquareFitterTool.h.
|
private |
Option to toggle whether a straight line fitter shall be used.
Definition at line 205 of file GlobalChiSquareFitterTool.h.
|
private |
Definition at line 184 of file GlobalChiSquareFitterTool.h.
|
private |
The underlying curved Acts fitter.
Definition at line 226 of file GlobalChiSquareFitterTool.h.
|
private |
Definition at line 224 of file GlobalChiSquareFitterTool.h.
|
private |
logging instance
Definition at line 236 of file GlobalChiSquareFitterTool.h.
|
private |
Definition at line 188 of file GlobalChiSquareFitterTool.h.
|
private |
Number of iterations a fit may take.
Definition at line 209 of file GlobalChiSquareFitterTool.h.
|
private |
Consider particle's energy loss in the fit.
Definition at line 199 of file GlobalChiSquareFitterTool.h.
|
private |
Consider multiple scattering of the particle.
Definition at line 201 of file GlobalChiSquareFitterTool.h.
|
private |
Number of maximum surfaces to be tried before the navigrator aborts.
Definition at line 197 of file GlobalChiSquareFitterTool.h.
|
private |
Maximum number of steps per propagation call.
Definition at line 195 of file GlobalChiSquareFitterTool.h.
|
private |
Chi2 cut used by the outlier finder.
Definition at line 193 of file GlobalChiSquareFitterTool.h.
|
private |
Definition at line 230 of file GlobalChiSquareFitterTool.h.
|
private |
Calibrator of the uncalibrated Trk::PrepRawData objects to RIO_OnTrack objects.
Definition at line 213 of file GlobalChiSquareFitterTool.h.
|
private |
Surface accessor delegate for Trk::PrepRawData objects.
Definition at line 217 of file GlobalChiSquareFitterTool.h.
|
private |
Definition at line 190 of file GlobalChiSquareFitterTool.h.
|
private |
The underlying straight line Acts fitter.
Definition at line 228 of file GlobalChiSquareFitterTool.h.
|
private |
Definition at line 185 of file GlobalChiSquareFitterTool.h.
|
private |
Pass through calibrator of the Trk::MeasurementBase objects from the TrackState container.
Definition at line 211 of file GlobalChiSquareFitterTool.h.
|
private |
Surface accessor delegate for Trk::MeasurementBase objects.
Definition at line 215 of file GlobalChiSquareFitterTool.h.
|
private |
Surface accessor delegate for xAOD::UncalibratedMeasurement objects.
Definition at line 219 of file GlobalChiSquareFitterTool.h.
|
private |
Calibrator for the uncalibrated xAOD::UnCalibratedMeasurement objects.
Definition at line 221 of file GlobalChiSquareFitterTool.h.
|
staticconstexprprivate |
Array of all configured fitter extensions depending on which source link type is in use.
Definition at line 223 of file GlobalChiSquareFitterTool.h.