ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
MET
METReconstruction
METReconstruction
METAssociationTool.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// METAssociationTool.h
8
// Header file for class METAssociationTool
9
//
10
// This is a scheduler for the MET Reconstruction, and sets up
11
// the sequence in which the individual terms are constructed.
12
//
13
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
14
//
15
// Author: P Loch, S Resconi, TJ Khoo
17
#ifndef METRECONSTRUCTION_METASSOCIATIONTOOL_H
18
#define METRECONSTRUCTION_METASSOCIATIONTOOL_H 1
19
20
// STL includes
21
#include <string>
22
23
// FrameWork includes
24
#include "
AsgTools/ToolHandle.h
"
25
#include "
AsgTools/AsgTool.h
"
26
#include "
CxxUtils/checker_macros.h
"
27
28
29
// METRecoInterface includes
30
#include "
METRecoInterface/IMETRecoTool.h
"
31
#include "
METRecoInterface/IMETAssocToolBase.h
"
32
33
// EDM includes
34
#include "
xAODMissingET/MissingETContainer.h
"
35
#include "
xAODMissingET/MissingETAssociationMap.h
"
36
#include "
xAODMissingET/MissingETAuxAssociationMap.h
"
37
38
// Timing
39
#include "TStopwatch.h"
40
41
// Forward declaration
42
43
namespace
met
{
44
/* @brief Top-level class scheduling MET reconstruction tools
45
*
46
* @author Peter Loch <loch_AT_physics.arizona.edu>
47
* @author Silvia Resconi <Silvia.Resconi_AT_cern.ch>
48
* @author Teng Jian Khoo <Teng.Jian.Khoo_AT_cern.ch>
49
*
50
* @date Nov. 21, 2013
51
* @version v1.0
52
*
53
* The METAssociationTool can be called within an Athena algorithm or a ROOT programme
54
* to carry out the reconstruction of a MET configuration, and will produce a
55
* MissingETContainer, the contents of which will be the MissingET objects produced
56
* by the various tools scheduled by METAssociationTool.
57
*
58
*/
59
class
METAssociationTool
final
60
// ^ the (optional) use of TStopwatch makes this not thread-safe
61
:
public
asg::AsgTool
,
62
virtual
public
IMETRecoTool
63
{
64
// This macro defines the constructor with the interface declaration
65
ASG_TOOL_CLASS
(
METAssociationTool
,
IMETRecoTool
)
66
67
68
69
// Public methods:
71
public
:
72
73
// Constructor with name (does this have to be a non-const
74
// std::string and not a const reference?)
75
METAssociationTool
(
const
std::string&
name
);
76
77
// AsgTool Hooks
78
virtual
StatusCode
initialize
()
override
;
79
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
80
virtual
StatusCode
finalize
()
override
;
81
83
// Private data:
85
private
:
86
88
METAssociationTool
();
89
90
// Run the MET tools here
91
StatusCode
buildMET
(
xAOD::MissingETContainer
* metCont,
xAOD::MissingETAssociationMap
* metMap,
const
EventContext& ctx)
const
;
92
93
// Data members
94
Gaudi::Property<std::string>
m_metSuffix
{
this
,
"METSuffix"
,
"AntiKt4LCTopo"
,
"MET suffix"
};
95
SG::WriteHandleKey<xAOD::MissingETContainer>
m_coreKey
{
this
,
"CoreOutputKey"
,
""
,
""
};
96
SG::WriteHandleKey<xAOD::MissingETAssociationMap>
m_mapKey
{
this
,
"AssociationOutputKey"
,
""
,
""
};
97
98
ToolHandleArray<IMETAssocToolBase>
m_metAssociators
{
this
,
"METAssociators"
, {},
""
};
99
100
mutable
std::atomic<unsigned int>
m_nevt
{};
101
};
102
103
}
104
105
#endif
//> !METRECONSTRUCTION_METASSOCIATIONTOOL_H
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
MissingETContainer.h
IMETAssocToolBase.h
IMETRecoTool.h
MissingETAssociationMap.h
MissingETAuxAssociationMap.h
ToolHandle.h
checker_macros.h
Define macros for attributes used to control the static checker.
IMETRecoTool
Definition
IMETRecoTool.h:24
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
met::METAssociationTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
METAssociationTool.cxx:52
met::METAssociationTool::m_coreKey
SG::WriteHandleKey< xAOD::MissingETContainer > m_coreKey
Definition
METAssociationTool.h:95
met::METAssociationTool::METAssociationTool
METAssociationTool()
Default constructor:
met::METAssociationTool::METAssociationTool
METAssociationTool(const std::string &name)
Definition
METAssociationTool.cxx:45
met::METAssociationTool::m_metAssociators
ToolHandleArray< IMETAssocToolBase > m_metAssociators
Definition
METAssociationTool.h:98
met::METAssociationTool::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
METAssociationTool.cxx:76
met::METAssociationTool::buildMET
StatusCode buildMET(xAOD::MissingETContainer *metCont, xAOD::MissingETAssociationMap *metMap, const EventContext &ctx) const
Definition
METAssociationTool.cxx:115
met::METAssociationTool::finalize
virtual StatusCode finalize() override
Definition
METAssociationTool.cxx:104
met::METAssociationTool::m_nevt
std::atomic< unsigned int > m_nevt
Definition
METAssociationTool.h:100
met::METAssociationTool::m_mapKey
SG::WriteHandleKey< xAOD::MissingETAssociationMap > m_mapKey
Definition
METAssociationTool.h:96
met::METAssociationTool::m_metSuffix
Gaudi::Property< std::string > m_metSuffix
Definition
METAssociationTool.h:94
met
Definition
IMETSignificance.h:24
xAOD::name
name
Definition
TriggerMenuJson_v1.cxx:29
xAOD::MissingETContainer
MissingETContainer_v1 MissingETContainer
Definition
Event/xAOD/xAODMissingET/xAODMissingET/MissingETContainer.h:16
xAOD::MissingETAssociationMap
MissingETAssociationMap_v1 MissingETAssociationMap
Version control by type defintion.
Definition
MissingETAssociationMap.h:16
Generated on
for ATLAS Offline Software by
1.17.0