ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
JetAnalysisAlgorithms
Root
JvtEfficiencyAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
7
8
//
9
// includes
10
//
11
12
#include <
JetAnalysisAlgorithms/JvtEfficiencyAlg.h
>
13
14
#include <
SelectionHelpers/SelectionHelpers.h
>
15
16
//
17
// method implementations
18
//
19
20
namespace
CP
21
{
22
23
24
StatusCode JvtEfficiencyAlg ::
25
initialize ()
26
{
27
28
ANA_CHECK
(
m_efficiencyTool
.retrieve());
29
ANA_CHECK
(
m_jetHandle
.initialize (
m_systematicsList
));
30
ANA_CHECK
(
m_preselection
.initialize (
m_systematicsList
,
m_jetHandle
,
SG::AllowEmpty
));
31
ANA_CHECK
(
m_selectionHandle
.initialize (
m_systematicsList
,
m_jetHandle
,
SG::AllowEmpty
));
32
ANA_CHECK
(
m_scaleFactorDecoration
.initialize (
m_systematicsList
,
m_jetHandle
));
33
ANA_CHECK
(
m_systematicsList
.addSystematics (*
m_efficiencyTool
));
34
ANA_CHECK
(
m_systematicsList
.initialize());
35
ANA_CHECK
(
m_outOfValidity
.initialize());
36
37
return
StatusCode::SUCCESS;
38
}
39
40
41
42
StatusCode JvtEfficiencyAlg ::
43
execute (
const
EventContext& ctx)
44
{
45
for
(
const
auto
& sys :
m_systematicsList
.systematicsVector())
46
{
47
ANA_CHECK
(
m_efficiencyTool
->applySystematicVariation (sys));
48
const
xAOD::JetContainer
*jets =
nullptr
;
49
ANA_CHECK
(
m_jetHandle
.retrieve (jets, sys, ctx));
50
51
for
(
const
xAOD::Jet
*
jet
: *jets)
52
{
53
if
(
m_preselection
.getBool (*
jet
, sys))
54
{
55
bool
goodJet =
true
;
56
if
(
m_selectionHandle
||
m_skipBadEfficiency
)
57
{
58
goodJet =
m_selectionHandle
.getBool(*
jet
, sys);
59
}
60
float
sf = 1;
61
if
(goodJet) {
62
ANA_CHECK_CORRECTION
(
m_outOfValidity
, *
jet
,
m_efficiencyTool
->getEfficiencyScaleFactor (*
jet
, sf));
63
}
else
if
(!
m_skipBadEfficiency
) {
64
ANA_CHECK_CORRECTION
(
m_outOfValidity
, *
jet
,
m_efficiencyTool
->getInefficiencyScaleFactor (*
jet
, sf));
65
}
66
m_scaleFactorDecoration
.set (*
jet
, sf, sys);
67
}
else
{
68
m_scaleFactorDecoration
.set (*
jet
,
invalidScaleFactor
(), sys);
69
}
70
}
71
}
72
73
return
StatusCode::SUCCESS;
74
}
75
}
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:324
JvtEfficiencyAlg.h
ANA_CHECK_CORRECTION
#define ANA_CHECK_CORRECTION(helper, object, expr)
a helper check macro to work with OutOfValidityHelper
Definition
OutOfValidityHelper.h:132
SelectionHelpers.h
CP::JvtEfficiencyAlg::m_outOfValidity
OutOfValidityHelper m_outOfValidity
the helper for OutOfValidity results
Definition
JvtEfficiencyAlg.h:74
CP::JvtEfficiencyAlg::m_jetHandle
SysReadHandle< xAOD::JetContainer > m_jetHandle
the jet collection we run on
Definition
JvtEfficiencyAlg.h:46
CP::JvtEfficiencyAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition
JvtEfficiencyAlg.h:42
CP::JvtEfficiencyAlg::m_efficiencyTool
ToolHandle< CP::IJvtEfficiencyTool > m_efficiencyTool
the efficiency tool
Definition
JvtEfficiencyAlg.h:37
CP::JvtEfficiencyAlg::m_preselection
SysReadSelectionHandle m_preselection
the preselection we apply to our input
Definition
JvtEfficiencyAlg.h:51
CP::JvtEfficiencyAlg::m_scaleFactorDecoration
SysWriteDecorHandle< float > m_scaleFactorDecoration
the decoration for the JVT scale factor
Definition
JvtEfficiencyAlg.h:61
CP::JvtEfficiencyAlg::m_selectionHandle
SysReadSelectionHandle m_selectionHandle
the decoration for the JVT selection
Definition
JvtEfficiencyAlg.h:56
CP::JvtEfficiencyAlg::m_skipBadEfficiency
Gaudi::Property< bool > m_skipBadEfficiency
whether to skip efficiency calculation if the selection failed
Definition
JvtEfficiencyAlg.h:66
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
CP::invalidScaleFactor
constexpr float invalidScaleFactor()
the decoration value to use if there is no valid scale factor decoration
Definition
SysWriteDecorHandle.h:31
SG::AllowEmpty
@ AllowEmpty
Definition
StoreGate/StoreGate/VarHandleKey.h:27
jet
Definition
JetCalibTools_PlotJESFactors.cxx:23
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition
Event/xAOD/xAODJet/xAODJet/Jet.h:17
xAOD::JetContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Definition
JetContainer.h:17
Generated on
for ATLAS Offline Software by
1.17.0