![]() |
ATLAS Offline Software
|
AlgTool to calculate the residual and pull of a measurement and the related track state independently of the detector type. More...
#include <ResidualPullCalculator.h>
Public Member Functions | |
| ResidualPullCalculator (const std::string &type, const std::string &name, const IInterface *parent) | |
| constructor | |
| ~ResidualPullCalculator () | |
| virtual StatusCode | initialize () override final |
| initialize | |
| virtual StatusCode | finalize () override final |
| virtual std::optional< Trk::ResidualPull > | residualPull (const Trk::MeasurementBase *measurement, const Trk::TrackParameters *trkPar, const Trk::ResidualPull::ResidualType resType, const Trk::TrackState::MeasurementType) const override final |
| This function returns (creates!) a Trk::ResidualPull object, which contains the values of residual and pull for the given measurement and track state. | |
| virtual std::optional< Trk::ResidualPull > | residualPull (const Trk::MeasurementBase *measurement, const Trk::TrackParameters *trkPar, const Trk::ResidualPull::ResidualType resType, const Trk::TrackState::MeasurementType, const std::vector< const Trk::AlignmentEffectsOnTrack * > &) const override final |
| This function returns (creates!) a Trk::ResidualPull object, which contains the values of residual and pull for the given measurement and track state, and the Alignment effects. | |
| virtual std::array< double, 5 > | residuals (const Trk::MeasurementBase *measurement, const Trk::TrackParameters *trkPar, const Trk::ResidualPull::ResidualType resType, const Trk::TrackState::MeasurementType) const override final |
| This function is a light-weight version of the function above, designed for track fitters where speed is critical. | |
| 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 |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
| Interface ID, declared here, and defined below. | |
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 | |
| double | calcPull (const double residual, const double locMesCov, const double locTrkCov, const Trk::ResidualPull::ResidualType &resType) const |
| calc pull in 1 dimension | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| ToolHandle< IResidualPullCalculator > | m_SCTresidualTool |
| the ResidualPullCalculator for the SCT | |
| ToolHandle< IResidualPullCalculator > | m_RPCresidualTool |
| the ResidualPullCalculator for the RPC | |
| ToolHandle< IResidualPullCalculator > | m_TGCresidualTool |
| the ResidualPullCalculator for the TGC | |
| const AtlasDetectorID * | m_idHelper |
| Used to know the sub-det from PRD->identify(). | |
| 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 |
AlgTool to calculate the residual and pull of a measurement and the related track state independently of the detector type.
The Trk::ResidualPullCalculator is an AlgTool to calculate the residual and pull of a measurement and the related track state independent of the detector type. For sub-detectors like the SCT which need more attention a special tool in the detector-realm is called (to avoid dependencies on sub-detector code; only runtime-dependencies are created).
The residuals and pulls are calculated according to the formulas given in the description of Trk::ResidualPull.
Definition at line 46 of file ResidualPullCalculator.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| Trk::ResidualPullCalculator::ResidualPullCalculator | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
constructor
Definition at line 31 of file ResidualPullCalculator.cxx.
|
inline |
Definition at line 50 of file ResidualPullCalculator.h.
|
private |
calc pull in 1 dimension
Definition at line 444 of file ResidualPullCalculator.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 |
Definition at line 79 of file ResidualPullCalculator.cxx.
|
finaloverridevirtual |
initialize
Definition at line 47 of file ResidualPullCalculator.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 |
Interface ID, declared here, and defined below.
Definition at line 84 of file IResidualPullCalculator.h.
|
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.
|
finaloverridevirtual |
This function returns (creates!) a Trk::ResidualPull object, which contains the values of residual and pull for the given measurement and track state.
The track state can be an unbiased one (which can be retrieved by the Trk::IUpdator), a biased one (which contains the measurement), or a truth state. The enum residualTyp must be set according to this, otherwise the pulls will be wrong. Residuals differ in all three cases; please be aware of this.
This function determines the sub-detector type itself by using the ID helper
Implements Trk::IResidualPullCalculator.
Definition at line 175 of file ResidualPullCalculator.cxx.
|
finaloverridevirtual |
This function returns (creates!) a Trk::ResidualPull object, which contains the values of residual and pull for the given measurement and track state, and the Alignment effects.
The track state can be an unbiased one (which can be retrieved by the Trk::IUpdator), a biased one (which contains the measurement), or a truth state. The enum residualTyp must be set according to this, otherwise the pulls will be wrong. Residuals differ in all three cases; please be aware of this.
This function determines the sub-detector type itself by using the ID helper
Reimplemented from Trk::IResidualPullCalculator.
Definition at line 309 of file ResidualPullCalculator.cxx.
|
finaloverridevirtual |
This function is a light-weight version of the function above, designed for track fitters where speed is critical.
The user has to provide a std::array of size 5, which gets filled with the residuals.
Implements Trk::IResidualPullCalculator.
Definition at line 88 of file ResidualPullCalculator.cxx.
|
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.
|
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 |
Used to know the sub-det from PRD->identify().
Definition at line 103 of file ResidualPullCalculator.h.
|
private |
the ResidualPullCalculator for the RPC
Definition at line 101 of file ResidualPullCalculator.h.
|
private |
the ResidualPullCalculator for the SCT
Definition at line 100 of file ResidualPullCalculator.h.
|
private |
the ResidualPullCalculator for the TGC
Definition at line 102 of file ResidualPullCalculator.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.