ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
MET
METReconstruction
METReconstruction
METCaloRegionsTool.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// METCaloRegionsTool.h
8
// Header file for class METCaloRegionsTool
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, AS Mete
17
#ifndef METRECONSTRUCTION_METCALOREGIONSTOOL_H
18
#define METRECONSTRUCTION_METCALOREGIONSTOOL_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 "
StoreGate/ReadCondHandleKey.h
"
27
28
29
// MET EDM
30
#include "
xAODMissingET/MissingETContainer.h
"
31
32
// METRecoInterface includes
33
#include "
METRecoInterface/IMETToolBase.h
"
34
35
// Forward declarations
36
#include "
xAODCaloEvent/CaloClusterContainer.h
"
37
#include "
xAODCaloEvent/CaloClusterFwd.h
"
38
39
class
CaloCellContainer
;
40
41
// MET EDM
42
#if defined(XAOD_STANDALONE) || defined(XAOD_ANALYSIS)
43
#else
44
#include "
CaloConditions/CaloNoise.h
"
45
#endif
46
47
48
49
namespace
met
{
50
51
class
METCaloRegionsTool
52
:
public
asg::AsgTool
,
53
virtual
public
IMETToolBase
54
{
55
// This macro defines the constructor with the interface declaration
56
ASG_TOOL_CLASS
(
METCaloRegionsTool
,
IMETToolBase
)
57
58
59
60
// Public methods:
62
public
:
63
64
// Constructor with name (does this have to be a non-const
65
// std::string and not a const reference?)
66
METCaloRegionsTool
(
const
std::string&
name
);
67
~METCaloRegionsTool
() =
default
;
68
69
// AsgTool Hooks
70
virtual
StatusCode
initialize
()
override
;
71
virtual
StatusCode
execute
(
xAOD::MissingET
* metTerm,
xAOD::MissingETComponentMap
* metMap)
const override
;
72
74
// Private data:
76
protected
:
77
78
// Internal variables
79
std::string
m_input_data_key
;
80
std::string
m_output_met_key
;
81
Gaudi::Property<bool>
m_calo_useCells
{
this
,
"UseCells"
,
true
,
""
};
82
Gaudi::Property<bool>
m_calo_doTriggerMet
{
this
,
"DoTriggerMET"
,
true
,
""
};
83
// Accept functions
84
bool
accept
(
const
xAOD::IParticle
*
object
)
const
;
85
// Overlap resolver function
86
bool
resolveOverlap
(
const
xAOD::IParticle
*
object
,
87
xAOD::MissingETComponentMap
* metMap,
88
std::vector<const xAOD::IParticle*>& acceptedSignals,
89
MissingETBase::Types::weight_t
& objWeight)
const
;
90
// Fill Cell MET
91
StatusCode
fillCellMet
(
xAOD::MissingETContainer
* metContainer,
92
const
CaloCellContainer
* caloCellContainer )
const
;
93
// Fill Cluster MET
94
StatusCode
fillClusterMet
(
xAOD::MissingETContainer
* metContainer,
95
const
xAOD::CaloClusterContainer
* caloClusContainer)
const
;
96
// Find MET term for a given sampling
97
static
xAOD::MissingET
*
findMetTerm
(
xAOD::MissingETContainer
* metContainer,
98
CaloSampling::CaloSample
sample) ;
99
// CaloRegions enum - do NOT mess w/ the order
100
enum
CaloRegions
{
101
EMB
= 0,
102
EME
,
103
FCAL
,
104
HEC
,
105
PEMB
,
106
PEME
,
107
TILE
,
108
REGIONS_TOTAL
109
};
110
// CaloRegions human-readable names for enums
111
const
static
std::string
s_CaloRegionNames
[];
112
113
private
:
114
// Default constructor:
115
METCaloRegionsTool
();
116
117
#if defined(XAOD_STANDALONE) || defined(XAOD_ANALYSIS)
118
#else
119
SG::ReadCondHandleKey<CaloNoise>
m_noiseCDOKey
{
this
,
"CaloNoiseKey"
,
"totalNoise"
,
"SG Key of CaloNoise data object"
};
120
#endif
121
SG::ReadHandleKey<xAOD::CaloClusterContainer>
m_caloClusterKey
{
this
,
"CaloClusterKey"
,
""
,
"SG Key of Calo Cluster Collection"
};
122
SG::ReadHandleKey<CaloCellContainer>
m_caloCellKey
{
this
,
"CaloCellKey"
,
""
,
"SG Key of Calo Cell Container"
};
123
};
124
125
}
126
127
#endif
//> !METRECONSTRUCTION_METCALOREGIONSTOOL_H
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
CaloClusterFwd.h
CaloNoise.h
CaloClusterContainer.h
MissingETContainer.h
IMETToolBase.h
ReadCondHandleKey.h
ToolHandle.h
CaloCellContainer
Container class for CaloCell.
Definition
CaloCellContainer.h:55
CaloSampling::CaloSample
CaloSample
Definition
Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
IMETToolBase
Definition
IMETToolBase.h:25
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
met::METCaloRegionsTool::CaloRegions
CaloRegions
Definition
METCaloRegionsTool.h:100
met::METCaloRegionsTool::PEME
@ PEME
Definition
METCaloRegionsTool.h:106
met::METCaloRegionsTool::TILE
@ TILE
Definition
METCaloRegionsTool.h:107
met::METCaloRegionsTool::FCAL
@ FCAL
Definition
METCaloRegionsTool.h:103
met::METCaloRegionsTool::EMB
@ EMB
Definition
METCaloRegionsTool.h:101
met::METCaloRegionsTool::HEC
@ HEC
Definition
METCaloRegionsTool.h:104
met::METCaloRegionsTool::EME
@ EME
Definition
METCaloRegionsTool.h:102
met::METCaloRegionsTool::REGIONS_TOTAL
@ REGIONS_TOTAL
Definition
METCaloRegionsTool.h:108
met::METCaloRegionsTool::PEMB
@ PEMB
Definition
METCaloRegionsTool.h:105
met::METCaloRegionsTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
METCaloRegionsTool.cxx:62
met::METCaloRegionsTool::m_calo_doTriggerMet
Gaudi::Property< bool > m_calo_doTriggerMet
Definition
METCaloRegionsTool.h:82
met::METCaloRegionsTool::METCaloRegionsTool
METCaloRegionsTool(const std::string &name)
Definition
METCaloRegionsTool.cxx:55
met::METCaloRegionsTool::s_CaloRegionNames
static const std::string s_CaloRegionNames[]
Definition
METCaloRegionsTool.h:111
met::METCaloRegionsTool::m_input_data_key
std::string m_input_data_key
Definition
METCaloRegionsTool.h:79
met::METCaloRegionsTool::fillClusterMet
StatusCode fillClusterMet(xAOD::MissingETContainer *metContainer, const xAOD::CaloClusterContainer *caloClusContainer) const
Definition
METCaloRegionsTool.cxx:270
met::METCaloRegionsTool::m_caloClusterKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_caloClusterKey
Definition
METCaloRegionsTool.h:121
met::METCaloRegionsTool::~METCaloRegionsTool
~METCaloRegionsTool()=default
met::METCaloRegionsTool::m_noiseCDOKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Definition
METCaloRegionsTool.h:119
met::METCaloRegionsTool::METCaloRegionsTool
METCaloRegionsTool()
met::METCaloRegionsTool::m_calo_useCells
Gaudi::Property< bool > m_calo_useCells
Definition
METCaloRegionsTool.h:81
met::METCaloRegionsTool::fillCellMet
StatusCode fillCellMet(xAOD::MissingETContainer *metContainer, const CaloCellContainer *caloCellContainer) const
Definition
METCaloRegionsTool.cxx:211
met::METCaloRegionsTool::accept
bool accept(const xAOD::IParticle *object) const
met::METCaloRegionsTool::findMetTerm
static xAOD::MissingET * findMetTerm(xAOD::MissingETContainer *metContainer, CaloSampling::CaloSample sample)
Definition
METCaloRegionsTool.cxx:165
met::METCaloRegionsTool::resolveOverlap
bool resolveOverlap(const xAOD::IParticle *object, xAOD::MissingETComponentMap *metMap, std::vector< const xAOD::IParticle * > &acceptedSignals, MissingETBase::Types::weight_t &objWeight) const
met::METCaloRegionsTool::m_output_met_key
std::string m_output_met_key
Definition
METCaloRegionsTool.h:80
met::METCaloRegionsTool::execute
virtual StatusCode execute(xAOD::MissingET *metTerm, xAOD::MissingETComponentMap *metMap) const override
Definition
METCaloRegionsTool.cxx:80
met::METCaloRegionsTool::m_caloCellKey
SG::ReadHandleKey< CaloCellContainer > m_caloCellKey
Definition
METCaloRegionsTool.h:122
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
MissingETBase::Types::weight_t
xAOD::MissingETComponent_v1::Weight weight_t
Type for kinematic weight.
Definition
MissingETComponent_v1.h:264
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::MissingET
MissingET_v1 MissingET
Version control by type defintion.
Definition
Event/xAOD/xAODMissingET/xAODMissingET/MissingET.h:15
xAOD::MissingETContainer
MissingETContainer_v1 MissingETContainer
Definition
Event/xAOD/xAODMissingET/xAODMissingET/MissingETContainer.h:16
xAOD::CaloClusterContainer
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloClusterContainer.h:17
Generated on
for ATLAS Offline Software by
1.17.0