ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
tauRecTools
tauRecTools
TauJetRNNEvaluator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TAURECTOOLS_TAUJETRNNEVALUATOR_H
6
#define TAURECTOOLS_TAUJETRNNEVALUATOR_H
7
8
#include "
tauRecTools/TauRecToolBase.h
"
9
#include "
AsgTools/PropertyWrapper.h
"
10
11
#include "
xAODTau/TauJet.h
"
12
#include "
xAODCaloEvent/CaloVertexedTopoCluster.h
"
13
14
#include <memory>
15
16
class
TauJetRNN
;
17
28
class
TauJetRNNEvaluator
:
public
TauRecToolBase
{
29
public
:
30
ASG_TOOL_CLASS2
(
TauJetRNNEvaluator
,
TauRecToolBase
,
ITauToolBase
)
31
32
TauJetRNNEvaluator
(
const
std::string &name =
"TauJetRNNEvaluator"
);
33
virtual
~TauJetRNNEvaluator
();
34
35
virtual
StatusCode
initialize
()
override
;
36
virtual
StatusCode
execute
(
xAOD::TauJet
&tau)
const override
;
37
38
// Selects tracks to be used as input to the network
39
StatusCode
get_tracks
(
const
xAOD::TauJet
&tau,
40
std::vector<const xAOD::TauTrack *> &out)
const
;
41
42
// Selects clusters to be used as input to the network
43
StatusCode
get_clusters
(
const
xAOD::TauJet
&tau,
44
std::vector<xAOD::CaloVertexedTopoCluster> &out)
const
;
45
46
private
:
47
48
// properties
49
Gaudi::Property<std::string>
m_weightfile_0p
{
this
,
"NetworkFile0P"
,
""
};
50
Gaudi::Property<std::string>
m_weightfile_1p
{
this
,
"NetworkFile1P"
,
""
};
51
Gaudi::Property<std::string>
m_weightfile_2p
{
this
,
"NetworkFile2P"
,
""
};
52
Gaudi::Property<std::string>
m_weightfile_3p
{
this
,
"NetworkFile3P"
,
""
};
53
Gaudi::Property<std::string>
m_output_varname
{
this
,
"OutputVarname"
,
"RNNJetScore"
};
54
Gaudi::Property<std::size_t>
m_max_tracks
{
this
,
"MaxTracks"
, 10};
55
Gaudi::Property<std::size_t>
m_max_clusters
{
this
,
"MaxClusters"
, 6};
56
Gaudi::Property<float>
m_max_cluster_dr
{
this
,
"MaxClusterDR"
, 1.0f};
57
Gaudi::Property<bool>
m_doVertexCorrection
{
this
,
"VertexCorrection"
,
true
};
58
Gaudi::Property<bool>
m_doTrackClassification
{
this
,
"TrackClassification"
,
true
};
59
Gaudi::Property<bool>
m_useTRT
{
this
,
"useTRT"
,
true
};
60
Gaudi::Property<std::string>
m_input_layer_scalar
{
this
,
"InputLayerScalar"
,
"scalar"
};
61
Gaudi::Property<std::string>
m_input_layer_tracks
{
this
,
"InputLayerTracks"
,
"tracks"
};
62
Gaudi::Property<std::string>
m_input_layer_clusters
{
this
,
"InputLayerClusters"
,
"clusters"
};
63
Gaudi::Property<std::string>
m_output_layer
{
this
,
"OutputLayer"
,
"rnnid_output"
};
64
Gaudi::Property<std::string>
m_output_node
{
this
,
"OutputNode"
,
"sig_prob"
};
65
Gaudi::Property<bool>
m_applyLooseTrackSel
{
this
,
"ApplyLooseTrackSel"
,
false
};
66
67
// Wrappers for lwtnn
68
std::unique_ptr<TauJetRNN>
m_net_0p
;
69
std::unique_ptr<TauJetRNN>
m_net_1p
;
70
std::unique_ptr<TauJetRNN>
m_net_2p
;
71
std::unique_ptr<TauJetRNN>
m_net_3p
;
72
};
73
74
#endif
// TAURECTOOLS_TAUJETRNNEVALUATOR_H
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition
AsgToolMacros.h:77
CaloVertexedTopoCluster.h
Evaluate cluster kinematics with a different vertex / signal state.
PropertyWrapper.h
TauJet.h
TauRecToolBase.h
ITauToolBase
The base class for all tau tools.
Definition
ITauToolBase.h:30
TauJetRNNEvaluator::m_weightfile_2p
Gaudi::Property< std::string > m_weightfile_2p
Definition
TauJetRNNEvaluator.h:51
TauJetRNNEvaluator::initialize
virtual StatusCode initialize() override
Tool initializer.
Definition
TauJetRNNEvaluator.cxx:25
TauJetRNNEvaluator::m_input_layer_clusters
Gaudi::Property< std::string > m_input_layer_clusters
Definition
TauJetRNNEvaluator.h:62
TauJetRNNEvaluator::execute
virtual StatusCode execute(xAOD::TauJet &tau) const override
Execute - called for each tau candidate.
Definition
TauJetRNNEvaluator.cxx:116
TauJetRNNEvaluator::m_input_layer_tracks
Gaudi::Property< std::string > m_input_layer_tracks
Definition
TauJetRNNEvaluator.h:61
TauJetRNNEvaluator::m_max_cluster_dr
Gaudi::Property< float > m_max_cluster_dr
Definition
TauJetRNNEvaluator.h:56
TauJetRNNEvaluator::m_net_0p
std::unique_ptr< TauJetRNN > m_net_0p
Definition
TauJetRNNEvaluator.h:68
TauJetRNNEvaluator::m_doTrackClassification
Gaudi::Property< bool > m_doTrackClassification
Definition
TauJetRNNEvaluator.h:58
TauJetRNNEvaluator::m_weightfile_1p
Gaudi::Property< std::string > m_weightfile_1p
Definition
TauJetRNNEvaluator.h:50
TauJetRNNEvaluator::m_max_clusters
Gaudi::Property< std::size_t > m_max_clusters
Definition
TauJetRNNEvaluator.h:55
TauJetRNNEvaluator::m_useTRT
Gaudi::Property< bool > m_useTRT
Definition
TauJetRNNEvaluator.h:59
TauJetRNNEvaluator::TauJetRNNEvaluator
TauJetRNNEvaluator(const std::string &name="TauJetRNNEvaluator")
Definition
TauJetRNNEvaluator.cxx:14
TauJetRNNEvaluator::get_tracks
StatusCode get_tracks(const xAOD::TauJet &tau, std::vector< const xAOD::TauTrack * > &out) const
Definition
TauJetRNNEvaluator.cxx:157
TauJetRNNEvaluator::m_net_2p
std::unique_ptr< TauJetRNN > m_net_2p
Definition
TauJetRNNEvaluator.h:70
TauJetRNNEvaluator::m_output_node
Gaudi::Property< std::string > m_output_node
Definition
TauJetRNNEvaluator.h:64
TauJetRNNEvaluator::m_net_3p
std::unique_ptr< TauJetRNN > m_net_3p
Definition
TauJetRNNEvaluator.h:71
TauJetRNNEvaluator::~TauJetRNNEvaluator
virtual ~TauJetRNNEvaluator()
Definition
TauJetRNNEvaluator.cxx:23
TauJetRNNEvaluator::m_weightfile_0p
Gaudi::Property< std::string > m_weightfile_0p
Definition
TauJetRNNEvaluator.h:49
TauJetRNNEvaluator::get_clusters
StatusCode get_clusters(const xAOD::TauJet &tau, std::vector< xAOD::CaloVertexedTopoCluster > &out) const
Definition
TauJetRNNEvaluator.cxx:191
TauJetRNNEvaluator::m_weightfile_3p
Gaudi::Property< std::string > m_weightfile_3p
Definition
TauJetRNNEvaluator.h:52
TauJetRNNEvaluator::m_output_layer
Gaudi::Property< std::string > m_output_layer
Definition
TauJetRNNEvaluator.h:63
TauJetRNNEvaluator::m_input_layer_scalar
Gaudi::Property< std::string > m_input_layer_scalar
Definition
TauJetRNNEvaluator.h:60
TauJetRNNEvaluator::m_net_1p
std::unique_ptr< TauJetRNN > m_net_1p
Definition
TauJetRNNEvaluator.h:69
TauJetRNNEvaluator::m_doVertexCorrection
Gaudi::Property< bool > m_doVertexCorrection
Definition
TauJetRNNEvaluator.h:57
TauJetRNNEvaluator::m_output_varname
Gaudi::Property< std::string > m_output_varname
Definition
TauJetRNNEvaluator.h:53
TauJetRNNEvaluator::m_applyLooseTrackSel
Gaudi::Property< bool > m_applyLooseTrackSel
Definition
TauJetRNNEvaluator.h:65
TauJetRNNEvaluator::m_max_tracks
Gaudi::Property< std::size_t > m_max_tracks
Definition
TauJetRNNEvaluator.h:54
TauJetRNN
Wrapper around lwtnn to compute the output score of a neural network.
Definition
TauJetRNN.h:34
TauRecToolBase::TauRecToolBase
TauRecToolBase(const std::string &name)
Definition
TauRecToolBase.cxx:125
xAOD::TauJet
TauJet_v3 TauJet
Definition of the current "tau version".
Definition
TauJet.h:17
Generated on
for ATLAS Offline Software by
1.17.0