![]() |
ATLAS Offline Software
|
#include <GaussianSumFitter.h>
Public Types | |
| using | GSFTrajectory = std::vector<GSFTsos> |
Public Member Functions | |
| GaussianSumFitter (const std::string &, const std::string &, const IInterface *) | |
| Constructor with parameters to be passed to AlgTool. | |
| virtual | ~GaussianSumFitter ()=default |
| Virtual destructor. | |
| virtual StatusCode | initialize () override final |
| AlgTool initialise method. | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Inteface method. The main one are the ones taking | |
Measurement or Raw Data inputs. The rest are implemented on top of these two. We follow the ITrackFitter interface but not all arguements are meaningfull We do not implement outlier remove. Actually by default we try to re-integrate possible outliers from non-GSF fits. The material effects actually applied are determined by the dedicated configured GsfExtrapolator. | |
| virtual std::unique_ptr< Track > | fit (const EventContext &ctx, const PrepRawDataSet &, const TrackParameters &, const RunOutlierRemoval, const ParticleHypothesis) const override final |
| Fit a collection of 'PrepRawData' objects using the Gaussian Sum Filter. | |
| virtual std::unique_ptr< Track > | fit (const EventContext &ctx, const MeasurementSet &, const TrackParameters &, const RunOutlierRemoval, const ParticleHypothesis particleHypothesis) const override final |
| Fit a collection of 'RIO_OnTrack' objects using the Gaussian Sum Filter. | |
| virtual std::unique_ptr< Track > | fit (const EventContext &ctx, const Track &, const RunOutlierRemoval, const ParticleHypothesis) const override final |
| Refit a track. | |
| virtual std::unique_ptr< Track > | fit (const EventContext &ctx, const Track &, const PrepRawDataSet &, const RunOutlierRemoval, const ParticleHypothesis) const override final |
| Refit a track adding a PrepRawDataSet. | |
| virtual std::unique_ptr< Track > | fit (const EventContext &ctx, const Track &, const MeasurementSet &, const RunOutlierRemoval, const ParticleHypothesis) const override final |
| Refit a track adding a measurement base set. | |
| virtual std::unique_ptr< Track > | fit (const EventContext &ctx, const Track &, const Track &, const RunOutlierRemoval, const ParticleHypothesis) const override final |
| Combine two tracks by refitting their measurements. | |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Helper methods | |
| std::unique_ptr< MultiComponentStateOnSurfaceDV > | convertTrajToTrack (GSFTrajectory &trajectory) const |
| Helper to convert the GSFTrajectory to a Trk::Track. | |
| GSFTsos | makePerigee (const EventContext &ctx, Trk::IMultiStateExtrapolator::Cache &, const GSFTrajectory &smoothedTrajectory) const |
| Produces a perigee from a smoothed trajectory. | |
| bool | addCCOT (const EventContext &ctx, const Trk::CaloCluster_OnTrack *ccot, GSFTrajectory &smoothedTrajectory) const |
| Methof to add the CaloCluster onto the track. | |
Actual implementation of the GSF formalism | |
| template<typename T> | |
| GSFTrajectory | forwardFit (const EventContext &ctx, IMultiStateExtrapolator::Cache &cache, const T &inputSet, const TrackParameters &estimatedTrackParametersNearOrigin) const |
| Forward GSF fit. | |
| template<typename T> | |
| bool | stepForwardFit (const EventContext &ctx, IMultiStateExtrapolator::Cache &, GSFTrajectory &forwardTrajectory, const T *measurement, const Surface &surface, MultiComponentState &updatedState) const |
| Progress one step along the forward fit. | |
| GSFTrajectory | smootherFit (const EventContext &ctx, Trk::IMultiStateExtrapolator::Cache &, GSFTrajectory &forwardTrajectory, const CaloCluster_OnTrack *ccot=nullptr) const |
| Gsf smoothed trajectory. | |
Private Attributes | |
| ToolHandle< IMultiStateExtrapolator > | m_extrapolator |
| ToolHandle< IRIO_OnTrackCreator > | m_rioOnTrackCreator |
| Gaudi::Property< bool > | m_reintegrateOutliers |
| Gaudi::Property< bool > | m_refitOnMeasurementBase |
| Gaudi::Property< bool > | m_combineWithFitter |
| Gaudi::Property< bool > | m_useMode |
| Gaudi::Property< bool > | m_slimTransientMTSOS |
| Gaudi::Property< double > | m_cutChiSquaredPerNumberDOF |
| Gaudi::Property< unsigned int > | m_maximumNumberOfComponents |
| DoubleArrayProperty | m_smootherCovFactors |
| TrkParametersComparisonFunction | m_trkParametersComparisonFunction |
| Trk::ParticleHypothesis | m_particleHypothesis = Trk::electron |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Definition at line 44 of file GaussianSumFitter.h.
| using Trk::GaussianSumFitter::GSFTrajectory = std::vector<GSFTsos> |
Definition at line 124 of file GaussianSumFitter.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| Trk::GaussianSumFitter::GaussianSumFitter | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Constructor with parameters to be passed to AlgTool.
Definition at line 161 of file GaussianSumFitter.cxx.
|
virtualdefault |
Virtual destructor.
|
private |
Methof to add the CaloCluster onto the track.
special method to account for possible additional measurement from the calorimeter
Definition at line 765 of file GaussianSumFitter.cxx.
|
private |
Helper to convert the GSFTrajectory to a Trk::Track.
Definition at line 500 of file GaussianSumFitter.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
finaloverridevirtual |
Fit a collection of 'RIO_OnTrack' objects using the Gaussian Sum Filter.
Interface method Fitting of a set of MeasurementBase objects This is the main method for MeasurementBase fitting.
Implements Trk::ITrackFitter.
Definition at line 411 of file GaussianSumFitter.cxx.
|
finaloverridevirtual |
Fit a collection of 'PrepRawData' objects using the Gaussian Sum Filter.
Interface Method Fitting of a set of PrepRawData objects This is the main method for PrepRawData fitting.
Implements Trk::ITrackFitter.
Definition at line 341 of file GaussianSumFitter.cxx.
|
finaloverridevirtual |
Refit a track adding a measurement base set.
Interface method Refit a track adding a RIO_OnTrack set.
Implements Trk::ITrackFitter.
Definition at line 269 of file GaussianSumFitter.cxx.
|
finaloverridevirtual |
Refit a track adding a PrepRawDataSet.
Interface method Refit a track adding a PrepRawData set.
Implements Trk::ITrackFitter.
Definition at line 240 of file GaussianSumFitter.cxx.
|
finaloverridevirtual |
Refit a track.
Interface Method Refitting of an input track.
Extract the measurementBase or PrepRawData and refit.
Implements Trk::ITrackFitter.
Definition at line 200 of file GaussianSumFitter.cxx.
|
finaloverridevirtual |
Combine two tracks by refitting their measurements.
@bried Interface method to Combine two tracks by their measurement
Implements Trk::ITrackFitter.
Definition at line 301 of file GaussianSumFitter.cxx.
|
private |
Forward GSF fit.
|
finaloverridevirtual |
AlgTool initialise method.
Definition at line 171 of file GaussianSumFitter.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlinestaticinherited |
Definition at line 45 of file ITrackFitter.h.
|
private |
Produces a perigee from a smoothed trajectory.
Helper creating a multicomponent perigee TrackStateOnSurface.
Definition at line 515 of file GaussianSumFitter.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
private |
Gsf smoothed trajectory.
This method can handle additional info like calorimeter cluster constraints. It also produces what we actually store in Trk::Tracks.
Definition at line 585 of file GaussianSumFitter.cxx.
|
private |
Progress one step along the forward fit.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 189 of file GaussianSumFitter.h.
|
private |
Definition at line 202 of file GaussianSumFitter.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 176 of file GaussianSumFitter.h.
|
private |
Definition at line 205 of file GaussianSumFitter.h.
|
private |
Definition at line 216 of file GaussianSumFitter.h.
|
private |
Definition at line 186 of file GaussianSumFitter.h.
|
private |
Definition at line 183 of file GaussianSumFitter.h.
|
private |
Definition at line 179 of file GaussianSumFitter.h.
|
private |
Definition at line 197 of file GaussianSumFitter.h.
|
private |
Definition at line 208 of file GaussianSumFitter.h.
|
private |
Definition at line 215 of file GaussianSumFitter.h.
|
private |
Definition at line 193 of file GaussianSumFitter.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.