ATLAS Offline Software
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 
14 
15 // PAT includes
16 #include "PATCore/PATCoreEnums.h"
17 
19 
20 namespace CP {
21 
23  // Declare the interface that the class provides
25 
26  public:
27 
29 
30  virtual StatusCode initialize() = 0;
31 
32  //Apply the correction on a modifyable egamma object (xAOD::Electron or xAOD::Photon)
34 
35  //Create a corrected copy from a constant egamma object
37 
38  // This helps to correct for the (wrong) leakage at the analysis level
40 
41  //systematics
42  // Which systematics have an effect on the tool's behaviour?
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
48  //Use specific systematic
49  virtual StatusCode applySystematicVariation ( const CP::SystematicSet& systConfig ) = 0;
50 
52  virtual float GetPtCorrection(const xAOD::Egamma&, xAOD::Iso::IsolationType) const = 0;
54 
55  };
56 
57 }
58 
59 #endif //ISOLATIONCORRECTION_IISOLATIONCORRECTIONTOOL_H
CP::IIsolationCorrectionTool::GetDDCorrection
virtual float GetDDCorrection(const xAOD::Egamma &, xAOD::Iso::IsolationType)=0
CP::IIsolationCorrectionTool::initialize
virtual StatusCode initialize()=0
CP::IIsolationCorrectionTool::applySystematicVariation
virtual StatusCode applySystematicVariation(const CP::SystematicSet &systConfig)=0
effects: configure this tool for the given list of systematic variations.
CP::IIsolationCorrectionTool::applyCorrection
virtual CP::CorrectionCode applyCorrection(xAOD::Egamma &)=0
IsolationType.h
CP::IIsolationCorrectionTool::GetPtCorrectedIsolation
virtual float GetPtCorrectedIsolation(const xAOD::Egamma &, xAOD::Iso::IsolationType)=0
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
CP::SystematicVariation
Definition: SystematicVariation.h:47
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
ISystematicsTool.h
Egamma.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::Iso::IsolationType
IsolationType
Overall enumeration for isolation types in xAOD files.
Definition: IsolationType.h:26
CP::IIsolationCorrectionTool::GetPtCorrection
virtual float GetPtCorrection(const xAOD::Egamma &, xAOD::Iso::IsolationType) const =0
PATCoreEnums.h
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
CP::IIsolationCorrectionTool
Definition: IIsolationCorrectionTool.h:22
CP::IIsolationCorrectionTool::recommendedSystematics
virtual CP::SystematicSet recommendedSystematics() const =0
the list of all systematics this tool recommends to use
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition: ISystematicsTool.h:32
CP::IIsolationCorrectionTool::correctedCopy
virtual CP::CorrectionCode correctedCopy(const xAOD::Egamma &, xAOD::Egamma *&)=0
CP::IIsolationCorrectionTool::CorrectLeakage
virtual CP::CorrectionCode CorrectLeakage(xAOD::Egamma &)=0
CP::IIsolationCorrectionTool::~IIsolationCorrectionTool
virtual ~IIsolationCorrectionTool()
Definition: IIsolationCorrectionTool.h:28
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
CorrectionCode.h
CP::IIsolationCorrectionTool::affectingSystematics
virtual CP::SystematicSet affectingSystematics() const =0
the list of all systematics this tool can be affected by
CP::IIsolationCorrectionTool::isAffectedBySystematic
virtual bool isAffectedBySystematic(const CP::SystematicVariation &systematic) const =0
Declare the interface that this class provides.