5#ifndef ACTSTRKFINDING_SCOREBASEDAMBIGUITYRESOLUTIONALG_H
6#define ACTSTRKFINDING_SCOREBASEDAMBIGUITYRESOLUTIONALG_H 1
12#include "Gaudi/Property.h"
13#include "GaudiKernel/ToolHandle.h"
17#include "Acts/AmbiguityResolution/ScoreBasedAmbiguityResolution.hpp"
18#include "Acts/Definitions/Units.hpp"
19#include "Acts/Utilities/Logger.hpp"
35 ISvcLocator *pSvcLocator);
38 virtual StatusCode
finalize()
override;
39 virtual StatusCode
execute(
const EventContext &ctx)
const override;
42 ToolHandle<GenericMonitoringTool>
m_monTool{
this,
"MonTool",
"",
46 this,
"TracksLocation",
"",
"Input track collection"};
48 this,
"ResolvedTracksLocation",
"",
49 "Ambiguity resolved output track collection"};
51 Gaudi::Property<double>
m_minScore{
this,
"MinScore", 0.0,
52 "Minimum score for track selection."};
54 this,
"MinScoreSharedTracks", 0.0,
55 "Minimum score for shared track selection."};
57 this,
"MaxSharedTracksPerMeasurement", 10,
58 "Maximum number of shared tracks per measurement."};
60 this,
"MaxShared", 5,
"Maximum number of shared hit per track."};
62 this,
"MinUnshared", 5,
"Minimum number of unshared hits per track."};
65 this,
"UseAmbiguityScoring",
false,
66 "Flag to enable/disable ambiguity function."};
69 this,
"jsonFileName",
"ScoreBasedAmbiguity_Config.json",
70 "Name of the JSON file that contains the config file."};
72 Gaudi::Property<bool>
m_countSharedHits{
this,
"countSharedHits",
true,
"add shared hit flags to tracks"};
74 std::unique_ptr<Acts::ScoreBasedAmbiguityResolution>
m_ambi{
nullptr};
78 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
ScoreBasedAmbiguityResolutionAlg(const std::string &name, ISvcLocator *pSvcLocator)
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...