ATLAS Offline Software
PhysicsAnalysis
AnalysisCommon
AssociationUtils
AssociationUtils
OverlapRemovalTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ASSOCIATIONUTILS_OVERLAPREMOVALTOOL_H
6
#define ASSOCIATIONUTILS_OVERLAPREMOVALTOOL_H
7
8
// Framework includes
9
#include "
AsgTools/AsgTool.h
"
10
#include "
AsgTools/ToolHandle.h
"
11
12
// Local includes
13
#include "
AssociationUtils/IOverlapRemovalTool.h
"
14
#include "
AssociationUtils/IOverlapTool.h
"
15
#include "
AssociationUtils/OverlapRemovalDefs.h
"
16
#include "
AssociationUtils/OverlapDecorationHelper.h
"
17
18
19
namespace
ORUtils
20
{
21
30
class
OverlapRemovalTool
:
public
virtual
IOverlapRemovalTool
,
31
public
asg::AsgTool
32
{
33
35
ASG_TOOL_CLASS
(
OverlapRemovalTool
,
IOverlapRemovalTool
)
36
37
public
:
38
40
OverlapRemovalTool
(
const
std::string&
name
);
41
43
virtual
StatusCode
initialize
()
override
;
44
48
virtual
StatusCode
49
removeOverlaps
(
const
xAOD::ElectronContainer
*
electrons
,
50
const
xAOD::MuonContainer
* muons,
51
const
xAOD::JetContainer
*
jets
,
52
const
xAOD::TauJetContainer
* taus = 0,
53
const
xAOD::PhotonContainer
* photons = 0,
54
const
xAOD::JetContainer
* fatJets = 0)
const override
;
55
56
private
:
57
59
StatusCode
removeOverlap
(
const
ToolHandle<IOverlapTool>&
tool
,
60
const
xAOD::IParticleContainer
* cont1,
61
const
xAOD::IParticleContainer
* cont2)
const
;
62
63
private
:
64
65
//
66
// Configurable properties
67
//
68
70
std::string
m_inputLabel
;
72
std::string
m_outputLabel
;
73
76
bool
m_outputPassValue
;
77
80
bool
m_requireExpectedPointers
;
81
82
//
83
// Helper utilities
84
//
85
87
std::unique_ptr<OverlapDecorationHelper>
m_decHelper
;
88
89
//
90
// Overlap tool handles
91
//
92
94
ToolHandle<IOverlapTool>
m_eleEleORT
;
95
97
ToolHandle<IOverlapTool>
m_eleMuORT
;
98
100
ToolHandle<IOverlapTool>
m_eleJetORT
;
101
103
ToolHandle<IOverlapTool>
m_muJetORT
;
104
106
ToolHandle<IOverlapTool>
m_tauEleORT
;
107
109
ToolHandle<IOverlapTool>
m_tauMuORT
;
110
112
ToolHandle<IOverlapTool>
m_tauJetORT
;
113
115
ToolHandle<IOverlapTool>
m_phoEleORT
;
116
118
ToolHandle<IOverlapTool>
m_phoMuORT
;
119
121
ToolHandle<IOverlapTool>
m_phoJetORT
;
122
124
ToolHandle<IOverlapTool>
m_eleFatJetORT
;
125
127
ToolHandle<IOverlapTool>
m_jetFatJetORT
;
128
129
};
// class OverlapRemovalTool
130
131
}
// namespace ORUtils
132
133
#endif
ORUtils::OverlapRemovalTool::m_muJetORT
ToolHandle< IOverlapTool > m_muJetORT
Mu-jet overlap handle.
Definition:
OverlapRemovalTool.h:103
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition:
AsgTool.h:47
ORUtils::OverlapRemovalTool::m_decHelper
std::unique_ptr< OverlapDecorationHelper > m_decHelper
Helper used to reset decorations.
Definition:
OverlapRemovalTool.h:87
ORUtils::OverlapRemovalTool::m_jetFatJetORT
ToolHandle< IOverlapTool > m_jetFatJetORT
jet-fatjet overlap handle
Definition:
OverlapRemovalTool.h:127
ORUtils::OverlapRemovalTool::m_outputPassValue
bool m_outputPassValue
Toggle the output flag logic.
Definition:
OverlapRemovalTool.h:76
ORUtils::OverlapRemovalTool::OverlapRemovalTool
OverlapRemovalTool(const std::string &name)
Create a proper constructor for Athena.
Definition:
OverlapRemovalTool.cxx:16
ORUtils::OverlapRemovalTool
top-level tool for performing overlap removal.
Definition:
OverlapRemovalTool.h:32
ORUtils
Definition:
AltMuJetOverlapTool.h:20
ORUtils::OverlapRemovalTool::m_tauJetORT
ToolHandle< IOverlapTool > m_tauJetORT
Tau-jet overlap handle.
Definition:
OverlapRemovalTool.h:112
ORUtils::OverlapRemovalTool::m_outputLabel
std::string m_outputLabel
Output object decoration which specifies overlapping objects.
Definition:
OverlapRemovalTool.h:72
ORUtils::OverlapRemovalTool::m_phoJetORT
ToolHandle< IOverlapTool > m_phoJetORT
Pho-jet overlap handle.
Definition:
OverlapRemovalTool.h:121
ORUtils::OverlapRemovalTool::m_tauMuORT
ToolHandle< IOverlapTool > m_tauMuORT
Tau-mu overlap handle.
Definition:
OverlapRemovalTool.h:109
ORUtils::OverlapRemovalTool::m_inputLabel
std::string m_inputLabel
Input object decoration which specifies which objects to look at.
Definition:
OverlapRemovalTool.h:70
ORUtils::OverlapRemovalTool::m_phoMuORT
ToolHandle< IOverlapTool > m_phoMuORT
Pho-mu overlap handle.
Definition:
OverlapRemovalTool.h:118
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ORUtils::OverlapRemovalTool::initialize
virtual StatusCode initialize() override
Initialize the tool.
Definition:
OverlapRemovalTool.cxx:51
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:794
IOverlapRemovalTool.h
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:228
AtlCoolConsole.tool
tool
Definition:
AtlCoolConsole.py:453
ORUtils::IOverlapRemovalTool
Interface for the overlap removal tool.
Definition:
IOverlapRemovalTool.h:28
ORUtils::OverlapRemovalTool::m_eleEleORT
ToolHandle< IOverlapTool > m_eleEleORT
Ele-ele overlap handle.
Definition:
OverlapRemovalTool.h:94
ORUtils::OverlapRemovalTool::m_requireExpectedPointers
bool m_requireExpectedPointers
Require non-null container pointers when expected; i.e., when corresponding overlap tools are configu...
Definition:
OverlapRemovalTool.h:80
ORUtils::OverlapRemovalTool::removeOverlap
StatusCode removeOverlap(const ToolHandle< IOverlapTool > &tool, const xAOD::IParticleContainer *cont1, const xAOD::IParticleContainer *cont2) const
Use one tool to remove overlaps.
Definition:
OverlapRemovalTool.cxx:135
ORUtils::OverlapRemovalTool::m_eleMuORT
ToolHandle< IOverlapTool > m_eleMuORT
Ele-mu overlap handle.
Definition:
OverlapRemovalTool.h:97
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition:
AsgToolMacros.h:68
ORUtils::OverlapRemovalTool::m_eleFatJetORT
ToolHandle< IOverlapTool > m_eleFatJetORT
ele-fatjet overlap handle
Definition:
OverlapRemovalTool.h:124
ORUtils::OverlapRemovalTool::m_eleJetORT
ToolHandle< IOverlapTool > m_eleJetORT
Ele-jet overlap handle.
Definition:
OverlapRemovalTool.h:100
OverlapRemovalDefs.h
ORUtils::OverlapRemovalTool::removeOverlaps
virtual StatusCode removeOverlaps(const xAOD::ElectronContainer *electrons, const xAOD::MuonContainer *muons, const xAOD::JetContainer *jets, const xAOD::TauJetContainer *taus=0, const xAOD::PhotonContainer *photons=0, const xAOD::JetContainer *fatJets=0) const override
Top-level method for performing full overlap-removal.
Definition:
OverlapRemovalTool.cxx:84
defineDB.jets
list jets
Definition:
JetTagCalibration/share/defineDB.py:24
ToolHandle.h
ORUtils::OverlapRemovalTool::m_phoEleORT
ToolHandle< IOverlapTool > m_phoEleORT
Pho-ele overlap handle.
Definition:
OverlapRemovalTool.h:115
AsgTool.h
ORUtils::OverlapRemovalTool::m_tauEleORT
ToolHandle< IOverlapTool > m_tauEleORT
Tau-ele overlap handle.
Definition:
OverlapRemovalTool.h:106
InDetDD::electrons
@ electrons
Definition:
InDetDD_Defs.h:17
OverlapDecorationHelper.h
IOverlapTool.h
Generated on Wed Jan 8 2025 21:15:01 for ATLAS Offline Software by
1.8.18