5#ifndef ACTSTRKFINDING_SCOREBASEDAMBIGUITYRESOLUTIONALG_H
6#define ACTSTRKFINDING_SCOREBASEDAMBIGUITYRESOLUTIONALG_H 1
14#include "Acts/AmbiguityResolution/ScoreBasedAmbiguityResolution.hpp"
15#include "Acts/Definitions/Units.hpp"
16#include "Acts/Utilities/Logger.hpp"
31 using AthReentrantAlgorithm::AthReentrantAlgorithm;
34 virtual StatusCode
finalize()
override;
35 virtual StatusCode
execute(
const EventContext &ctx)
const override;
38 ToolHandle<GenericMonitoringTool>
m_monTool{
this,
"MonTool",
"",
42 this,
"TracksLocation",
"",
"Input track collection"};
44 this,
"ResolvedTracksLocation",
"",
45 "Ambiguity resolved output track collection"};
47 Gaudi::Property<double>
m_minScore{
this,
"MinScore", 0.0,
48 "Minimum score for track selection."};
50 this,
"MinScoreSharedTracks", 0.0,
51 "Minimum score for shared track selection."};
53 this,
"MaxSharedTracksPerMeasurement", 10,
54 "Maximum number of shared tracks per measurement."};
56 this,
"MaxShared", 5,
"Maximum number of shared hit per track."};
58 this,
"MinUnshared", 5,
"Minimum number of unshared hits per track."};
61 this,
"UseAmbiguityScoring",
false,
62 "Flag to enable/disable ambiguity function."};
65 this,
"jsonFileName",
"ScoreBasedAmbiguity_Config.json",
66 "Name of the JSON file that contains the config file."};
68 Gaudi::Property<bool>
m_countSharedHits{
this,
"countSharedHits",
true,
"add shared hit flags to tracks"};
70 std::unique_ptr<Acts::ScoreBasedAmbiguityResolution>
m_ambi{
nullptr};
74 this,
"InDetEtaDependentCutsSvc",
""};
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.
ServiceHandle< InDet::IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
ITk eta-dependent cuts.
virtual StatusCode finalize() override
std::unique_ptr< Acts::ScoreBasedAmbiguityResolution > m_ambi
Gaudi::Property< double > m_minScore
Gaudi::Property< std::string > m_jsonFileName
Gaudi::Property< std::size_t > m_maxShared
SG::ReadHandleKey< ActsTrk::TrackContainer > m_tracksKey
Gaudi::Property< double > m_minScoreSharedTracks
virtual StatusCode initialize() override
Gaudi::Property< std::size_t > m_maxSharedTracksPerMeasurement
Gaudi::Property< bool > m_useAmbiguityScoring
SG::WriteHandleKey< ActsTrk::TrackContainer > m_resolvedTracksKey
virtual StatusCode execute(const EventContext &ctx) const override
ToolHandle< GenericMonitoringTool > m_monTool
Gaudi::Property< bool > m_countSharedHits
std::array< std::atomic< unsigned int >, kNStat > m_stat ATLAS_THREAD_SAFE
Gaudi::Property< std::size_t > m_minUnshared
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...