ATLAS Offline Software
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"
16 // PAT includes
17 #include "PATCore/PATCoreEnums.h"
18 
19 
21  const int run_2016 = 297730;
22  const int run_2015 = 252604;
24 }
25 
26 
27 namespace CP {
28 
32  public:
33 
35 
36  virtual StatusCode initialize() = 0;
37 
38  //Apply the correction on a modifyable egamma object (xAOD::Electron or xAOD::Photon)
40 
41  //Create a corrected copy from a constant egamma object
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