ATLAS Offline Software
Loading...
Searching...
No Matches
ScoreBasedAmbiguityResolutionAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSTRKFINDING_SCOREBASEDAMBIGUITYRESOLUTIONALG_H
6#define ACTSTRKFINDING_SCOREBASEDAMBIGUITYRESOLUTIONALG_H 1
7
8// Base Class
10
12// ACTS
14#include "Acts/AmbiguityResolution/ScoreBasedAmbiguityResolution.hpp"
15#include "Acts/Definitions/Units.hpp"
16#include "Acts/Utilities/Logger.hpp"
18
19// Athena
22
23// Handle Keys
26
27namespace ActsTrk {
28
30 public:
31 using AthReentrantAlgorithm::AthReentrantAlgorithm;
32
33 virtual StatusCode initialize() override;
34 virtual StatusCode finalize() override;
35 virtual StatusCode execute(const EventContext &ctx) const override;
36
37 private:
38 ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "",
39 "Monitoring tool"};
40
42 this, "TracksLocation", "", "Input track collection"};
44 this, "ResolvedTracksLocation", "",
45 "Ambiguity resolved output track collection"};
46
47 Gaudi::Property<double> m_minScore{this, "MinScore", 0.0,
48 "Minimum score for track selection."};
49 Gaudi::Property<double> m_minScoreSharedTracks{
50 this, "MinScoreSharedTracks", 0.0,
51 "Minimum score for shared track selection."};
52 Gaudi::Property<std::size_t> m_maxSharedTracksPerMeasurement{
53 this, "MaxSharedTracksPerMeasurement", 10,
54 "Maximum number of shared tracks per measurement."};
55 Gaudi::Property<std::size_t> m_maxShared{
56 this, "MaxShared", 5, "Maximum number of shared hit per track."};
57 Gaudi::Property<std::size_t> m_minUnshared{
58 this, "MinUnshared", 5, "Minimum number of unshared hits per track."};
59
60 Gaudi::Property<bool> m_useAmbiguityScoring{
61 this, "UseAmbiguityScoring", false,
62 "Flag to enable/disable ambiguity function."};
63
64 Gaudi::Property<std::string> m_jsonFileName{
65 this, "jsonFileName", "ScoreBasedAmbiguity_Config.json",
66 "Name of the JSON file that contains the config file."};
67
68 Gaudi::Property<bool> m_countSharedHits{this, "countSharedHits", true, "add shared hit flags to tracks"};
69
70 std::unique_ptr<Acts::ScoreBasedAmbiguityResolution> m_ambi{nullptr};
71
75
76 public:
83
84 private:
85 mutable std::array<std::atomic<unsigned int>, kNStat> m_stat ATLAS_THREAD_SAFE{};
86};
87
88} // namespace ActsTrk
89
90#endif
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.
std::unique_ptr< Acts::ScoreBasedAmbiguityResolution > m_ambi
SG::ReadHandleKey< ActsTrk::TrackContainer > m_tracksKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_resolvedTracksKey
virtual StatusCode execute(const EventContext &ctx) const override
std::array< std::atomic< unsigned int >, kNStat > m_stat ATLAS_THREAD_SAFE
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...