![]() |
ATLAS Offline Software
|
#include <AmbiguityProcessorBase.h>
Public Types | |
| enum class | CounterIndex { kNcandidates , kNcandScoreZero , kNcandDouble , kNscoreOk , kNscoreZeroBremRefit , kNscoreZeroBremRefitFailed , kNscoreZeroBremRefitScoreZero , kNscoreZero , kNaccepted , kNsubTrack , kNnoSubTrack , kNacceptedBrem , kNbremFits , kNfits , kNrecoveryBremFits , kNgoodFits , kNfailedFits , kNCounter } |
| using | Counter = AmbiCounter<CounterIndex> |
| using | TrackScoreMap = std::multimap<TrackScore, TrackPtr> |
Public Member Functions | |
| AmbiguityProcessorBase (const std::string &, const std::string &, const IInterface *) | |
| virtual | ~AmbiguityProcessorBase ()=default |
| 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 |
| virtual const TrackCollection * | process (const TrackCollection *, Trk::PRDtoTrackMap *prd_to_track_map=nullptr) const =0 |
| (in concrete object) Returns a processed TrackCollection from the passed 'tracks' | |
| virtual const TrackCollection * | process (const TracksScores *) const =0 |
| virtual void | statistics ()=0 |
| Print statistics at the end of the processing. | |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
Protected Types | |
| using | UniqueClusterSplitProbabilityContainerPtr |
Protected Member Functions | |
| bool | shouldTryBremRecovery (const Trk::Track &track) const |
| bool | shouldTryBremRecovery (const Trk::Track &track, const TrackParameters *pPar) const |
| virtual std::unique_ptr< Trk::Track > | doBremRefit (const Trk::Track &track) const =0 |
| Track * | refitTrack (const Trk::Track *track, Trk::PRDtoTrackMap &prdToTrackMap, Counter &stat, int trackId, int subtrackId) const |
| refit track | |
| virtual Trk::Track * | refitPrds (const Trk::Track *track, Trk::PRDtoTrackMap &prdToTrackMap, Counter &stat) const =0 |
| virtual Trk::Track * | refitRots (const Trk::Track *track, Counter &stat) const |
| virtual std::unique_ptr< Trk::Track > | fit (const Track &track, bool flag, Trk::ParticleHypothesis hypo) const =0 |
| void | addTrack (Trk::Track *in_track, const bool fitted, TrackScoreMap &trackScoreTrackMap, std::vector< std::unique_ptr< const Trk::Track > > &trackDustbin, Counter &stat, int parentTrackId) const |
| const TrackParameters * | getTrackParameters (const Trk::Track *track) const |
| StatusCode | initializeClusterSplitProbContainer () |
| Initialize read and write handles for ClusterSplitProbabilityContainers. | |
| AmbiguityProcessorBase::UniqueClusterSplitProbabilityContainerPtr | createAndRecordClusterSplitProbContainer (const EventContext &ctx) const |
| Create a new cluster splitting probability container and (optionally) record it in storegate The new container may be populated from an already existing container, and might be stored in StoreGate. | |
| 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. | |
Protected Attributes | |
| std::vector< float > | m_etaBounds |
| eta intervals for internal monitoring | |
| std::mutex | m_statMutex |
| Counter m_stat | ATLAS_THREAD_SAFE |
| ToolHandle< ITrackScoringTool > | m_scoringTool |
| Scoring tool This tool is used to 'score' the tracks, i.e. | |
| PublicToolHandle< Trk::ITrkObserverTool > | m_observerTool |
| Observer tool This tool is used to observe the tracks and their 'score'. | |
| ToolHandle< Trk::IExtendedTrackSummaryTool > | m_trackSummaryTool |
| bool | m_tryBremFit {} |
| brem recovery mode with brem fit ? | |
| bool | m_caloSeededBrem {} |
| float | m_pTminBrem {1000.} |
| bool | m_suppressHoleSearch {} |
| bool | m_suppressTrackFit {} |
| bool | m_refitPrds {} |
| bool | m_forceRefit {true} |
| by default tracks at input get refitted | |
| int | m_matEffects {3} |
| read in as an integer and convert to particle hypothesis | |
| Trk::ParticleHypothesis | m_particleHypothesis {undefined} |
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> | |
Private Attributes | |
| SG::ReadHandleKey< Trk::ClusterSplitProbabilityContainer > | m_clusterSplitProbContainerIn |
| SG::WriteHandleKey< Trk::ClusterSplitProbabilityContainer > | m_clusterSplitProbContainerOut |
| 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 35 of file AmbiguityProcessorBase.h.
Definition at line 58 of file AmbiguityProcessorBase.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| using Trk::AmbiguityProcessorBase::TrackScoreMap = std::multimap<TrackScore, TrackPtr> |
Definition at line 59 of file AmbiguityProcessorBase.h.
Definition at line 113 of file AmbiguityProcessorBase.h.
|
strong |
Definition at line 38 of file AmbiguityProcessorBase.h.
| Trk::AmbiguityProcessorBase::AmbiguityProcessorBase | ( | const std::string & | t, |
| const std::string & | n, | ||
| const IInterface * | p ) |
Definition at line 12 of file AmbiguityProcessorBase.cxx.
|
virtualdefault |
|
protected |
Definition at line 152 of file AmbiguityProcessorBase.cxx.
|
protected |
Create a new cluster splitting probability container and (optionally) record it in storegate The new container may be populated from an already existing container, and might be stored in StoreGate.
The ownersip, which might be either storegate or the calling scope, is taken into account by the UniqueClusterSplitProbabilityContainerPtr and must not be touched i.e. unique_ptr::release must not be called.
Definition at line 71 of file AmbiguityProcessorBase.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.
|
protectedpure virtual |
Implemented in Trk::DenseEnvironmentsAmbiguityProcessorTool, and Trk::SimpleAmbiguityProcessorTool.
|
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
|
protectedpure virtual |
Implemented in Trk::DenseEnvironmentsAmbiguityProcessorTool, and Trk::SimpleAmbiguityProcessorTool.
|
protected |
Definition at line 274 of file AmbiguityProcessorBase.cxx.
|
protected |
Initialize read and write handles for ClusterSplitProbabilityContainers.
If a write handle key is specified for the new ClusterSplitProbabilityContainer, read handles for this key are "renounced" in all child tools.
usage:
Definition at line 28 of file AmbiguityProcessorBase.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 52 of file ITrackAmbiguityProcessorTool.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.
|
pure virtualinherited |
(in concrete object) Returns a processed TrackCollection from the passed 'tracks'
| tracks | collection of tracks which will have ambiguities resolved. Will not be modified. |
| prd_to_track_map | on optional prd-to-track map being filled by the processor. |
If no prd-to-track map is given the processor might create one internally (for internal use only, or exported to storegate).
Implemented in Trk::DenseEnvironmentsAmbiguityProcessorTool, Trk::SimpleAmbiguityProcessorTool, and Trk::TrackSelectionProcessorTool.
|
pure virtualinherited |
|
protectedpure virtual |
Implemented in Trk::DenseEnvironmentsAmbiguityProcessorTool, and Trk::SimpleAmbiguityProcessorTool.
|
protectedvirtual |
Definition at line 289 of file AmbiguityProcessorBase.cxx.
|
protected |
refit track
Definition at line 116 of file AmbiguityProcessorBase.cxx.
|
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.
|
protected |
Definition at line 19 of file AmbiguityProcessorBase.cxx.
|
protected |
Definition at line 109 of file AmbiguityProcessorBase.cxx.
|
pure virtualinherited |
Print statistics at the end of the processing.
Implemented in Trk::DenseEnvironmentsAmbiguityProcessorTool, Trk::SimpleAmbiguityProcessorTool, and Trk::TrackSelectionProcessorTool.
|
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.
|
mutableprotected |
Definition at line 130 of file AmbiguityProcessorBase.h.
|
protected |
Definition at line 159 of file AmbiguityProcessorBase.h.
|
private |
Definition at line 150 of file AmbiguityProcessorBase.h.
|
private |
Definition at line 153 of file AmbiguityProcessorBase.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
protected |
eta intervals for internal monitoring
Definition at line 128 of file AmbiguityProcessorBase.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
protected |
by default tracks at input get refitted
Definition at line 166 of file AmbiguityProcessorBase.h.
|
protected |
read in as an integer and convert to particle hypothesis
reference: /TrkEventPrimitives/ParticleHypothesis.h
Definition at line 170 of file AmbiguityProcessorBase.h.
|
protected |
Observer tool This tool is used to observe the tracks and their 'score'.
Definition at line 140 of file AmbiguityProcessorBase.h.
|
protected |
Definition at line 171 of file AmbiguityProcessorBase.h.
|
protected |
Definition at line 160 of file AmbiguityProcessorBase.h.
|
protected |
Definition at line 164 of file AmbiguityProcessorBase.h.
|
protected |
Scoring tool This tool is used to 'score' the tracks, i.e.
to quantify what a good track is.
Definition at line 136 of file AmbiguityProcessorBase.h.
|
mutableprotected |
Definition at line 129 of file AmbiguityProcessorBase.h.
|
protected |
Definition at line 161 of file AmbiguityProcessorBase.h.
|
protected |
Definition at line 163 of file AmbiguityProcessorBase.h.
|
protected |
Definition at line 142 of file AmbiguityProcessorBase.h.
|
protected |
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.