ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetMomentTools
src
JetVoronoiMomentsTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
6
#include "
StoreGate/WriteDecorHandle.h
"
7
#include "
JetMomentTools/JetVoronoiMomentsTool.h
"
8
9
// helpers
10
#include "
JetMomentTools/JetVoronoiDiagramHelpers.h
"
11
12
13
using
JetVoronoiDiagramHelpers::coord
;
14
using
JetVoronoiDiagramHelpers::Point
;
15
using
JetVoronoiDiagramHelpers::Segment
;
16
using
JetVoronoiDiagramHelpers::SegmentList
;
17
using
JetVoronoiDiagramHelpers::Polygon
;
18
using
JetVoronoiDiagramHelpers::PolygonList
;
19
using
JetVoronoiDiagramHelpers::Diagram
;
20
21
22
JetVoronoiMomentsTool::JetVoronoiMomentsTool
(
const
std::string& name)
23
:
asg
::
AsgTool
(name)
24
{
25
declareInterface<IJetDecorator>(
this
);
26
}
27
28
StatusCode
JetVoronoiMomentsTool::initialize
() {
29
30
if
(
m_jetContainerName
.empty()){
31
ATH_MSG_ERROR
(
"JetVoronoiMomentsTool needs to have its input jet container name configured!"
);
32
return
StatusCode::FAILURE;
33
}
34
35
// Prepend jet collection name
36
m_voronoiAreaKey
=
m_jetContainerName
+
"."
+
m_voronoiAreaKey
.key();
37
38
ATH_CHECK
(
m_voronoiAreaKey
.initialize());
39
return
StatusCode::SUCCESS;
40
}
41
42
StatusCode
JetVoronoiMomentsTool::decorate
(
const
xAOD::JetContainer
& jets)
const
{
43
44
SG::WriteDecorHandle<xAOD::JetContainer, float>
outputHandle(
m_voronoiAreaKey
);
45
46
// setup diagram class
47
Diagram
voro (
"VoronoiDiagram"
);
48
voro.
m_x_min
=
m_x_min
;
49
voro.
m_x_max
=
m_x_max
;
50
voro.
m_y_min
=
m_y_min
;
51
voro.
m_y_max
=
m_y_max
;
52
if
(voro.
initialize
().isFailure())
ATH_MSG_WARNING
(
"Initialization of diagram failed. This should never happen."
);
53
// add jets / set number of points
54
for
(
const
xAOD::Jet
*
jet
: jets ) {
55
voro.
m_voro_vtx
.
Add
(
jet
->eta(),
jet
->phi());
56
}
57
// create diagram and calculate area per cell
58
if
( voro.
createVoronoiDiagram
().isFailure() ) {
59
ATH_MSG_WARNING
(
"Could not calculate Voronoi diagram"
);
60
}
61
// decorate the jets
62
for
(
const
xAOD::Jet
*
jet
: jets ){
63
outputHandle(*
jet
) = voro.
getCellArea
(
jet
->eta(),
jet
->phi());
64
}
65
return
StatusCode::SUCCESS;
66
}
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:32
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition
AthMsgStreamMacros.h:31
JetVoronoiDiagramHelpers.h
JetVoronoiMomentsTool.h
WriteDecorHandle.h
Handle class for adding a decoration to an object.
JetVoronoiMomentsTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
JetVoronoiMomentsTool.cxx:28
JetVoronoiMomentsTool::JetVoronoiMomentsTool
JetVoronoiMomentsTool(const std::string &name)
Definition
JetVoronoiMomentsTool.cxx:22
JetVoronoiMomentsTool::m_x_min
Gaudi::Property< float > m_x_min
Definition
JetVoronoiMomentsTool.h:46
JetVoronoiMomentsTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition
JetVoronoiMomentsTool.h:54
JetVoronoiMomentsTool::m_y_min
Gaudi::Property< float > m_y_min
Definition
JetVoronoiMomentsTool.h:50
JetVoronoiMomentsTool::m_y_max
Gaudi::Property< float > m_y_max
Definition
JetVoronoiMomentsTool.h:52
JetVoronoiMomentsTool::decorate
virtual StatusCode decorate(const xAOD::JetContainer &jets) const override
Decorate a jet collection without otherwise modifying it.
Definition
JetVoronoiMomentsTool.cxx:42
JetVoronoiMomentsTool::m_voronoiAreaKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_voronoiAreaKey
Definition
JetVoronoiMomentsTool.h:57
JetVoronoiMomentsTool::m_x_max
Gaudi::Property< float > m_x_max
Definition
JetVoronoiMomentsTool.h:48
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition
StoreGate/StoreGate/WriteDecorHandle.h:100
asg::AsgTool::AsgTool
AsgTool(const std::string &name)
Constructor specifying the tool instance's name.
Definition
AsgTool.cxx:58
JetVoronoiDiagramHelpers::PolygonList
std::vector< Polygon > PolygonList
List of polygons.
Definition
JetVoronoiDiagramHelpers.h:110
JetVoronoiDiagramHelpers::coord
double coord
Type of coordination system.
Definition
JetVoronoiDiagramHelpers.h:43
asg
Definition
DataHandleTestTool.h:28
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
JetVoronoiDiagramHelpers::Diagram
Tool for calculating and storing diagram.
Definition
JetVoronoiDiagramHelpers.h:124
JetVoronoiDiagramHelpers::Diagram::m_x_max
double m_x_max
Definition
JetVoronoiDiagramHelpers.h:139
JetVoronoiDiagramHelpers::Diagram::getCellArea
float getCellArea(const coord x, const coord y) const
Definition
JetVoronoiDiagramHelpers.cxx:118
JetVoronoiDiagramHelpers::Diagram::createVoronoiDiagram
StatusCode createVoronoiDiagram()
Definition
JetVoronoiDiagramHelpers.cxx:148
JetVoronoiDiagramHelpers::Diagram::m_x_min
double m_x_min
Definition
JetVoronoiDiagramHelpers.h:138
JetVoronoiDiagramHelpers::Diagram::m_voro_vtx
Polygon m_voro_vtx
Definition
JetVoronoiDiagramHelpers.h:144
JetVoronoiDiagramHelpers::Diagram::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition
JetVoronoiDiagramHelpers.cxx:98
JetVoronoiDiagramHelpers::Diagram::m_y_max
double m_y_max
Definition
JetVoronoiDiagramHelpers.h:141
JetVoronoiDiagramHelpers::Diagram::m_y_min
double m_y_min
Definition
JetVoronoiDiagramHelpers.h:140
JetVoronoiDiagramHelpers::Point
Default object of 2D space.
Definition
JetVoronoiDiagramHelpers.h:48
JetVoronoiDiagramHelpers::Polygon
List of points in 2D space.
Definition
JetVoronoiDiagramHelpers.h:92
JetVoronoiDiagramHelpers::Polygon::Add
void Add(coord x, coord y)
Definition
JetVoronoiDiagramHelpers.h:93
JetVoronoiDiagramHelpers::SegmentList
List of segments.
Definition
JetVoronoiDiagramHelpers.h:115
JetVoronoiDiagramHelpers::Segment
Straight line in 2D space.
Definition
JetVoronoiDiagramHelpers.h:81
Generated on
for ATLAS Offline Software by
1.17.0