ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetRecTools
JetRecTools
CorrectPFOTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// CorrectPFOTool.h
6
7
#ifndef JETRECTOOLS_CORRECTPFOTOOL_H
8
#define JETRECTOOLS_CORRECTPFOTOOL_H
9
21
22
#include "
JetRecTools/JetConstituentModifierBase.h
"
23
#include "
xAODTracking/VertexContainer.h
"
24
#include "
xAODPFlow/PFOContainer.h
"
25
#include "
xAODPFlow/FlowElementContainer.h
"
26
#include "
AsgTools/ToolHandle.h
"
27
#include "
PFlowUtils/IWeightPFOTool.h
"
28
29
#include "
AsgDataHandles/ReadHandleKey.h
"
30
31
32
class
CorrectPFOTool
:
public
JetConstituentModifierBase
{
33
ASG_TOOL_CLASS
(
CorrectPFOTool
,
IJetConstituentModifier
)
34
35
public
:
36
37
CorrectPFOTool
(
const
std::string& name);
38
39
// Check that the configuration is reasonable
40
StatusCode
initialize
()
override
final
;
41
42
private
:
43
44
// Implement the correction
45
StatusCode
process_impl
(
xAOD::IParticleContainer
* cont)
const
override
final
;
46
// Type-specific operation
47
StatusCode
correctPFO
(
xAOD::PFOContainer
& cont)
const
;
48
StatusCode
correctPFO
(
xAOD::FlowElementContainer
& cont)
const
;
49
StatusCode
correctPFOByVertex
(
xAOD::PFOContainer
& cont)
const
;
50
StatusCode
correctPFOByVertex
(
xAOD::FlowElementContainer
& cont)
const
;
51
52
const
xAOD::Vertex
*
getPrimaryVertex
()
const
;
53
StatusCode
applyNeutralCorrection
(
xAOD::PFO
& pfo,
const
xAOD::Vertex
& vtx)
const
;
54
StatusCode
applyNeutralCorrection
(
xAOD::FlowElement
& pfo,
const
xAOD::Vertex
& vtx)
const
;
55
StatusCode
applyChargedCorrection
(
xAOD::PFO
& pfo)
const
;
56
StatusCode
applyChargedCorrection
(
xAOD::FlowElement
& pfo)
const
;
57
58
bool
m_inputIsEM
;
59
bool
m_calibrate
;
60
bool
m_correctneutral
;
//If true, correct neutral PFO
61
bool
m_correctcharged
;
//If true, correct charged PFO
62
bool
m_useChargedWeights
;
//If true, them we make use of the charged PFO weighting scheme
63
bool
m_doByVertex
;
// If true, then we add vertex-by-vertex corrections as auxdata for neutral PFOs
64
ToolHandle<CP::IWeightPFOTool>
m_weightPFOTool
;
65
66
SG::ReadHandleKey<xAOD::VertexContainer>
m_vertexContainer_key
;
67
68
};
69
70
#endif
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
FlowElementContainer.h
IWeightPFOTool.h
JetConstituentModifierBase.h
PFOContainer.h
ToolHandle.h
VertexContainer.h
CorrectPFOTool::correctPFOByVertex
StatusCode correctPFOByVertex(xAOD::PFOContainer &cont) const
Definition
CorrectPFOTool.cxx:162
CorrectPFOTool::m_calibrate
bool m_calibrate
If true EM clusters are used for neutral PFOs.
Definition
CorrectPFOTool.h:59
CorrectPFOTool::m_doByVertex
bool m_doByVertex
Definition
CorrectPFOTool.h:63
CorrectPFOTool::correctPFO
StatusCode correctPFO(xAOD::PFOContainer &cont) const
Definition
CorrectPFOTool.cxx:104
CorrectPFOTool::m_correctcharged
bool m_correctcharged
Definition
CorrectPFOTool.h:61
CorrectPFOTool::m_inputIsEM
bool m_inputIsEM
Definition
CorrectPFOTool.h:58
CorrectPFOTool::process_impl
StatusCode process_impl(xAOD::IParticleContainer *cont) const override final
Definition
CorrectPFOTool.cxx:54
CorrectPFOTool::m_vertexContainer_key
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainer_key
Definition
CorrectPFOTool.h:66
CorrectPFOTool::applyChargedCorrection
StatusCode applyChargedCorrection(xAOD::PFO &pfo) const
Definition
CorrectPFOTool.cxx:307
CorrectPFOTool::m_useChargedWeights
bool m_useChargedWeights
Definition
CorrectPFOTool.h:62
CorrectPFOTool::CorrectPFOTool
CorrectPFOTool(const std::string &name)
Definition
CorrectPFOTool.cxx:13
CorrectPFOTool::applyNeutralCorrection
StatusCode applyNeutralCorrection(xAOD::PFO &pfo, const xAOD::Vertex &vtx) const
Definition
CorrectPFOTool.cxx:277
CorrectPFOTool::m_weightPFOTool
ToolHandle< CP::IWeightPFOTool > m_weightPFOTool
Definition
CorrectPFOTool.h:64
CorrectPFOTool::getPrimaryVertex
const xAOD::Vertex * getPrimaryVertex() const
Definition
CorrectPFOTool.cxx:69
CorrectPFOTool::m_correctneutral
bool m_correctneutral
If true, EM PFOs are calibrated to LC.
Definition
CorrectPFOTool.h:60
CorrectPFOTool::initialize
StatusCode initialize() override final
Dummy implementation of the initialisation function.
Definition
CorrectPFOTool.cxx:32
IJetConstituentModifier
Definition
IJetConstituentModifier.h:16
JetConstituentModifierBase::JetConstituentModifierBase
JetConstituentModifierBase(const std::string &name)
Definition
JetConstituentModifierBase.cxx:14
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
xAOD::FlowElementContainer
FlowElementContainer_v1 FlowElementContainer
Definition of the current "pfo container version".
Definition
FlowElementContainer.h:16
xAOD::PFO
PFO_v1 PFO
Definition of the current "pfo version".
Definition
PFO.h:17
xAOD::PFOContainer
PFOContainer_v1 PFOContainer
Definition of the current "pfo container version".
Definition
PFOContainer.h:17
xAOD::FlowElement
FlowElement_v1 FlowElement
Definition of the current "pfo version".
Definition
FlowElement.h:16
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
xAOD::IParticleContainer
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.
Definition
xAOD/xAODBase/xAODBase/IParticleContainer.h:32
Generated on
for ATLAS Offline Software by
1.17.0