ATLAS Offline Software
Loading...
Searching...
No Matches
egammaAODFixes.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef EGAMMAALGS_EGAMMAAODFIXES_H
6#define EGAMMAALGS_EGAMMAAODFIXES_H
7
9
12
13//#include "xAODEgamma/EgammaContainer.h"
18#include <memory>
19
26#include "CaloEvent/CaloCell.h"
27
50{
51public:
52
53 egammaAODFixes(const std::string& name, ISvcLocator* pSvcLocator);
54
55 StatusCode initialize() override final;
56 StatusCode execute(const EventContext& ctx) const override final;
57
58private:
59
60 // Read/Write handlers
61
64 "ElectronOutputName", "Electrons",
65 "Name of electron container to be created"};
66
69 "ElectronInputName", "old_Electrons",
70 "Name of electron container to be read in"};
71
74 "PhotonOutputName", "Photons",
75 "Name of photon container to be created"};
76
79 "PhotonInputName", "old_Photons",
80 "Name of photon container to be read in"};
81
84 "CaloCellsName", "AllCalo", "Name of calo cell container"};
85
88 "EGammaClustersOutputName", "",
89 "Name of egamma cluster container to be created"};
90
93 "EGammaClustersInputName", "",
94 "Name of egamma cluster container to be read in"};
95
100 "DoNotSet_OutputClusterContainerLinks",
101 "",
102 "Key of the output cluster container cell links; Do not set! Name taken "
103 "from associated container"
104 };
105
108 "CaloDetDescrManager",
109 "",
110 "SG Key for CaloDetDescrManager in the Condition Store"
111 };
112
114 ToolHandle<IegammaCellRecoveryTool> m_egammaCellRecoveryTool{
115 this,
116 "egammaCellRecoveryTool",
117 "egammaCellRecoveryTool/egammaCellRecoveryTool",
118 "Tool that adds cells in L2 or L3 "
119 "that could have been rejected by timing cut"
120 };
121
123 Gaudi::Property<bool> m_correctCluster {this,
124 "CorrectCluster", false,
125 "Whether or not to correct the cluster"};
126
128 Gaudi::Property<bool> m_ambiguityFix {this,
129 "FixAmbiguityLinks", true,
130 "Whether or not to fix the ambiguity links"};
131
133 Gaudi::Property<bool> m_tpetcFix {this,
134 "FixEGTopoetcone", true,
135 "Whether or not to fix topoetcone variables"};
136
138 ToolHandle<IegammaSwTool> m_clusterCorrectionTool{ this,
139 "ClusterCorrectionTool",
140 "",
141 "tool that applies cluster corrections" };
142
145 "MVACalibSvc",
146 "",
147 "calibration service" };
148
150 ToolHandle<CP::IIsolationCorrectionTool> m_IsoLeakCorrectionTool {this,
151 "IsoLeakCorrectionTool", "",
152 "Handle on the leakage correction tool"};
153
154 void getLayerE(std::vector<const CaloCell*>& cells,
155 std::vector<float>& lE) const;
156 StatusCode getCorrection(const xAOD::Egamma* eg,
157 float &aET,
158 std::vector<float>& lECl) const;
159 StatusCode getCorrectionC(const xAOD::Egamma* eg,
160 float &aET,
162
165 const EventContext& ctx) const;
166};
167
168#endif
Definition of CaloDetDescrManager.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
SG::WriteHandleKey< CaloClusterCellLinkContainer > m_egClusCellLinkOutputKey
Key of the output cluster container cell links: name taken from containter name; only dummy configura...
Gaudi::Property< bool > m_ambiguityFix
correct ambiguity links ?
void getLayerE(std::vector< const CaloCell * > &cells, std::vector< float > &lE) const
StatusCode getCorrectionC(const xAOD::Egamma *eg, float &aET, IegammaCellRecoveryTool::Info &info) const
StatusCode execute(const EventContext &ctx) const override final
ServiceHandle< IegammaMVASvc > m_MVACalibSvc
Handle to the MVA calibration service.
SG::WriteHandleKey< xAOD::ElectronContainer > m_electronOutputKey
Name of the electron output collection.
StatusCode getCorrection(const xAOD::Egamma *eg, float &aET, std::vector< float > &lECl) const
ToolHandle< IegammaCellRecoveryTool > m_egammaCellRecoveryTool
Pointer to the egammaCellRecoveryTool.
ToolHandle< IegammaSwTool > m_clusterCorrectionTool
Tool to handle cluster corrections.
SG::ReadHandleKey< CaloCellContainer > m_CaloCellsKey
Name of the calo cell container.
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_egClusOutputKey
Name of the egamma cluster output collection.
void rebuildLink(xAOD::EgammaContainer *egC, xAOD::CaloClusterContainer *egclC, const EventContext &ctx) const
SG::ReadHandleKey< xAOD::PhotonContainer > m_photonInputKey
Name of the photon input collection.
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronInputKey
Name of the electron input collection.
SG::WriteHandleKey< xAOD::PhotonContainer > m_photonOutputKey
Name of the photon output collection.
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_egClusInputKey
Name of the egamma cluster input collection.
StatusCode initialize() override final
ToolHandle< CP::IIsolationCorrectionTool > m_IsoLeakCorrectionTool
Handle to the isolation leakage correction tool.
Gaudi::Property< bool > m_correctCluster
correct also layer energies ?
Gaudi::Property< bool > m_tpetcFix
correct topoetcone isolation ?
egammaAODFixes(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloDetDescrMgrKey
Key for calo detector description manager.
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition Egamma.h:17
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
EgammaContainer_v1 EgammaContainer
Definition of the current "egamma container version".