ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
EgammaAnalysisAlgorithms
Root
EgammaCalibrationAndSmearingAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
7
8
9
//
10
// includes
11
//
12
13
#include <
EgammaAnalysisAlgorithms/EgammaCalibrationAndSmearingAlg.h
>
14
15
//
16
// method implementations
17
//
18
19
namespace
CP
20
{
21
22
StatusCode EgammaCalibrationAndSmearingAlg ::
23
initialize ()
24
{
25
ANA_CHECK
(
m_calibrationAndSmearingTool
.retrieve());
26
ANA_CHECK
(
m_egammaHandle
.initialize (
m_systematicsList
));
27
ANA_CHECK
(
m_preselection
.initialize (
m_systematicsList
,
m_egammaHandle
,
SG::AllowEmpty
));
28
ANA_CHECK
(
m_caloClusterEnergyResoHandle
.initialize (
m_systematicsList
,
m_egammaHandle
));
29
if
(!
m_noToolSystematics
.value())
30
ANA_CHECK
(
m_systematicsList
.addSystematics (*
m_calibrationAndSmearingTool
));
31
ANA_CHECK
(
m_systematicsList
.initialize());
32
ANA_CHECK
(
m_outOfValidity
.initialize());
33
return
StatusCode::SUCCESS;
34
}
35
36
37
38
StatusCode EgammaCalibrationAndSmearingAlg ::
39
execute (
const
EventContext& ctx)
40
{
41
for
(
const
auto
& sys :
m_systematicsList
.systematicsVector())
42
{
43
// always need to call `getCopy` first to ensure that the shallow copies
44
// are all there if requested
45
xAOD::EgammaContainer
*egammas =
nullptr
;
46
ANA_CHECK
(
m_egammaHandle
.getCopy (egammas, sys, ctx));
47
48
if
(sys.empty() &&
m_skipNominal
.value())
49
continue
;
50
51
if
(!
m_noToolSystematics
.value())
52
ANA_CHECK
(
m_calibrationAndSmearingTool
->applySystematicVariation (sys));
53
for
(
xAOD::Egamma
*
egamma
: *egammas)
54
{
55
if
(
m_preselection
.getBool (*
egamma
, sys))
56
{
57
ANA_CHECK_CORRECTION
(
m_outOfValidity
, *
egamma
,
m_calibrationAndSmearingTool
->applyCorrection (*
egamma
));
58
float
caloClusterEnergyReso =
m_calibrationAndSmearingTool
->getResolution (*
egamma
);
59
m_caloClusterEnergyResoHandle
.set(*
egamma
, caloClusterEnergyReso, sys);
60
}
61
}
62
}
63
return
StatusCode::SUCCESS;
64
}
65
}
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:324
EgammaCalibrationAndSmearingAlg.h
ANA_CHECK_CORRECTION
#define ANA_CHECK_CORRECTION(helper, object, expr)
a helper check macro to work with OutOfValidityHelper
Definition
OutOfValidityHelper.h:132
CP::EgammaCalibrationAndSmearingAlg::m_calibrationAndSmearingTool
ToolHandle< CP::IEgammaCalibrationAndSmearingTool > m_calibrationAndSmearingTool
the smearing tool
Definition
EgammaCalibrationAndSmearingAlg.h:39
CP::EgammaCalibrationAndSmearingAlg::m_skipNominal
Gaudi::Property< bool > m_skipNominal
whether to skip the nominal correction (for PHYSLITE)
Definition
EgammaCalibrationAndSmearingAlg.h:56
CP::EgammaCalibrationAndSmearingAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition
EgammaCalibrationAndSmearingAlg.h:61
CP::EgammaCalibrationAndSmearingAlg::m_outOfValidity
OutOfValidityHelper m_outOfValidity
the helper for OutOfValidity results
Definition
EgammaCalibrationAndSmearingAlg.h:80
CP::EgammaCalibrationAndSmearingAlg::m_noToolSystematics
Gaudi::Property< bool > m_noToolSystematics
whether to ignore all tool systematics
Definition
EgammaCalibrationAndSmearingAlg.h:51
CP::EgammaCalibrationAndSmearingAlg::m_caloClusterEnergyResoHandle
SysWriteDecorHandle< float > m_caloClusterEnergyResoHandle
decoration for calorimeter cluster energy resolution
Definition
EgammaCalibrationAndSmearingAlg.h:75
CP::EgammaCalibrationAndSmearingAlg::m_preselection
SysReadSelectionHandle m_preselection
the preselection we apply to our input
Definition
EgammaCalibrationAndSmearingAlg.h:70
CP::EgammaCalibrationAndSmearingAlg::m_egammaHandle
SysCopyHandle< xAOD::EgammaContainer > m_egammaHandle
the egamma collection we run on
Definition
EgammaCalibrationAndSmearingAlg.h:65
egamma
elec/gamma data class.
Definition
egamma.h:59
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
SG::AllowEmpty
@ AllowEmpty
Definition
StoreGate/StoreGate/VarHandleKey.h:27
xAOD::Egamma
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition
Egamma.h:17
xAOD::EgammaContainer
EgammaContainer_v1 EgammaContainer
Definition of the current "egamma container version".
Definition
EgammaContainer.h:17
Generated on
for ATLAS Offline Software by
1.17.0