ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetSubStructureMomentTools
JetSubStructureMomentTools
EnergyCorrelatorGeneralizedTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
18
19
#ifndef jetsubstructuremomenttools_energycorrelatorgeneralizedtool_header
20
#define jetsubstructuremomenttools_energycorrelatorgeneralizedtool_header
21
22
#include "
JetSubStructureMomentTools/JetSubStructureMomentToolsBase.h
"
23
#include "
JetSubStructureMomentTools/ECFHelper.h
"
24
25
#include "
AsgTools/PropertyWrapper.h
"
26
#include "
AsgDataHandles/WriteDecorHandleKey.h
"
27
28
class
EnergyCorrelatorGeneralizedTool
:
29
public
JetSubStructureMomentToolsBase
{
30
ASG_TOOL_CLASS
(
EnergyCorrelatorGeneralizedTool
,
IJetModifier
)
31
32
public
:
33
35
EnergyCorrelatorGeneralizedTool
(
const
std::string& name);
36
37
virtual
StatusCode
initialize
()
override
;
38
39
StatusCode
modify
(
xAOD::JetContainer
& jets)
const override
;
40
41
private
:
42
Gaudi::Property<std::string>
m_jetContainerName
{
this
,
"JetContainer"
,
""
,
"SG key for the input jet container"
};
43
45
struct
moments_t;
46
48
float
m_Beta
;
49
bool
m_doM3
;
50
bool
m_doN3
;
51
bool
m_doLSeries
;
52
std::vector<float>
m_rawBetaVals
;
53
bool
m_doDichroic
;
54
56
std::map< float, moments_t >
m_moments
;
57
59
SG::WriteDecorHandleKey<xAOD::JetContainer>
m_ECFG_2_1_2_Key
{
60
this
,
"ECFG_2_1_2_Key"
,
"ECFG_2_1_2"
};
61
SG::WriteDecorHandleKey<xAOD::JetContainer>
m_ECFG_3_1_1_Key
{
62
this
,
"ECFG_3_1_1_Key"
,
"ECFG_3_1_1"
};
63
SG::WriteDecorHandleKey<xAOD::JetContainer>
m_ECFG_3_2_1_Key
{
64
this
,
"ECFG_3_2_1_Key"
,
"ECFG_3_2_1"
};
65
SG::WriteDecorHandleKey<xAOD::JetContainer>
m_ECFG_3_2_2_Key
{
66
this
,
"ECFG_3_2_2_Key"
,
"ECFG_3_2_2"
};
67
SG::WriteDecorHandleKey<xAOD::JetContainer>
m_ECFG_3_3_1_Key
{
68
this
,
"ECFG_3_3_1_Key"
,
"ECFG_3_3_1"
};
69
SG::WriteDecorHandleKey<xAOD::JetContainer>
m_ECFG_4_2_2_Key
{
70
this
,
"ECFG_4_2_2_Key"
,
"ECFG_4_2_2"
};
71
SG::WriteDecorHandleKey<xAOD::JetContainer>
m_ECFG_4_4_1_Key
{
72
this
,
"ECFG_4_4_1_Key"
,
"ECFG_4_4_1"
};
73
75
SG::WriteDecorHandleKey<xAOD::JetContainer>
m_ECFG_3_3_2_Key
{
76
this
,
"ECFG_3_3_2_Key"
,
"ECFG_3_3_2"
};
77
78
};
79
87
88
struct
EnergyCorrelatorGeneralizedTool::moments_t
{
89
91
std::string
prefix
;
92
94
std::string
suffix
;
95
97
float
beta
;
98
100
std::unique_ptr< SG::AuxElement::Decorator<float> >
dec_ECFG_2_1
;
101
std::unique_ptr< SG::AuxElement::Decorator<float> >
dec_ECFG_3_1
;
102
std::unique_ptr< SG::AuxElement::Decorator<float> >
dec_ECFG_3_2
;
103
std::unique_ptr< SG::AuxElement::Decorator<float> >
dec_ECFG_4_1
;
104
std::unique_ptr< SG::AuxElement::Decorator<float> >
dec_ECFG_4_2
;
105
107
std::unique_ptr< SG::AuxElement::Decorator<float> >
dec_ECFG_2_1_ungroomed
;
108
std::unique_ptr< SG::AuxElement::Decorator<float> >
dec_ECFG_3_1_ungroomed
;
109
std::unique_ptr< SG::AuxElement::Decorator<float> >
dec_ECFG_3_2_ungroomed
;
110
111
moments_t
(
float
Beta,
const
std::string& Prefix)
112
:
prefix
(Prefix),
113
suffix
(
GetBetaSuffix
(Beta)),
114
beta
(Beta),
115
116
dec_ECFG_2_1
(
std
::make_unique<
SG
::AuxElement::Decorator<float> >(
prefix
+
"ECFG_2_1"
+
suffix
)),
117
dec_ECFG_3_1
(
std
::make_unique<
SG
::AuxElement::Decorator<float> >(
prefix
+
"ECFG_3_1"
+
suffix
)),
118
dec_ECFG_3_2
(
std
::make_unique<
SG
::AuxElement::Decorator<float> >(
prefix
+
"ECFG_3_2"
+
suffix
)),
119
dec_ECFG_4_1
(
std
::make_unique<
SG
::AuxElement::Decorator<float> >(
prefix
+
"ECFG_4_1"
+
suffix
)),
120
dec_ECFG_4_2
(
std
::make_unique<
SG
::AuxElement::Decorator<float> >(
prefix
+
"ECFG_4_2"
+
suffix
)),
121
122
dec_ECFG_2_1_ungroomed
(
std
::make_unique<
SG
::AuxElement::Decorator<float> >(
prefix
+
"ECFG_2_1_ungroomed"
+
suffix
)),
123
dec_ECFG_3_1_ungroomed
(
std
::make_unique<
SG
::AuxElement::Decorator<float> >(
prefix
+
"ECFG_3_1_ungroomed"
+
suffix
)),
124
dec_ECFG_3_2_ungroomed
(
std
::make_unique<
SG
::AuxElement::Decorator<float> >(
prefix
+
"ECFG_3_2_ungroomed"
+
suffix
))
125
{
126
}
127
128
};
129
130
#endif
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
WriteDecorHandleKey.h
ECFHelper.h
GetBetaSuffix
std::string GetBetaSuffix(float beta)
Definition
ECFHelper.cxx:10
JetSubStructureMomentToolsBase.h
PropertyWrapper.h
EnergyCorrelatorGeneralizedTool::m_ECFG_4_4_1_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_4_4_1_Key
Definition
EnergyCorrelatorGeneralizedTool.h:71
EnergyCorrelatorGeneralizedTool::m_doM3
bool m_doM3
Definition
EnergyCorrelatorGeneralizedTool.h:49
EnergyCorrelatorGeneralizedTool::m_ECFG_3_3_2_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_3_2_Key
Added for MDT studies, might remove later.
Definition
EnergyCorrelatorGeneralizedTool.h:75
EnergyCorrelatorGeneralizedTool::m_Beta
float m_Beta
Configurable as properties.
Definition
EnergyCorrelatorGeneralizedTool.h:48
EnergyCorrelatorGeneralizedTool::m_ECFG_2_1_2_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_2_1_2_Key
Decorators for L-series ECFs.
Definition
EnergyCorrelatorGeneralizedTool.h:59
EnergyCorrelatorGeneralizedTool::m_ECFG_3_2_2_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_2_2_Key
Definition
EnergyCorrelatorGeneralizedTool.h:65
EnergyCorrelatorGeneralizedTool::m_ECFG_4_2_2_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_4_2_2_Key
Definition
EnergyCorrelatorGeneralizedTool.h:69
EnergyCorrelatorGeneralizedTool::m_moments
std::map< float, moments_t > m_moments
Map of moment decorators using beta as the key.
Definition
EnergyCorrelatorGeneralizedTool.h:56
EnergyCorrelatorGeneralizedTool::m_ECFG_3_3_1_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_3_1_Key
Definition
EnergyCorrelatorGeneralizedTool.h:67
EnergyCorrelatorGeneralizedTool::m_rawBetaVals
std::vector< float > m_rawBetaVals
Definition
EnergyCorrelatorGeneralizedTool.h:52
EnergyCorrelatorGeneralizedTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition
EnergyCorrelatorGeneralizedTool.h:42
EnergyCorrelatorGeneralizedTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
EnergyCorrelatorGeneralizedTool.cxx:22
EnergyCorrelatorGeneralizedTool::m_doN3
bool m_doN3
Definition
EnergyCorrelatorGeneralizedTool.h:50
EnergyCorrelatorGeneralizedTool::m_ECFG_3_1_1_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_1_1_Key
Definition
EnergyCorrelatorGeneralizedTool.h:61
EnergyCorrelatorGeneralizedTool::m_doLSeries
bool m_doLSeries
Definition
EnergyCorrelatorGeneralizedTool.h:51
EnergyCorrelatorGeneralizedTool::modify
StatusCode modify(xAOD::JetContainer &jets) const override
Loop over calls to modifyJet.
Definition
EnergyCorrelatorGeneralizedTool.cxx:93
EnergyCorrelatorGeneralizedTool::m_doDichroic
bool m_doDichroic
Vector of input values before cleaning.
Definition
EnergyCorrelatorGeneralizedTool.h:53
EnergyCorrelatorGeneralizedTool::EnergyCorrelatorGeneralizedTool
EnergyCorrelatorGeneralizedTool(const std::string &name)
Constructor.
Definition
EnergyCorrelatorGeneralizedTool.cxx:11
EnergyCorrelatorGeneralizedTool::m_ECFG_3_2_1_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_2_1_Key
Definition
EnergyCorrelatorGeneralizedTool.h:63
IJetModifier
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
Definition
IJetModifier.h:20
JetSubStructureMomentToolsBase::JetSubStructureMomentToolsBase
JetSubStructureMomentToolsBase(const std::string &name)
Definition
JetSubStructureMomentToolsBase.cxx:8
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition
StoreGate/StoreGate/WriteDecorHandleKey.h:90
SG
Forward declaration.
Definition
CaloCellPacker_400_500.h:32
std
STL namespace.
xAOD::JetContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Definition
JetContainer.h:17
EnergyCorrelatorGeneralizedTool::moments_t
Definition
EnergyCorrelatorGeneralizedTool.h:88
EnergyCorrelatorGeneralizedTool::moments_t::prefix
std::string prefix
Prefix for decorations.
Definition
EnergyCorrelatorGeneralizedTool.h:91
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_4_2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_4_2
Definition
EnergyCorrelatorGeneralizedTool.h:104
EnergyCorrelatorGeneralizedTool::moments_t::moments_t
moments_t(float Beta, const std::string &Prefix)
Definition
EnergyCorrelatorGeneralizedTool.h:111
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_2
Definition
EnergyCorrelatorGeneralizedTool.h:102
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_2_1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_2_1
ECFG decorators.
Definition
EnergyCorrelatorGeneralizedTool.h:100
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_2_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_2_ungroomed
Definition
EnergyCorrelatorGeneralizedTool.h:109
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_2_1_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_2_1_ungroomed
ECFG ungroomed decorators.
Definition
EnergyCorrelatorGeneralizedTool.h:107
EnergyCorrelatorGeneralizedTool::moments_t::beta
float beta
Beta value for calculations.
Definition
EnergyCorrelatorGeneralizedTool.h:97
EnergyCorrelatorGeneralizedTool::moments_t::suffix
std::string suffix
Suffix for decorations.
Definition
EnergyCorrelatorGeneralizedTool.h:94
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_1_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_1_ungroomed
Definition
EnergyCorrelatorGeneralizedTool.h:108
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_4_1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_4_1
Definition
EnergyCorrelatorGeneralizedTool.h:103
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_1
Definition
EnergyCorrelatorGeneralizedTool.h:101
Generated on
for ATLAS Offline Software by
1.17.0