ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
TauAnalysisAlgorithms
Root
DiTauEfficiencyCorrectionsAlg.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/DiTauEfficiencyCorrectionsAlg.h
>
14
15
//
16
// method implementations
17
//
18
19
namespace
CP
20
{
21
22
StatusCode DiTauEfficiencyCorrectionsAlg ::
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 DiTauEfficiencyCorrectionsAlg ::
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::DiTauJetContainer
*
taus
=
nullptr
;
50
ANA_CHECK
(
m_tauHandle
.retrieve (
taus
, sys, ctx));
51
for
(
const
xAOD::DiTauJet
*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
DiTauEfficiencyCorrectionsAlg.h
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
CP::DiTauEfficiencyCorrectionsAlg::m_preselection
SysReadSelectionHandle m_preselection
the preselection we apply to our input
Definition
DiTauEfficiencyCorrectionsAlg.h:49
CP::DiTauEfficiencyCorrectionsAlg::m_outOfValidity
OutOfValidityHelper m_outOfValidity
the helper for OutOfValidity results
Definition
DiTauEfficiencyCorrectionsAlg.h:54
CP::DiTauEfficiencyCorrectionsAlg::m_efficiencyCorrectionsTool
ToolHandle< TauAnalysisTools::IDiTauEfficiencyCorrectionsTool > m_efficiencyCorrectionsTool
the smearing tool
Definition
DiTauEfficiencyCorrectionsAlg.h:36
CP::DiTauEfficiencyCorrectionsAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition
DiTauEfficiencyCorrectionsAlg.h:40
CP::DiTauEfficiencyCorrectionsAlg::m_scaleFactorDecoration
SysWriteDecorHandle< float > m_scaleFactorDecoration
the decoration for the muon scale factor
Definition
DiTauEfficiencyCorrectionsAlg.h:58
CP::DiTauEfficiencyCorrectionsAlg::m_tauHandle
SysReadHandle< xAOD::DiTauJetContainer > m_tauHandle
the tau collection we run on
Definition
DiTauEfficiencyCorrectionsAlg.h:44
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::DiTauJetContainer
DiTauJetContainer_v1 DiTauJetContainer
Definition of the current DiTauJet container version.
Definition
DiTauJetContainer.h:17
xAOD::DiTauJet
DiTauJet_v1 DiTauJet
Definition of the current version.
Definition
DiTauJet.h:17
Generated on
for ATLAS Offline Software by
1.17.0