5#ifndef ACTSTRKFINDING_AMBIGUITYRESOLUTIONALG_H
6#define ACTSTRKFINDING_AMBIGUITYRESOLUTIONALG_H 1
12#include "GaudiKernel/ToolHandle.h"
13#include "Gaudi/Property.h"
17#include "Acts/Utilities/Logger.hpp"
18#include "Acts/Utilities/Helpers.hpp"
20#include "Acts/AmbiguityResolution/GreedyAmbiguityResolution.hpp"
45 using AthReentrantAlgorithm::AthReentrantAlgorithm;
48 virtual StatusCode
finalize()
override;
49 virtual StatusCode
execute(
const EventContext &ctx)
const override;
52 ToolHandle< GenericMonitoringTool >
m_monTool {
this,
"MonTool",
"",
"Monitoring tool"};
55 {
this,
"TracksLocation",
"",
"Input track collection"};
57 {
this,
"ResolvedTracksLocation",
"",
"Ambiguity resolved output track collection"};
60 {
this,
"MaximumSharedHits", 3u,
"Maximum number of shared hits per track."};
62 {
this,
"MaximumIterations", 10000u,
"Maximum number of iterations to resolve ambiguities among all tracks."};
64 {
this,
"NMeasurementsMin", 7u,
"Minimum number of measurements per track."};
65 Gaudi::Property<bool>
m_countSharedHits{
this,
"countSharedHits",
true,
"add shared hit flags to tracks"};
67 std::unique_ptr<Acts::GreedyAmbiguityResolution>
m_ambi {
nullptr};
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
ToolHandle< GenericMonitoringTool > m_monTool
Gaudi::Property< unsigned int > m_maximumSharedHits
std::array< std::atomic< unsigned int >, kNStat > m_stat ATLAS_THREAD_SAFE
virtual StatusCode finalize() override
std::unique_ptr< Acts::GreedyAmbiguityResolution > m_ambi
SG::ReadHandleKey< ActsTrk::TrackContainer > m_tracksKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_resolvedTracksKey
Gaudi::Property< bool > m_countSharedHits
virtual StatusCode initialize() override
Gaudi::Property< unsigned int > m_maximumIterations
Gaudi::Property< unsigned int > m_nMeasurementsMin
virtual StatusCode execute(const EventContext &ctx) const override
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...