ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
ElectronPhotonID
IsolationCorrections
IsolationCorrections
IIsolationCorrectionTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ISOLATIONCORRECTION_IISOLATIONCORRECTIONTOOL_H
6
#define ISOLATIONCORRECTION_IISOLATIONCORRECTIONTOOL_H
7
8
#include "
AsgTools/IAsgTool.h
"
9
//xAOD
10
#include "
xAODEgamma/Egamma.h
"
11
12
#include "
PATInterfaces/CorrectionCode.h
"
13
#include "
PATInterfaces/ISystematicsTool.h
"
14
15
// PAT includes
16
#include "
PATCore/PATCoreEnums.h
"
17
18
#include "
xAODPrimitives/IsolationType.h
"
19
20
namespace
CP
{
21
22
class
IIsolationCorrectionTool
:
virtual
public
CP::ISystematicsTool
{
23
// Declare the interface that the class provides
24
ASG_TOOL_INTERFACE
(
IIsolationCorrectionTool
)
25
26
public
:
27
28
virtual
~IIsolationCorrectionTool
() {};
29
30
virtual
StatusCode
initialize
() = 0;
31
32
//Apply the correction on a modifyable egamma object (xAOD::Electron or xAOD::Photon)
33
virtual
CP::CorrectionCode
applyCorrection
(
xAOD::Egamma
&) = 0;
34
35
//Create a corrected copy from a constant egamma object
36
virtual
CP::CorrectionCode
correctedCopy
(
const
xAOD::Egamma
&,
xAOD::Egamma
*&) = 0;
37
38
// This helps to correct for the (wrong) leakage at the analysis level
39
virtual
CP::CorrectionCode
CorrectLeakage
(
xAOD::Egamma
&) = 0;
40
41
//systematics
42
// Which systematics have an effect on the tool's behaviour?
43
virtual
CP::SystematicSet
affectingSystematics
()
const
= 0;
44
// Is the tool affected by a specific systematic?
45
virtual
bool
isAffectedBySystematic
(
const
CP::SystematicVariation
& systematic )
const
= 0;
46
//Systematics to be used for physics analysis
47
virtual
CP::SystematicSet
recommendedSystematics
()
const
= 0;
48
//Use specific systematic
49
virtual
StatusCode
applySystematicVariation
(
const
CP::SystematicSet
& systConfig ) = 0;
50
51
virtual
float
GetPtCorrectedIsolation
(
const
xAOD::Egamma
&,
xAOD::Iso::IsolationType
) = 0;
52
virtual
float
GetPtCorrection
(
const
xAOD::Egamma
&,
xAOD::Iso::IsolationType
)
const
= 0;
53
virtual
float
GetDDCorrection
(
const
xAOD::Egamma
&,
xAOD::Iso::IsolationType
) = 0;
54
55
};
56
57
}
58
59
#endif
//ISOLATIONCORRECTION_IISOLATIONCORRECTIONTOOL_H
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition
AsgToolMacros.h:40
CorrectionCode.h
Egamma.h
IAsgTool.h
ISystematicsTool.h
IsolationType.h
PATCoreEnums.h
CP::CorrectionCode
Return value from object correction CP tools.
Definition
CorrectionCode.h:31
CP::IIsolationCorrectionTool
Definition
IIsolationCorrectionTool.h:22
CP::IIsolationCorrectionTool::GetDDCorrection
virtual float GetDDCorrection(const xAOD::Egamma &, xAOD::Iso::IsolationType)=0
CP::IIsolationCorrectionTool::GetPtCorrection
virtual float GetPtCorrection(const xAOD::Egamma &, xAOD::Iso::IsolationType) const =0
CP::IIsolationCorrectionTool::initialize
virtual StatusCode initialize()=0
CP::IIsolationCorrectionTool::applyCorrection
virtual CP::CorrectionCode applyCorrection(xAOD::Egamma &)=0
CP::IIsolationCorrectionTool::affectingSystematics
virtual CP::SystematicSet affectingSystematics() const =0
the list of all systematics this tool can be affected by
CP::IIsolationCorrectionTool::correctedCopy
virtual CP::CorrectionCode correctedCopy(const xAOD::Egamma &, xAOD::Egamma *&)=0
CP::IIsolationCorrectionTool::~IIsolationCorrectionTool
virtual ~IIsolationCorrectionTool()
Definition
IIsolationCorrectionTool.h:28
CP::IIsolationCorrectionTool::CorrectLeakage
virtual CP::CorrectionCode CorrectLeakage(xAOD::Egamma &)=0
CP::IIsolationCorrectionTool::GetPtCorrectedIsolation
virtual float GetPtCorrectedIsolation(const xAOD::Egamma &, xAOD::Iso::IsolationType)=0
CP::IIsolationCorrectionTool::recommendedSystematics
virtual CP::SystematicSet recommendedSystematics() const =0
the list of all systematics this tool recommends to use
CP::IIsolationCorrectionTool::applySystematicVariation
virtual StatusCode applySystematicVariation(const CP::SystematicSet &systConfig)=0
effects: configure this tool for the given list of systematic variations.
CP::IIsolationCorrectionTool::isAffectedBySystematic
virtual bool isAffectedBySystematic(const CP::SystematicVariation &systematic) const =0
Declare the interface that this class provides.
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition
ISystematicsTool.h:32
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition
SystematicSet.h:31
CP::SystematicVariation
Definition
SystematicVariation.h:47
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
xAOD::Iso::IsolationType
IsolationType
Overall enumeration for isolation types in xAOD files.
Definition
IsolationType.h:26
xAOD::Egamma
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition
Egamma.h:17
Generated on
for ATLAS Offline Software by
1.17.0