ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetSubStructureMomentTools
Root
KTSplittingScaleTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
JetSubStructureMomentTools/KTSplittingScaleTool.h
"
6
#include "
JetSubStructureUtils/KtSplittingScale.h
"
7
#include "
JetSubStructureUtils/ZCut.h
"
8
9
#include "
AsgDataHandles/WriteDecorHandle.h
"
10
11
KTSplittingScaleTool::KTSplittingScaleTool
(
const
std::string& name) :
12
JetSubStructureMomentToolsBase
(name)
13
{
14
}
15
16
StatusCode
KTSplittingScaleTool::initialize
() {
17
if
(
m_jetContainerName
.empty()){
18
ATH_MSG_ERROR
(
"KTSplittingScaleTool needs to have its input jet container name configured!"
);
19
return
StatusCode::FAILURE;
20
}
21
22
m_Split12_Key
=
m_jetContainerName
+
"."
+
m_prefix
+
m_Split12_Key
.key();
23
m_Split23_Key
=
m_jetContainerName
+
"."
+
m_prefix
+
m_Split23_Key
.key();
24
m_Split34_Key
=
m_jetContainerName
+
"."
+
m_prefix
+
m_Split34_Key
.key();
25
26
m_ZCut12_Key
=
m_jetContainerName
+
"."
+
m_prefix
+
m_ZCut12_Key
.key();
27
m_ZCut23_Key
=
m_jetContainerName
+
"."
+
m_prefix
+
m_ZCut23_Key
.key();
28
m_ZCut34_Key
=
m_jetContainerName
+
"."
+
m_prefix
+
m_ZCut34_Key
.key();
29
30
ATH_CHECK
(
m_Split12_Key
.initialize());
31
ATH_CHECK
(
m_Split23_Key
.initialize());
32
ATH_CHECK
(
m_Split34_Key
.initialize());
33
34
ATH_CHECK
(
m_ZCut12_Key
.initialize());
35
ATH_CHECK
(
m_ZCut23_Key
.initialize());
36
ATH_CHECK
(
m_ZCut34_Key
.initialize());
37
38
return
StatusCode::SUCCESS;
39
}
40
41
StatusCode
KTSplittingScaleTool::modify
(
xAOD::JetContainer
& jets)
const
42
{
43
44
SG::WriteDecorHandle<xAOD::JetContainer, float>
wdh_Split12(
m_Split12_Key
);
45
SG::WriteDecorHandle<xAOD::JetContainer, float>
wdh_Split23(
m_Split23_Key
);
46
SG::WriteDecorHandle<xAOD::JetContainer, float>
wdh_Split34(
m_Split34_Key
);
47
48
SG::WriteDecorHandle<xAOD::JetContainer, float>
wdh_ZCut12(
m_ZCut12_Key
);
49
SG::WriteDecorHandle<xAOD::JetContainer, float>
wdh_ZCut23(
m_ZCut23_Key
);
50
SG::WriteDecorHandle<xAOD::JetContainer, float>
wdh_ZCut34(
m_ZCut34_Key
);
51
52
for
(
const
xAOD::Jet
* injet : jets){
53
fastjet::PseudoJet
jet
;
54
bool
decorate =
SetupDecoration
(
jet
, *injet);
55
56
float
Split12_value = -999, Split23_value = -999, Split34_value = -999,
57
ZCut12_value = -999, ZCut23_value = -999, ZCut34_value = -999;
58
59
if
(decorate) {
60
JetSubStructureUtils::KtSplittingScale
split12(1);
61
JetSubStructureUtils::KtSplittingScale
split23(2);
62
JetSubStructureUtils::KtSplittingScale
split34(3);
63
Split12_value = split12.
result
(
jet
);
64
Split23_value = split23.
result
(
jet
);
65
Split34_value = split34.
result
(
jet
);
66
67
JetSubStructureUtils::ZCut
zcut12(1);
68
JetSubStructureUtils::ZCut
zcut23(2);
69
JetSubStructureUtils::ZCut
zcut34(3);
70
71
ZCut12_value = zcut12.
result
(
jet
);
72
ZCut23_value = zcut23.
result
(
jet
);
73
ZCut34_value = zcut34.
result
(
jet
);
74
}
75
76
wdh_Split12(*injet) = Split12_value;
77
wdh_Split23(*injet) = Split23_value;
78
wdh_Split34(*injet) = Split34_value;
79
80
wdh_ZCut12(*injet) = ZCut12_value;
81
wdh_ZCut23(*injet) = ZCut23_value;
82
wdh_ZCut34(*injet) = ZCut34_value;
83
}
84
85
return
StatusCode::SUCCESS;
86
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x,...)
Definition
AthMsgStreamMacros.h:47
WriteDecorHandle.h
Handle class for adding a decoration to an object.
KTSplittingScaleTool.h
KtSplittingScale.h
ZCut.h
JetSubStructureMomentToolsBase::JetSubStructureMomentToolsBase
JetSubStructureMomentToolsBase(const std::string &name)
Definition
JetSubStructureMomentToolsBase.cxx:8
JetSubStructureMomentToolsBase::SetupDecoration
bool SetupDecoration(fastjet::PseudoJet &pseudojet, const xAOD::Jet &jet, bool requireJetStructure=false) const
Definition
JetSubStructureMomentToolsBase.cxx:30
JetSubStructureMomentToolsBase::m_prefix
std::string m_prefix
Definition
JetSubStructureMomentToolsBase.h:30
JetSubStructureUtils::KtSplittingScale
Definition
KtSplittingScale.h:11
JetSubStructureUtils::KtSplittingScale::result
virtual double result(const fastjet::PseudoJet &jet) const
Definition
KtSplittingScale.cxx:12
JetSubStructureUtils::ZCut
Definition
ZCut.h:11
JetSubStructureUtils::ZCut::result
virtual double result(const fastjet::PseudoJet &jet) const
Definition
ZCut.cxx:13
KTSplittingScaleTool::m_ZCut23_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ZCut23_Key
Definition
KTSplittingScaleTool.h:38
KTSplittingScaleTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition
KTSplittingScaleTool.h:26
KTSplittingScaleTool::m_Split12_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_Split12_Key
Definition
KTSplittingScaleTool.h:29
KTSplittingScaleTool::KTSplittingScaleTool
KTSplittingScaleTool(const std::string &name)
Definition
KTSplittingScaleTool.cxx:11
KTSplittingScaleTool::m_Split23_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_Split23_Key
Definition
KTSplittingScaleTool.h:31
KTSplittingScaleTool::m_ZCut34_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ZCut34_Key
Definition
KTSplittingScaleTool.h:40
KTSplittingScaleTool::m_Split34_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_Split34_Key
Definition
KTSplittingScaleTool.h:33
KTSplittingScaleTool::m_ZCut12_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ZCut12_Key
Definition
KTSplittingScaleTool.h:36
KTSplittingScaleTool::modify
StatusCode modify(xAOD::JetContainer &jets) const override
Loop over calls to modifyJet.
Definition
KTSplittingScaleTool.cxx:41
KTSplittingScaleTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
KTSplittingScaleTool.cxx:16
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition
StoreGate/StoreGate/WriteDecorHandle.h:100
jet
Definition
JetCalibTools_PlotJESFactors.cxx:23
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition
Event/xAOD/xAODJet/xAODJet/Jet.h:17
xAOD::JetContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Definition
JetContainer.h:17
Generated on
for ATLAS Offline Software by
1.17.0