ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
MET
METReconstruction
METReconstruction
METRecoTool.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
// METRecoTool.h
8
// Header file for class METRecoTool
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_METRECOTOOL_H
18
#define METRECONSTRUCTION_METRECOTOOL_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/IMETToolBase.h
"
32
33
// EDM includes
34
#include "
xAODMissingET/MissingETContainer.h
"
35
36
// Timing
37
#include "TStopwatch.h"
38
39
// Forward declaration
40
41
namespace
met
{
42
/* @brief Top-level class scheduling MET reconstruction tools
43
*
44
* @author Peter Loch <loch_AT_physics.arizona.edu>
45
* @author Silvia Resconi <Silvia.Resconi_AT_cern.ch>
46
* @author Teng Jian Khoo <Teng.Jian.Khoo_AT_cern.ch>
47
*
48
* @date Nov. 21, 2013
49
* @version v1.0
50
*
51
* The METRecoTool can be called within an Athena algorithm or a ROOT programme
52
* to carry out the reconstruction of a MET configuration, and will produce a
53
* MissingETContainer, the contents of which will be the MissingET objects produced
54
* by the various tools scheduled by METRecoTool.
55
*
56
*/
57
class
METRecoTool
58
// ^ the (optional) use of TStopwatch makes this not thread-safe
59
:
public
asg::AsgTool
,
60
virtual
public
IMETRecoTool
61
{
62
// This macro defines the constructor with the interface declaration
63
ASG_TOOL_CLASS
(
METRecoTool
,
IMETRecoTool
)
64
65
66
67
// Public methods:
69
public
:
70
71
// Constructor with name (does this have to be a non-const
72
// std::string and not a const reference?)
73
METRecoTool
(
const
std::string&
name
);
74
75
// AsgTool Hooks
76
virtual
StatusCode
initialize
();
77
virtual
StatusCode
execute
(
const
EventContext& ctx)
const
;
78
virtual
StatusCode
finalize
();
79
81
// Private data:
83
private
:
84
86
METRecoTool
();
87
88
// Run the MET tools here
89
StatusCode
buildMET
(
xAOD::MissingETContainer
* metCont,
xAOD::MissingETComponentMap
* metMap)
const
;
90
91
// Data members
92
bool
m_doMetSum
{
false
};
93
Gaudi::Property<bool>
m_warnOfDupes
{
this
,
"WarnIfDuplicate"
,
true
};
94
SG::WriteHandleKey<xAOD::MissingETContainer>
m_contname
{
this
,
"METContainer"
,
"MET"
};
95
SG::WriteHandleKey<xAOD::MissingETComponentMap>
m_mapname
{
this
,
"METComponentMap"
,
"METMap"
};
96
Gaudi::Property<std::string>
m_metfinalname
{
this
,
"METFinalName"
,
""
};
97
ToolHandleArray<IMETToolBase>
m_metbuilders
{
this
,
"METBuilders"
, {} };
98
ToolHandleArray<IMETToolBase>
m_metrefiners
{
this
,
"METRefiners"
, {} };
99
100
mutable
std::atomic<unsigned int>
m_nevt
{0};
101
};
102
103
}
104
105
#endif
//> !METRECONSTRUCTION_METRECOTOOL_H
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
MissingETContainer.h
IMETRecoTool.h
IMETToolBase.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::METRecoTool::m_metbuilders
ToolHandleArray< IMETToolBase > m_metbuilders
Definition
METRecoTool.h:97
met::METRecoTool::m_metrefiners
ToolHandleArray< IMETToolBase > m_metrefiners
Definition
METRecoTool.h:98
met::METRecoTool::finalize
virtual StatusCode finalize()
Definition
METRecoTool.cxx:116
met::METRecoTool::METRecoTool
METRecoTool()
Default constructor:
met::METRecoTool::m_mapname
SG::WriteHandleKey< xAOD::MissingETComponentMap > m_mapname
Definition
METRecoTool.h:95
met::METRecoTool::m_metfinalname
Gaudi::Property< std::string > m_metfinalname
Definition
METRecoTool.h:96
met::METRecoTool::buildMET
StatusCode buildMET(xAOD::MissingETContainer *metCont, xAOD::MissingETComponentMap *metMap) const
Definition
METRecoTool.cxx:127
met::METRecoTool::m_warnOfDupes
Gaudi::Property< bool > m_warnOfDupes
Definition
METRecoTool.h:93
met::METRecoTool::METRecoTool
METRecoTool(const std::string &name)
Definition
METRecoTool.cxx:48
met::METRecoTool::m_doMetSum
bool m_doMetSum
Definition
METRecoTool.h:92
met::METRecoTool::execute
virtual StatusCode execute(const EventContext &ctx) const
Definition
METRecoTool.cxx:89
met::METRecoTool::initialize
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
Definition
METRecoTool.cxx:55
met::METRecoTool::m_nevt
std::atomic< unsigned int > m_nevt
Definition
METRecoTool.h:100
met::METRecoTool::m_contname
SG::WriteHandleKey< xAOD::MissingETContainer > m_contname
Definition
METRecoTool.h:94
met
Definition
IMETSignificance.h:24
xAOD::name
name
Definition
TriggerMenuJson_v1.cxx:29
xAOD::MissingETComponentMap
MissingETComponentMap_v1 MissingETComponentMap
Version control by type definition.
Definition
MissingETComponentMap.h:16
xAOD::MissingETContainer
MissingETContainer_v1 MissingETContainer
Definition
Event/xAOD/xAODMissingET/xAODMissingET/MissingETContainer.h:16
Generated on
for ATLAS Offline Software by
1.17.0