ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
TauAnalysisAlgorithms
Root
TauEfficiencyCorrectionsAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
7
8
9
//
10
// includes
11
//
12
13
#include <
TauAnalysisAlgorithms/TauEfficiencyCorrectionsAlg.h
>
14
15
//
16
// method implementations
17
//
18
19
namespace
CP
20
{
21
22
StatusCode TauEfficiencyCorrectionsAlg ::
23
initialize ()
24
{
25
if
(
m_scaleFactorDecoration
.empty())
26
{
27
ANA_MSG_ERROR
(
"no scale factor decoration name set"
);
28
return
StatusCode::FAILURE;
29
}
30
31
ANA_CHECK
(
m_efficiencyCorrectionsTool
.retrieve());
32
ANA_CHECK
(
m_tauHandle
.initialize (
m_systematicsList
));
33
ANA_CHECK
(
m_preselection
.initialize (
m_systematicsList
,
m_tauHandle
,
SG::AllowEmpty
));
34
ANA_CHECK
(
m_scaleFactorDecoration
.initialize (
m_systematicsList
,
m_tauHandle
));
35
ANA_CHECK
(
m_systematicsList
.addSystematics (*
m_efficiencyCorrectionsTool
));
36
ANA_CHECK
(
m_systematicsList
.initialize());
37
ANA_CHECK
(
m_outOfValidity
.initialize());
38
return
StatusCode::SUCCESS;
39
}
40
41
42
43
StatusCode TauEfficiencyCorrectionsAlg ::
44
execute (
const
EventContext& ctx)
45
{
46
for
(
const
auto
& sys :
m_systematicsList
.systematicsVector())
47
{
48
ANA_CHECK
(
m_efficiencyCorrectionsTool
->applySystematicVariation (sys));
49
const
xAOD::TauJetContainer
*
taus
=
nullptr
;
50
ANA_CHECK
(
m_tauHandle
.retrieve (
taus
, sys, ctx));
51
for
(
const
xAOD::TauJet
*tau : *
taus
)
52
{
53
if
(
m_preselection
.getBool (*tau, sys))
54
{
55
double
sf = 0;
56
ANA_CHECK_CORRECTION
(
m_outOfValidity
, *tau,
m_efficiencyCorrectionsTool
->getEfficiencyScaleFactor (*tau, sf));
57
m_scaleFactorDecoration
.set (*tau, sf, sys);
58
}
else
{
59
m_scaleFactorDecoration
.set (*tau,
invalidScaleFactor
(), sys);
60
}
61
}
62
}
63
return
StatusCode::SUCCESS;
64
}
65
}
ANA_MSG_ERROR
#define ANA_MSG_ERROR(xmsg)
Macro printing error messages.
Definition
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:294
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:324
taus
static Double_t taus
Definition
LArPhysWaveHECTool.cxx:37
ANA_CHECK_CORRECTION
#define ANA_CHECK_CORRECTION(helper, object, expr)
a helper check macro to work with OutOfValidityHelper
Definition
OutOfValidityHelper.h:132
TauEfficiencyCorrectionsAlg.h
CP::TauEfficiencyCorrectionsAlg::m_preselection
SysReadSelectionHandle m_preselection
the preselection we apply to our input
Definition
TauEfficiencyCorrectionsAlg.h:49
CP::TauEfficiencyCorrectionsAlg::m_tauHandle
SysReadHandle< xAOD::TauJetContainer > m_tauHandle
the tau collection we run on
Definition
TauEfficiencyCorrectionsAlg.h:44
CP::TauEfficiencyCorrectionsAlg::m_outOfValidity
OutOfValidityHelper m_outOfValidity
the helper for OutOfValidity results
Definition
TauEfficiencyCorrectionsAlg.h:54
CP::TauEfficiencyCorrectionsAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition
TauEfficiencyCorrectionsAlg.h:40
CP::TauEfficiencyCorrectionsAlg::m_efficiencyCorrectionsTool
ToolHandle< TauAnalysisTools::ITauEfficiencyCorrectionsTool > m_efficiencyCorrectionsTool
the smearing tool
Definition
TauEfficiencyCorrectionsAlg.h:36
CP::TauEfficiencyCorrectionsAlg::m_scaleFactorDecoration
SysWriteDecorHandle< float > m_scaleFactorDecoration
the decoration for the tau scale factor
Definition
TauEfficiencyCorrectionsAlg.h:58
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
xAOD::TauJet
TauJet_v3 TauJet
Definition of the current "tau version".
Definition
TauJet.h:17
xAOD::TauJetContainer
TauJetContainer_v3 TauJetContainer
Definition of the current "taujet container version".
Definition
TauJetContainer.h:17
Generated on
for ATLAS Offline Software by
1.17.0