|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef AmbiguityProcessorBase_h
6 #define AmbiguityProcessorBase_h
17 #include "GaudiKernel/ToolHandle.h"
93 virtual std::unique_ptr<Trk::Track>
fit(
98 std::vector<std::unique_ptr<const Trk::Track> >& trackDustbin,
137 "track scoring tool"};
141 this,
"ObserverTool",
"",
"track observer within ambiguity solver"};
143 this,
"TrackSummaryTool",
"InDetTrackSummaryToolNoHoleSearch"};
SG::ReadHandleKey< Trk::ClusterSplitProbabilityContainer > m_clusterSplitProbContainerIn
std::vector< float > m_etaBounds
eta intervals for internal monitoring
Track * refitTrack(const Trk::Track *track, Trk::PRDtoTrackMap &prdToTrackMap, Counter &stat, int trackId, int subtrackId) const
refit track
@ kNscoreZeroBremRefitFailed
std::unique_ptr< Trk::ClusterSplitProbabilityContainer, void(*)(Trk::ClusterSplitProbabilityContainer *)> UniqueClusterSplitProbabilityContainerPtr
virtual Trk::Track * refitRots(const Trk::Track *track, Counter &stat) const
AmbiguityProcessorBase::UniqueClusterSplitProbabilityContainerPtr createAndRecordClusterSplitProbContainer(const EventContext &ctx) const
Create a new cluster splitting probability container and (optionally) record it in storegate The new ...
PublicToolHandle< Trk::ITrkObserverTool > m_observerTool
Observer tool This tool is used to observe the tracks and their 'score'.
virtual ~AmbiguityProcessorBase()=default
AmbiguityProcessorBase(const std::string &, const std::string &, const IInterface *)
StatusCode initializeClusterSplitProbContainer()
Initialize read and write handles for ClusterSplitProbabilityContainers.
::StatusCode StatusCode
StatusCode definition for legacy code.
bool shouldTryBremRecovery(const Trk::Track &track) const
@ kNscoreZeroBremRefitScoreZero
virtual std::unique_ptr< Trk::Track > fit(const Track &track, bool flag, Trk::ParticleHypothesis hypo) const =0
const TrackParameters * getTrackParameters(const Trk::Track *track) const
bool m_tryBremFit
brem recovery mode with brem fit ?
ToolHandle< ITrackScoringTool > m_scoringTool
Scoring tool This tool is used to 'score' the tracks, i.e.
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
SG::WriteHandleKey< Trk::ClusterSplitProbabilityContainer > m_clusterSplitProbContainerOut
Ensure that the ATLAS eigen extensions are properly loaded.
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trackSummaryTool
Container to associate Cluster with cluster splitting probabilities.
bool m_suppressHoleSearch
int m_matEffects
read in as an integer and convert to particle hypothesis
bool m_forceRefit
by default tracks at input get refitted
Trk::ParticleHypothesis m_particleHypothesis
Counter m_stat ATLAS_THREAD_SAFE
virtual std::unique_ptr< Trk::Track > doBremRefit(const Trk::Track &track) const =0
virtual Trk::Track * refitPrds(const Trk::Track *track, Trk::PRDtoTrackMap &prdToTrackMap, Counter &stat) const =0
std::multimap< TrackScore, TrackPtr > TrackScoreMap