ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
MetAnalysisAlgorithms
Root
MetSignificanceAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
7
8
9
//
10
// includes
11
//
12
13
#include <
MetAnalysisAlgorithms/MetSignificanceAlg.h
>
14
#include <
AsgDataHandles/ReadHandle.h
>
15
16
//
17
// method implementations
18
//
19
namespace
CP
20
{
21
22
StatusCode
MetSignificanceAlg::initialize
()
23
{
24
ANA_CHECK
(
m_significanceTool
.retrieve());
25
ANA_CHECK
(
m_metHandle
.initialize(
m_systematicsList
));
26
ANA_CHECK
(
m_significanceDecorHandle
.initialize(
m_systematicsList
,
m_metHandle
));
27
28
ANA_CHECK
(
m_sigDirectionalDecorHandle
.initialize(
m_systematicsList
,
m_metHandle
,
SG::AllowEmpty
));
29
ANA_CHECK
(
m_metOverSqrtSumETDecorHandle
.initialize(
m_systematicsList
,
m_metHandle
,
SG::AllowEmpty
));
30
ANA_CHECK
(
m_metOverSqrtHTDecorHandle
.initialize(
m_systematicsList
,
m_metHandle
,
SG::AllowEmpty
));
31
ANA_CHECK
(
m_eventInfoKey
.initialize());
32
33
ANA_CHECK
(
m_systematicsList
.initialize());
34
return
StatusCode::SUCCESS;
35
}
36
37
38
39
StatusCode MetSignificanceAlg ::
40
execute (
const
EventContext& ctx)
41
{
42
SG::ReadHandle<xAOD::EventInfo>
evtInfo(
m_eventInfoKey
, ctx);
43
44
for
(
const
auto
& sys :
m_systematicsList
.systematicsVector())
45
{
46
// I'm not sure why this can't be const, but the interface
47
// requires a non-const object
48
xAOD::MissingETContainer
*
met
{};
49
ANA_CHECK
(
m_metHandle
.getCopy (
met
, sys, ctx));
50
51
const
xAOD::MissingET
*totalMET = (*met)[
m_totalMETName
];
52
if
(totalMET ==
nullptr
)
53
{
54
ANA_MSG_ERROR
(
"could not find total MET term: "
<<
m_totalMETName
);
55
return
StatusCode::FAILURE;
56
}
57
58
ANA_CHECK
(
m_significanceTool
->varianceMET (
met
, evtInfo->averageInteractionsPerCrossing(),
m_jetTermName
,
m_softTermName
,
m_totalMETName
));
59
60
m_significanceDecorHandle
.set(*totalMET,
m_significanceTool
->GetSignificance(), sys);
61
62
if
(!
m_sigDirectionalDecorHandle
.empty())
63
m_sigDirectionalDecorHandle
.set(*totalMET,
m_significanceTool
->GetSigDirectional(), sys);
64
65
if
(!
m_metOverSqrtSumETDecorHandle
.empty())
66
m_metOverSqrtSumETDecorHandle
.set(*totalMET,
m_significanceTool
->GetMETOverSqrtSumET(), sys);
67
68
if
(!
m_metOverSqrtHTDecorHandle
.empty())
69
m_metOverSqrtHTDecorHandle
.set(*totalMET,
m_significanceTool
->GetMETOverSqrtHT(), sys);
70
}
71
72
return
StatusCode::SUCCESS;
73
}
74
}
ReadHandle.h
Handle class for reading from StoreGate.
ANA_MSG_ERROR
#define ANA_MSG_ERROR(xmsg,...)
Macro printing error messages.
Definition
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:295
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:325
MetSignificanceAlg.h
CP::MetSignificanceAlg::m_significanceTool
ToolHandle< IMETSignificance > m_significanceTool
the smearing tool
Definition
MetSignificanceAlg.h:38
CP::MetSignificanceAlg::m_totalMETName
Gaudi::Property< std::string > m_totalMETName
the key for the final met term
Definition
MetSignificanceAlg.h:55
CP::MetSignificanceAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition
MetSignificanceAlg.h:42
CP::MetSignificanceAlg::m_sigDirectionalDecorHandle
CP::SysWriteDecorHandle< float > m_sigDirectionalDecorHandle
the decoration for the directional significance
Definition
MetSignificanceAlg.h:71
CP::MetSignificanceAlg::m_significanceDecorHandle
CP::SysWriteDecorHandle< float > m_significanceDecorHandle
the decoration for the significance
Definition
MetSignificanceAlg.h:67
CP::MetSignificanceAlg::m_softTermName
Gaudi::Property< std::string > m_softTermName
the key for the soft term
Definition
MetSignificanceAlg.h:63
CP::MetSignificanceAlg::m_metHandle
SysCopyHandle< xAOD::MissingETContainer > m_metHandle
the met collection we run on
Definition
MetSignificanceAlg.h:50
CP::MetSignificanceAlg::m_jetTermName
Gaudi::Property< std::string > m_jetTermName
the key for the jets term
Definition
MetSignificanceAlg.h:59
CP::MetSignificanceAlg::m_metOverSqrtHTDecorHandle
CP::SysWriteDecorHandle< float > m_metOverSqrtHTDecorHandle
the decoration for the METOverSqrtHT
Definition
MetSignificanceAlg.h:79
CP::MetSignificanceAlg::m_metOverSqrtSumETDecorHandle
CP::SysWriteDecorHandle< float > m_metOverSqrtSumETDecorHandle
the decoration for METOverSqrtSumET
Definition
MetSignificanceAlg.h:75
CP::MetSignificanceAlg::initialize
StatusCode initialize() override
Definition
MetSignificanceAlg.cxx:22
CP::MetSignificanceAlg::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
the EventInfo key
Definition
MetSignificanceAlg.h:46
SG::ReadHandle
Definition
StoreGate/StoreGate/ReadHandle.h:66
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
SG::AllowEmpty
@ AllowEmpty
Definition
StoreGate/StoreGate/VarHandleKey.h:29
met
Definition
IMETSignificance.h:24
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
Generated on
for ATLAS Offline Software by
1.17.0