ATLAS Offline Software
PhysicsAnalysis
Interfaces
EgammaAnalysisInterfaces
EgammaAnalysisInterfaces
Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
6
#ifndef EGAMMAANALYSISINTERFACES__IEGAMMA_CALIB_TOOL_H_
7
#define EGAMMAANALYSISINTERFACES__IEGAMMA_CALIB_TOOL_H_
8
9
#include "
AsgTools/IAsgTool.h
"
10
//xAOD
11
#include "
xAODEgamma/ElectronFwd.h
"
12
#include "
xAODEgamma/PhotonFwd.h
"
13
#include "
xAODEgamma/EgammaFwd.h
"
14
#include "
PATInterfaces/CorrectionCode.h
"
15
#include "
PATInterfaces/ISystematicsTool.h
"
16
// PAT includes
17
#include "
PATCore/PATCoreEnums.h
"
18
19
20
namespace
EgammaCalibPeriodRunNumbersExample
{
21
const
int
run_2016
= 297730;
22
const
int
run_2015
= 252604;
23
struct
ROOT6_NamespaceAutoloadHook
{};
24
}
25
26
27
namespace
CP
{
28
29
class
IEgammaCalibrationAndSmearingTool
:
public
CP::ISystematicsTool
{
31
ASG_TOOL_INTERFACE
(
IEgammaCalibrationAndSmearingTool
)
32
public
:
33
34
virtual
~IEgammaCalibrationAndSmearingTool
() {};
35
36
virtual
StatusCode
initialize
() = 0;
37
38
//Apply the correction on a modifyable egamma object (xAOD::Electron or xAOD::Photon)
39
virtual
CP::CorrectionCode
applyCorrection
(
xAOD::Egamma
&)
const
= 0;
40
41
//Create a corrected copy from a constant egamma object
42
virtual
CP::CorrectionCode
correctedCopy
(
const
xAOD::Electron
&,
xAOD::Electron
*&)
const
= 0;
43
virtual
CP::CorrectionCode
correctedCopy
(
const
xAOD::Photon
&,
xAOD::Photon
*&)
const
= 0;
44
45
46
virtual
double
resolution
(
double
energy
,
double
cl_eta,
double
cl_etaCalo,
47
PATCore::ParticleType::Type
ptype =
PATCore::ParticleType::Electron
,
bool
withCT=
false
)
const
= 0;
48
virtual
double
getResolution
(
const
xAOD::Egamma
&
particle
,
bool
withCT=
true
)
const
= 0;
49
};
50
51
}
52
#endif
EgammaFwd.h
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition:
ParticleHypothesis.h:76
PATCore::ParticleType::Type
Type
Definition:
PATCoreEnums.h:35
CP::IEgammaCalibrationAndSmearingTool::resolution
virtual double resolution(double energy, double cl_eta, double cl_etaCalo, PATCore::ParticleType::Type ptype=PATCore::ParticleType::Electron, bool withCT=false) const =0
PhotonFwd.h
xAOD::Egamma_v1
Definition:
Egamma_v1.h:56
CP::IEgammaCalibrationAndSmearingTool::applyCorrection
virtual CP::CorrectionCode applyCorrection(xAOD::Egamma &) const =0
CP
Select isolated Photons, Electrons and Muons.
Definition:
Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
ISystematicsTool.h
CP::IEgammaCalibrationAndSmearingTool::correctedCopy
virtual CP::CorrectionCode correctedCopy(const xAOD::Photon &, xAOD::Photon *&) const =0
CP::IEgammaCalibrationAndSmearingTool::getResolution
virtual double getResolution(const xAOD::Egamma &particle, bool withCT=true) const =0
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition:
ParticleGun_FastCalo_ChargeFlip_Config.py:78
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PATCoreEnums.h
ElectronFwd.h
CP::IEgammaCalibrationAndSmearingTool::correctedCopy
virtual CP::CorrectionCode correctedCopy(const xAOD::Electron &, xAOD::Electron *&) const =0
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition:
AsgToolMacros.h:40
IAsgTool.h
CP::IEgammaCalibrationAndSmearingTool
Definition:
Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h:29
xAOD::Electron_v1
Definition:
Electron_v1.h:34
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition:
ISystematicsTool.h:32
EgammaCalibPeriodRunNumbersExample::ROOT6_NamespaceAutoloadHook
Definition:
Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h:23
xAOD::Photon_v1
Definition:
Photon_v1.h:37
CP::IEgammaCalibrationAndSmearingTool::initialize
virtual StatusCode initialize()=0
CP::CorrectionCode
Return value from object correction CP tools.
Definition:
CorrectionCode.h:31
EgammaCalibPeriodRunNumbersExample::run_2016
const int run_2016
Definition:
Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h:21
CP::IEgammaCalibrationAndSmearingTool::~IEgammaCalibrationAndSmearingTool
virtual ~IEgammaCalibrationAndSmearingTool()
Declare the interface that the class provides.
Definition:
Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h:34
CorrectionCode.h
EgammaCalibPeriodRunNumbersExample::run_2015
const int run_2015
Definition:
Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h:22
PATCore::ParticleType::Electron
@ Electron
Definition:
PATCoreEnums.h:40
EgammaCalibPeriodRunNumbersExample
Definition:
Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h:20
Generated on Sun Dec 22 2024 21:11:27 for ATLAS Offline Software by
1.8.18