ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsTrackReconstruction
src
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
9
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
10
11
#include "
GeoPrimitives/GeoPrimitives.h
"
12
// ACTS
13
#include "
src/ScoreBasedSolverCutsImpl.h
"
14
#include "Acts/AmbiguityResolution/ScoreBasedAmbiguityResolution.hpp"
15
#include "Acts/Definitions/Units.hpp"
16
#include "Acts/Utilities/Logger.hpp"
17
#include "
ActsEvent/TrackContainer.h
"
18
19
// Athena
20
#include "
AthenaMonitoringKernel/GenericMonitoringTool.h
"
21
#include "
InDetRecToolInterfaces/IInDetEtaDependentCutsSvc.h
"
22
23
// Handle Keys
24
#include "
StoreGate/ReadHandleKey.h
"
25
#include "
StoreGate/WriteHandleKey.h
"
26
27
namespace
ActsTrk
{
28
29
class
ScoreBasedAmbiguityResolutionAlg
:
public
AthReentrantAlgorithm
{
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
41
SG::ReadHandleKey<ActsTrk::TrackContainer>
m_tracksKey
{
42
this
,
"TracksLocation"
,
""
,
"Input track collection"
};
43
SG::WriteHandleKey<ActsTrk::TrackContainer>
m_resolvedTracksKey
{
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
73
ServiceHandle<InDet::IInDetEtaDependentCutsSvc>
m_etaDependentCutsSvc
{
74
this
,
"InDetEtaDependentCutsSvc"
,
""
};
75
76
public
:
77
enum
EStat
{
78
kNInputTracks
,
79
kNResolvedTracks
,
80
kNSharedHits
,
81
kNStat
82
};
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
AthReentrantAlgorithm.h
GenericMonitoringTool.h
GeoPrimitives.h
IInDetEtaDependentCutsSvc.h
ScoreBasedSolverCutsImpl.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
TrackContainer.h
ActsTrk::ScoreBasedAmbiguityResolutionAlg
Definition
ScoreBasedAmbiguityResolutionAlg.h:29
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_etaDependentCutsSvc
ServiceHandle< InDet::IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
ITk eta-dependent cuts.
Definition
ScoreBasedAmbiguityResolutionAlg.h:73
ActsTrk::ScoreBasedAmbiguityResolutionAlg::finalize
virtual StatusCode finalize() override
Definition
ScoreBasedAmbiguityResolutionAlg.cxx:73
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_ambi
std::unique_ptr< Acts::ScoreBasedAmbiguityResolution > m_ambi
Definition
ScoreBasedAmbiguityResolutionAlg.h:70
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_minScore
Gaudi::Property< double > m_minScore
Definition
ScoreBasedAmbiguityResolutionAlg.h:47
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_jsonFileName
Gaudi::Property< std::string > m_jsonFileName
Definition
ScoreBasedAmbiguityResolutionAlg.h:64
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_maxShared
Gaudi::Property< std::size_t > m_maxShared
Definition
ScoreBasedAmbiguityResolutionAlg.h:55
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_tracksKey
SG::ReadHandleKey< ActsTrk::TrackContainer > m_tracksKey
Definition
ScoreBasedAmbiguityResolutionAlg.h:41
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_minScoreSharedTracks
Gaudi::Property< double > m_minScoreSharedTracks
Definition
ScoreBasedAmbiguityResolutionAlg.h:49
ActsTrk::ScoreBasedAmbiguityResolutionAlg::initialize
virtual StatusCode initialize() override
Definition
ScoreBasedAmbiguityResolutionAlg.cxx:33
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_maxSharedTracksPerMeasurement
Gaudi::Property< std::size_t > m_maxSharedTracksPerMeasurement
Definition
ScoreBasedAmbiguityResolutionAlg.h:52
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_useAmbiguityScoring
Gaudi::Property< bool > m_useAmbiguityScoring
Definition
ScoreBasedAmbiguityResolutionAlg.h:60
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_resolvedTracksKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_resolvedTracksKey
Definition
ScoreBasedAmbiguityResolutionAlg.h:43
ActsTrk::ScoreBasedAmbiguityResolutionAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
ScoreBasedAmbiguityResolutionAlg.cxx:83
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition
ScoreBasedAmbiguityResolutionAlg.h:38
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_countSharedHits
Gaudi::Property< bool > m_countSharedHits
Definition
ScoreBasedAmbiguityResolutionAlg.h:68
ActsTrk::ScoreBasedAmbiguityResolutionAlg::ATLAS_THREAD_SAFE
std::array< std::atomic< unsigned int >, kNStat > m_stat ATLAS_THREAD_SAFE
Definition
ScoreBasedAmbiguityResolutionAlg.h:85
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_minUnshared
Gaudi::Property< std::size_t > m_minUnshared
Definition
ScoreBasedAmbiguityResolutionAlg.h:57
ActsTrk::ScoreBasedAmbiguityResolutionAlg::EStat
EStat
Definition
ScoreBasedAmbiguityResolutionAlg.h:77
ActsTrk::ScoreBasedAmbiguityResolutionAlg::kNStat
@ kNStat
Definition
ScoreBasedAmbiguityResolutionAlg.h:81
ActsTrk::ScoreBasedAmbiguityResolutionAlg::kNResolvedTracks
@ kNResolvedTracks
Definition
ScoreBasedAmbiguityResolutionAlg.h:79
ActsTrk::ScoreBasedAmbiguityResolutionAlg::kNInputTracks
@ kNInputTracks
Definition
ScoreBasedAmbiguityResolutionAlg.h:78
ActsTrk::ScoreBasedAmbiguityResolutionAlg::kNSharedHits
@ kNSharedHits
Definition
ScoreBasedAmbiguityResolutionAlg.h:80
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
Generated on
for ATLAS Offline Software by
1.17.0