ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonLearning
MuonInference
src
SegmentEdgeInferenceAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef MUONINFERENCE_SEGMENTEDGEINFERENCEALG_H
5
#define MUONINFERENCE_SEGMENTEDGEINFERENCEALG_H
6
7
#include "
AthContainers/ConstDataVector.h
"
8
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
9
#include "Gaudi/Property.h"
10
#include "
MuonInferenceInterfaces/ISegmentEdgeClassifierTool.h
"
11
#include "
StoreGate/ReadHandleKey.h
"
12
#include "
StoreGate/WriteDecorHandleKey.h
"
13
#include "
StoreGate/WriteHandleKey.h
"
14
#include "
xAODMuon/MuonSegmentContainer.h
"
15
16
namespace
MuonML
{
17
class
SegmentEdgeInferenceAlg
final :
public
AthReentrantAlgorithm
{
18
public
:
19
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
20
StatusCode
initialize
()
override
;
21
StatusCode
execute
(
const
EventContext& ctx)
const override
;
22
private
:
23
SG::ReadHandleKey<xAOD::MuonSegmentContainer>
m_segmentKey
{
this
,
"SegmentKey"
,
"MuonSegmentsFromR4"
};
31
SG::WriteDecorHandleKey<xAOD::MuonSegmentContainer>
m_pairGateDecorKey
{
32
this
,
"PairGateDecoration"
,
"MuonSegmentsFromR4.mlTrackComponent"
};
33
SG::WriteHandleKey<ConstDataVector<xAOD::MuonSegmentContainer>
>
m_filteredSegmentKey
{
34
this
,
"FilteredSegmentKey"
,
""
,
35
"Optional VIEW container containing only segments incident to a "
36
"post-classifier selected edge; empty disables the output"
};
37
Gaudi::Property<float>
m_pairGateThreshold
{
38
this
,
"PairGateThreshold"
, 0.5f,
39
"Minimum edge probability used to form ML track components"
};
40
Gaudi::Property<unsigned int>
m_maxEdgesPerNode
{
41
this
,
"MaxEdgesPerNode"
, 2,
42
"Keep at most this many highest-score neighbours per segment when forming the ML path graph; zero keeps all"
};
43
Gaudi::Property<bool>
m_useDegreeCappedComponents
{
44
this
,
"UseDegreeCappedComponents"
,
false
,
45
"Use a global greedy degree cap instead of the mutual top-K path graph"
};
46
Gaudi::Property<bool>
m_requireMutualTopKEdges
{
47
this
,
"RequireMutualTopKEdges"
,
true
,
48
"Retain an ML association only when both endpoint segments rank it in their top MaxEdgesPerNode scores"
};
49
Gaudi::Property<bool>
m_recoverOrphanNodes
{
50
this
,
"RecoverOrphanNodes"
,
true
,
51
"For a thresholded node without a mutual top-K edge, retain its best one-sided top-K association"
};
52
Gaudi::Property<unsigned int>
m_seedAnchorsPerComponent
{
53
this
,
"SeedAnchorsPerComponent"
, 0,
54
"Number of highest-score segments that may seed each ML component; zero keeps every retained segment"
};
55
Gaudi::Property<bool>
m_anchorInnermostLayer
{
56
this
,
"AnchorInnermostLayer"
,
false
,
57
"Restrict seed anchors to inner segment(s)."
};
58
Gaudi::Property<bool>
m_keepBestSegmentPerChamber
{
59
this
,
"KeepBestSegmentPerChamber"
,
true
,
60
"Keep only the ML-best segment in each chamber within a component"
};
61
Gaudi::Property<unsigned int>
m_minSegmentsPerComponent
{
62
this
,
"MinSegmentsPerComponent"
, 2,
63
"Discard ML components with fewer retained segments"
};
64
ToolHandle<ISegmentEdgeClassifierTool>
m_edgeClassifier
{
this
,
"EdgeClassifierTool"
,
"MuonML::SegmentEdgeClassifierTool/SegmentEdgeClassifierTool"
};
65
};
66
}
67
#endif
AthReentrantAlgorithm.h
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
ISegmentEdgeClassifierTool.h
MuonSegmentContainer.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
MuonML::SegmentEdgeInferenceAlg
Definition
SegmentEdgeInferenceAlg.h:17
MuonML::SegmentEdgeInferenceAlg::m_keepBestSegmentPerChamber
Gaudi::Property< bool > m_keepBestSegmentPerChamber
Definition
SegmentEdgeInferenceAlg.h:58
MuonML::SegmentEdgeInferenceAlg::m_anchorInnermostLayer
Gaudi::Property< bool > m_anchorInnermostLayer
Definition
SegmentEdgeInferenceAlg.h:55
MuonML::SegmentEdgeInferenceAlg::m_pairGateDecorKey
SG::WriteDecorHandleKey< xAOD::MuonSegmentContainer > m_pairGateDecorKey
Per-segment payload consumed by MlMsTrackSeeder: [componentId, isSeedAnchor] Empty means that the seg...
Definition
SegmentEdgeInferenceAlg.h:31
MuonML::SegmentEdgeInferenceAlg::m_useDegreeCappedComponents
Gaudi::Property< bool > m_useDegreeCappedComponents
Definition
SegmentEdgeInferenceAlg.h:43
MuonML::SegmentEdgeInferenceAlg::m_edgeClassifier
ToolHandle< ISegmentEdgeClassifierTool > m_edgeClassifier
Definition
SegmentEdgeInferenceAlg.h:64
MuonML::SegmentEdgeInferenceAlg::m_maxEdgesPerNode
Gaudi::Property< unsigned int > m_maxEdgesPerNode
Definition
SegmentEdgeInferenceAlg.h:40
MuonML::SegmentEdgeInferenceAlg::m_requireMutualTopKEdges
Gaudi::Property< bool > m_requireMutualTopKEdges
Definition
SegmentEdgeInferenceAlg.h:46
MuonML::SegmentEdgeInferenceAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition
SegmentEdgeInferenceAlg.cxx:85
MuonML::SegmentEdgeInferenceAlg::initialize
StatusCode initialize() override
Definition
SegmentEdgeInferenceAlg.cxx:77
MuonML::SegmentEdgeInferenceAlg::m_minSegmentsPerComponent
Gaudi::Property< unsigned int > m_minSegmentsPerComponent
Definition
SegmentEdgeInferenceAlg.h:61
MuonML::SegmentEdgeInferenceAlg::m_filteredSegmentKey
SG::WriteHandleKey< ConstDataVector< xAOD::MuonSegmentContainer > > m_filteredSegmentKey
Definition
SegmentEdgeInferenceAlg.h:33
MuonML::SegmentEdgeInferenceAlg::m_recoverOrphanNodes
Gaudi::Property< bool > m_recoverOrphanNodes
Definition
SegmentEdgeInferenceAlg.h:49
MuonML::SegmentEdgeInferenceAlg::m_segmentKey
SG::ReadHandleKey< xAOD::MuonSegmentContainer > m_segmentKey
Definition
SegmentEdgeInferenceAlg.h:23
MuonML::SegmentEdgeInferenceAlg::m_seedAnchorsPerComponent
Gaudi::Property< unsigned int > m_seedAnchorsPerComponent
Definition
SegmentEdgeInferenceAlg.h:52
MuonML::SegmentEdgeInferenceAlg::m_pairGateThreshold
Gaudi::Property< float > m_pairGateThreshold
Definition
SegmentEdgeInferenceAlg.h:37
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition
StoreGate/StoreGate/WriteDecorHandleKey.h:90
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
MuonML
Definition
BucketGraphUtils.h:19
Generated on
for ATLAS Offline Software by
1.17.0