ATLAS Offline Software
Loading...
Searching...
No Matches
IsolationCorrectionTool.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_ISOLATIONCORRECTIONTOOL_H
6#define ISOLATIONCORRECTION_ISOLATIONCORRECTIONTOOL_H
7
10//
15#include "AsgTools/AsgTool.h"
16//
19//
20#include "TGraph.h"
21
22namespace CP {
23
25 : virtual public IIsolationCorrectionTool
27{
28 // Create a proper constructor for Athena
33
34public:
35 IsolationCorrectionTool(const std::string& name);
37
38 virtual StatusCode initialize() override final;
39
40 // Apply correction to a modifyable Egamma object
41 virtual CP::CorrectionCode applyCorrection(xAOD::Egamma&) override final;
42
43 // This helps to correct for the (wrong) leakage at the analysis level
44 virtual CP::CorrectionCode CorrectLeakage(xAOD::Egamma&) override final;
45
46 // Create a corrected copy from a const Egamma object
48 xAOD::Egamma*&) override final;
49
50 // systematics
51 // Which systematics have an effect on the tool's behaviour?
52 virtual CP::SystematicSet affectingSystematics() const override final;
53 // Is the tool affected by a specific systematic?
54 virtual bool isAffectedBySystematic(
55 const CP::SystematicVariation& systematic) const override final;
56 // Systematics to be used for physics analysis
57 virtual CP::SystematicSet recommendedSystematics() const override final;
58 // Use specific systematic
59 virtual StatusCode applySystematicVariation(
60 const CP::SystematicSet& systConfig) override final;
61
62 virtual float GetPtCorrectedIsolation(const xAOD::Egamma&,
64 virtual float GetPtCorrection(const xAOD::Egamma&,
65 xAOD::Iso::IsolationType) const override final;
66 virtual float GetDDCorrection(const xAOD::Egamma&,
67 xAOD::Iso::IsolationType) override final;
68 void Print() { m_isol_corr->Print(); };
69
70private:
71 float GetEtaPointing(const xAOD::Egamma* input)
72 {
73 return m_isol_corr->GetEtaPointing(input);
74 };
75
77 "EventInfoKey",
78 "EventInfo",
79 "" };
81 this,
82 "CentralEventShapeKey",
83 "TopoClusterIsoCentralEventShape",
84 ""
85 };
86
88 this,
89 "ForwardEventShape",
90 "TopoClusterIsoForwardEventShape",
91 ""
92 };
93
94 std::string m_corr_file;
98 std::string m_tool_ver_str;
99
102 std::map<xAOD::Iso::IsolationType, std::unique_ptr<TGraph>>
104 std::map<xAOD::Iso::IsolationType, std::unique_ptr<TGraph>>
106 std::string m_ddVersion;
118
119 static const unsigned int m_Run2Run3runNumberTransition = 400000;
120 // For systematcis
122};
123
124}
125
126#endif
#define ASG_TOOL_CLASS3(CLASSNAME, INT1, INT2, INT3)
Property holding a SG store/key/clid from which a ReadHandle is made.
Handle class for reading from StoreGate.
Return value from object correction CP tools.
interface for all CP tools supporting systematic variations within a reentrant algorithm
Interface for all CP tools supporting systematic variations.
virtual float GetPtCorrectedIsolation(const xAOD::Egamma &, xAOD::Iso::IsolationType) override
virtual StatusCode initialize() override final
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
virtual bool isAffectedBySystematic(const CP::SystematicVariation &systematic) const override final
Declare the interface that this class provides.
std::map< xAOD::Iso::IsolationType, std::unique_ptr< TGraph > > m_map_isotype_zeta_mc_corr
virtual CP::CorrectionCode CorrectLeakage(xAOD::Egamma &) override final
virtual ASG_TOOL_CLASS3(IsolationCorrectionTool, IIsolationCorrectionTool, CP::ISystematicsTool, CP::IReentrantSystematicsTool) public ~IsolationCorrectionTool()
SG::ReadHandleKey< xAOD::EventShape > m_forwardEventShapeKey
virtual CP::SystematicSet affectingSystematics() const override final
the list of all systematics this tool can be affected by
float GetEtaPointing(const xAOD::Egamma *input)
virtual CP::CorrectionCode correctedCopy(const xAOD::Egamma &, xAOD::Egamma *&) override final
virtual float GetPtCorrection(const xAOD::Egamma &, xAOD::Iso::IsolationType) const override final
virtual CP::CorrectionCode applyCorrection(xAOD::Egamma &) override final
static const unsigned int m_Run2Run3runNumberTransition
SG::ReadHandleKey< xAOD::EventShape > m_centralEventShapeKey
virtual float GetDDCorrection(const xAOD::Egamma &, xAOD::Iso::IsolationType) override final
virtual CP::SystematicSet recommendedSystematics() const override final
the list of all systematics this tool recommends to use
std::map< xAOD::Iso::IsolationType, std::unique_ptr< TGraph > > m_map_isotype_zetaPU
virtual StatusCode applySystematicVariation(const CP::SystematicSet &systConfig) override final
effects: configure this tool for the given list of systematic variations.
CP::SystematicVariation m_systDDonoff
Class to wrap a set of SystematicVariations.
Property holding a SG store/key/clid from which a ReadHandle is made.
Base class for dual-use tools that provide file metadata access.
Select isolated Photons, Electrons and Muons.
IsolationType
Overall enumeration for isolation types in xAOD files.
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition Egamma.h:17