ATLAS Offline Software
EgammaCalibrationAndSmearingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef EGAMMA_CALIB_TOOL_H_
7 #define EGAMMA_CALIB_TOOL_H_
8 
9 #include <functional>
10 #include <string>
11 #include <array>
12 #include <memory>
13 
16 #include "AsgTools/AsgTool.h"
22 #include "xAODEgamma/Electron.h"
23 #include "xAODEgamma/Photon.h"
24 #include "xAODEgamma/Egamma.h"
29 
30 
32 
33 // Forward declarations
35 namespace egGain { class GainTool; }
36 
37 namespace xAOD {
38  inline float get_phi_calo(const xAOD::CaloCluster& cluster, int author, bool do_throw=false)
39  {
40  static const SG::ConstAccessor<float> phiCaloAcc ("phiCalo");
41  double phi_calo;
43  phi_calo = cluster.phi();
44  }
45  else if (cluster.retrieveMoment(xAOD::CaloCluster::PHICALOFRAME, phi_calo)) { }
46  else if (phiCaloAcc.isAvailable(cluster)) {
47  phi_calo = phiCaloAcc(cluster);
48  }
49  else {
50  asg::AsgMessaging msg("get_phi_calo");
51  msg.msg(MSG::ERROR) << "phiCalo not available as auxilliary variable" << endmsg;
52  if (do_throw) { throw std::runtime_error("phiCalo not available as auxilliary variable"); }
53  msg.msg(MSG::WARNING) << "using phi as phiCalo" << endmsg;
54  phi_calo = cluster.phi();
55  }
56  return phi_calo;
57  }
58 
59  inline float get_eta_calo(const xAOD::CaloCluster& cluster, int author, bool do_throw=false)
60  {
61  double eta_calo;
62  static const SG::ConstAccessor<float> etaCaloAcc ("etaCalo");
64  eta_calo = cluster.eta();
65  }
67  eta_calo)) { }
68  else if (etaCaloAcc.isAvailable(cluster)) {
69  eta_calo = etaCaloAcc(cluster);
70  }
71  else {
72  asg::AsgMessaging msg("get_eta_calo");
73  msg.msg(MSG::ERROR) << "etaCalo not available as auxilliary variable" << endmsg;
74  if (do_throw) { throw std::runtime_error("etaCalo not available as auxilliary variable"); }
75  msg.msg(MSG::WARNING) << "using eta as etaCalo" << endmsg;
76  }
77  return eta_calo;
78  }
79 }
80 
81 namespace CP {
82 
84  // Create a proper constructor for Athena
86 
87 public:
88 
91  static const int AUTO = 2; // this is used as a third state for boolean properties (true/false/automatic)
92  typedef unsigned int RandomNumber;
93  typedef std::function<int(const EgammaCalibrationAndSmearingTool&, const xAOD::Egamma&, const xAOD::EventInfo&)> IdFunction;
94  typedef std::function<bool(const xAOD::Egamma&)> EgammaPredicate;
95 
96  EgammaCalibrationAndSmearingTool(const std::string& name);
98 
99  StatusCode initialize() override;
100 
101  // Apply the correction on a modifyable egamma object
103  virtual CP::CorrectionCode applyCorrection(xAOD::Egamma & input, const xAOD::EventInfo& event_info);
104 
105  // Create a corrected copy from a constant egamma object
106  // virtual CP::CorrectionCode correctedCopy(const xAOD::Egamma&, xAOD::Egamma*&);
108  virtual CP::CorrectionCode correctedCopy(const xAOD::Photon&, xAOD::Photon*&) override;
109  double getEnergy(const xAOD::Photon&); // for python usage
110  double getEnergy(const xAOD::Electron&); // for python usage
111 
112  //systematics
113  //Which systematics have an effect on the tool's behaviour?
114  virtual CP::SystematicSet affectingSystematics() const override;
115  //Is the tool affected by a specific systematic?
116  virtual bool isAffectedBySystematic( const CP::SystematicVariation& systematic ) const override;
117  //Systematics to be used for physics analysis
118  virtual CP::SystematicSet recommendedSystematics() const override;
119  //Use specific systematic
120  virtual StatusCode applySystematicVariation(const CP::SystematicSet& systConfig) override;
121  virtual void setRandomSeed(unsigned seed=0) override;
122  virtual void setRandomSeedFunction(const IdFunction&& function) { m_set_seed_function = function; }
124 
125  virtual double resolution( double energy, double cl_eta, double cl_etaCalo,
126  PATCore::ParticleType::Type ptype = PATCore::ParticleType::Electron, bool withCT=false) const override;
127 
128 private:
129 
130  std::string m_ESModel;
140  double m_varSF;
141  std::string m_ResolutionType;
146  //flags duplicated from the underlying ROOT tool
161 
162  Gaudi::Property<bool> m_fixForMissingCells {
163  this,
164  "FixForMissingCells",
165  false,
166  "AOD fix for cell recovery in core egamma cluster" };
167 
168  void setupSystematics();
169 
170  // this is needed (instead of a simpler lambda since a clang bug, see https://its.cern.ch/jira/browse/ATLASG-688)
172  {
173  AbsEtaCaloPredicate(double eta_min, double eta_max) : m_eta_min(eta_min), m_eta_max(eta_max) {}
174  bool operator()(const xAOD::Egamma& p) {
175  const double aeta = std::abs(xAOD::get_eta_calo(*p.caloCluster(),p.author()));
176  return (aeta >= m_eta_min and aeta < m_eta_max);
177  }
178  private:
180  };
181 
182  const EgammaPredicate AbsEtaCaloPredicateFactory(double eta_min, double eta_max) const
183  {
184  /*return [eta_min, eta_max](const xAOD::Egamma& p) {
185  const double aeta = std::abs(xAOD::get_eta_calo(*p.caloCluster()));
186  return (aeta >= eta_min and aeta < eta_max); };*/
187  return AbsEtaCaloPredicate(eta_min, eta_max);
188  }
189 
190  const EgammaPredicate AbsEtaCaloPredicateFactory(std::pair<double, double> edges) const
191  {
192  return AbsEtaCaloPredicateFactory(edges.first, edges.second);
193  }
194 
195  const std::vector<EgammaPredicate> AbsEtaCaloPredicatesFactory(const std::vector<std::pair<double, double>>& edges) const
196  {
197  std::vector<EgammaPredicate> result;
198  result.reserve(edges.size());
199  for (const auto& it : edges) {
200  result.push_back(AbsEtaCaloPredicateFactory(it.first, it.second));
201  }
202  return result;
203  }
204 
205  const std::vector<EgammaPredicate> AbsEtaCaloPredicatesFactory(const std::vector<double>& edges) const
206  {
207  std::vector<EgammaPredicate> result;
208  result.reserve(edges.size() - 1);
209  auto it2 = edges.begin();
210  auto it = it2++;
211  for(; it2 != edges.end(); ++it, ++it2)
212  {
213  result.push_back(AbsEtaCaloPredicateFactory(*it, *it2));
214  }
215  return result;
216  }
217 
219 public:
220  virtual double getEnergy(xAOD::Egamma*, const xAOD::EventInfo*);
221  virtual double getElectronMomentum(const xAOD::Electron*, const xAOD::EventInfo*);
222  double getResolution(const xAOD::Egamma& particle, bool withCT=true) const override;
223  double intermodule_correction(double Ecl, double phi, double eta) const;
224  double correction_phi_unif(double eta, double phi) const;
225 
226 
227 private:
229  "MVACalibSvc",
230  "egammaMVASvc",
231  "calibration service" };
232 
236 
237  // A pointer to the underlying ROOT tool
238  std::unique_ptr<AtlasRoot::egammaEnergyCorrectionTool> m_rootTool;
239  std::string m_MVAfolder;
240 
241  struct SysInfo {
244  };
245 
246  std::map<CP::SystematicVariation, SysInfo> m_syst_description;
247  std::map<CP::SystematicVariation, egEnergyCorr::Resolution::Variation> m_syst_description_resolution;
248 
249 
250  //These are modified by the ISystematicsTool methods
255 
257 
259 
262 
263 };
264 
265 }
266 #endif
xAOD::CaloCluster_v1::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
Definition: CaloCluster_v1.cxx:256
CP::EgammaCalibrationAndSmearingTool::m_useFastSim
int m_useFastSim
Definition: EgammaCalibrationAndSmearingTool.h:143
CP::EgammaCalibrationAndSmearingTool::getRandomSeedFuction
const IdFunction getRandomSeedFuction() const
Definition: EgammaCalibrationAndSmearingTool.h:123
CP::EgammaCalibrationAndSmearingTool::ScaleDecorrelation::ONENP
@ ONENP
CP::EgammaCalibrationAndSmearingTool::getElectronMomentum
virtual double getElectronMomentum(const xAOD::Electron *, const xAOD::EventInfo *)
Definition: EgammaCalibrationAndSmearingTool.cxx:839
PropertyWrapper.h
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
get_generator_info.result
result
Definition: get_generator_info.py:21
CP::EgammaCalibrationAndSmearingTool::isAffectedBySystematic
virtual bool isAffectedBySystematic(const CP::SystematicVariation &systematic) const override
Declare the interface that this class provides.
Definition: EgammaCalibrationAndSmearingTool.cxx:857
CP::EgammaCalibrationAndSmearingTool::ScaleDecorrelation::FULL
@ FULL
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
CP::EgammaCalibrationAndSmearingTool::affectingSystematics
virtual CP::SystematicSet affectingSystematics() const override
the list of all systematics this tool can be affected by
Definition: EgammaCalibrationAndSmearingTool.cxx:862
CP::EgammaCalibrationAndSmearingTool::m_ResolutionType
std::string m_ResolutionType
Definition: EgammaCalibrationAndSmearingTool.h:141
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
CP::EgammaCalibrationAndSmearingTool::AbsEtaCaloPredicate::m_eta_min
float m_eta_min
Definition: EgammaCalibrationAndSmearingTool.h:179
PATCore::ParticleType::Type
Type
Definition: PATCoreEnums.h:35
CP::EgammaCalibrationAndSmearingTool::EgammaCalibrationAndSmearingTool
EgammaCalibrationAndSmearingTool(const std::string &name)
Definition: EgammaCalibrationAndSmearingTool.cxx:266
CP::EgammaCalibrationAndSmearingTool::AbsEtaCaloPredicate::operator()
bool operator()(const xAOD::Egamma &p)
Definition: EgammaCalibrationAndSmearingTool.h:174
CP::EgammaCalibrationAndSmearingTool::m_use_ep_combination
bool m_use_ep_combination
Definition: EgammaCalibrationAndSmearingTool.h:154
CP::EgammaCalibrationAndSmearingTool::recommendedSystematics
virtual CP::SystematicSet recommendedSystematics() const override
the list of all systematics this tool recommends to use
Definition: EgammaCalibrationAndSmearingTool.cxx:1209
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
CP::EgammaCalibrationAndSmearingTool::getResolution
double getResolution(const xAOD::Egamma &particle, bool withCT=true) const override
Definition: EgammaCalibrationAndSmearingTool.cxx:611
CP::EgammaCalibrationAndSmearingTool::m_currentScaleVariation_data
egEnergyCorr::Scale::Variation m_currentScaleVariation_data
Definition: EgammaCalibrationAndSmearingTool.h:252
CP::EgammaCalibrationAndSmearingTool::AbsEtaCaloPredicate
Definition: EgammaCalibrationAndSmearingTool.h:172
CP::EgammaCalibrationAndSmearingTool::ResolutionDecorrelation::ONENP
@ ONENP
CP::EgammaCalibrationAndSmearingTool::m_decorrelation_model_name
std::string m_decorrelation_model_name
Definition: EgammaCalibrationAndSmearingTool.h:131
SystematicSet.h
skel.it
it
Definition: skel.GENtoEVGEN.py:424
CP::EgammaCalibrationAndSmearingTool::m_currentScalePredicate
EgammaPredicate m_currentScalePredicate
Definition: EgammaCalibrationAndSmearingTool.h:256
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
egammaEnergyCorrectionTool.h
egGain::GainTool
Definition: GainTool.h:17
CP::EgammaCalibrationAndSmearingTool::m_gain_tool
egGain::GainTool * m_gain_tool
Definition: EgammaCalibrationAndSmearingTool.h:233
CP::EgammaCalibrationAndSmearingTool::m_doScaleCorrection
int m_doScaleCorrection
Definition: EgammaCalibrationAndSmearingTool.h:137
CP::EgammaCalibrationAndSmearingTool::ResolutionDecorrelation
ResolutionDecorrelation
Definition: EgammaCalibrationAndSmearingTool.h:90
CP::EgammaCalibrationAndSmearingTool::~EgammaCalibrationAndSmearingTool
~EgammaCalibrationAndSmearingTool()
Definition: EgammaCalibrationAndSmearingTool.cxx:310
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
CP::EgammaCalibrationAndSmearingTool::m_simulation
PATCore::ParticleDataType::DataType m_simulation
Definition: EgammaCalibrationAndSmearingTool.h:145
CP::EgammaCalibrationAndSmearingTool::applyCorrection
virtual CP::CorrectionCode applyCorrection(xAOD::Egamma &) override
Definition: EgammaCalibrationAndSmearingTool.cxx:629
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
SG::ConstAccessor< float >
CP::EgammaCalibrationAndSmearingTool::m_use_mva_calibration
int m_use_mva_calibration
Definition: EgammaCalibrationAndSmearingTool.h:155
CP::EgammaCalibrationAndSmearingTool::RandomNumber
unsigned int RandomNumber
Definition: EgammaCalibrationAndSmearingTool.h:92
egGain
Definition: EgammaCalibrationAndSmearingTool.h:35
CP::EgammaCalibrationAndSmearingTool::m_use_temp_correction201215
int m_use_temp_correction201215
Definition: EgammaCalibrationAndSmearingTool.h:157
xAOD::EgammaParameters::AuthorFwdElectron
const uint16_t AuthorFwdElectron
Electron reconstructed by the Forward cluster-based algorithm.
Definition: EgammaDefs.h:30
egEnergyCorr::ESModel
ESModel
Definition: egammaEnergyCorrectionTool.h:206
CP::SystematicVariation
Definition: SystematicVariation.h:47
CP::EgammaCalibrationAndSmearingTool::m_useGainCorrection
int m_useGainCorrection
Definition: EgammaCalibrationAndSmearingTool.h:153
CP::EgammaCalibrationAndSmearingTool::m_decorrelation_model_scale_name
std::string m_decorrelation_model_scale_name
Definition: EgammaCalibrationAndSmearingTool.h:132
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
ISystematicsTool.h
PATCore::ParticleDataType::DataType
DataType
Definition: PATCoreEnums.h:22
CP::EgammaCalibrationAndSmearingTool::m_auto_reseed
bool m_auto_reseed
Definition: EgammaCalibrationAndSmearingTool.h:139
CP::EgammaCalibrationAndSmearingTool::setRandomSeedFunction
virtual void setRandomSeedFunction(const IdFunction &&function)
Definition: EgammaCalibrationAndSmearingTool.h:122
CP::EgammaCalibrationAndSmearingTool::m_use_full_statistical_error
bool m_use_full_statistical_error
Definition: EgammaCalibrationAndSmearingTool.h:156
CP::EgammaCalibrationAndSmearingTool::oldtool_scale_flag_this_event
egEnergyCorr::Scale::Variation oldtool_scale_flag_this_event(const xAOD::Egamma &p, const xAOD::EventInfo &event_info) const
Definition: EgammaCalibrationAndSmearingTool.cxx:827
PATCore::ParticleDataType::Full
@ Full
Definition: PATCoreEnums.h:22
AsgMessaging.h
Egamma.h
CP::EgammaCalibrationAndSmearingTool::m_usePhiUniformCorrection
int m_usePhiUniformCorrection
Definition: EgammaCalibrationAndSmearingTool.h:152
CP::EgammaCalibrationAndSmearingTool::m_decorrelation_model_resolution
ResolutionDecorrelation m_decorrelation_model_resolution
Definition: EgammaCalibrationAndSmearingTool.h:135
IEgammaCalibrationAndSmearingTool.h
CP::EgammaCalibrationAndSmearingTool::m_user_random_run_number
int m_user_random_run_number
Definition: EgammaCalibrationAndSmearingTool.h:160
CP::EgammaCalibrationAndSmearingTool::m_useIntermoduleCorrection
int m_useIntermoduleCorrection
Definition: EgammaCalibrationAndSmearingTool.h:151
CP::EgammaCalibrationAndSmearingTool::m_currentResolutionVariation_MC
egEnergyCorr::Resolution::Variation m_currentResolutionVariation_MC
Definition: EgammaCalibrationAndSmearingTool.h:253
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
CP::EgammaCalibrationAndSmearingTool::EgammaPredicate
std::function< bool(const xAOD::Egamma &)> EgammaPredicate
Definition: EgammaCalibrationAndSmearingTool.h:94
CP::EgammaCalibrationAndSmearingTool::m_MVACalibSvc
ServiceHandle< IegammaMVASvc > m_MVACalibSvc
Definition: EgammaCalibrationAndSmearingTool.h:228
CP::EgammaCalibrationAndSmearingTool::m_currentScaleVariation_MC
egEnergyCorr::Scale::Variation m_currentScaleVariation_MC
Definition: EgammaCalibrationAndSmearingTool.h:251
CP::EgammaCalibrationAndSmearingTool::m_ESModel
std::string m_ESModel
Definition: EgammaCalibrationAndSmearingTool.h:130
CP::EgammaCalibrationAndSmearingTool::AbsEtaCaloPredicatesFactory
const std::vector< EgammaPredicate > AbsEtaCaloPredicatesFactory(const std::vector< double > &edges) const
Definition: EgammaCalibrationAndSmearingTool.h:205
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
CP::EgammaCalibrationAndSmearingTool::AbsEtaCaloPredicateFactory
const EgammaPredicate AbsEtaCaloPredicateFactory(double eta_min, double eta_max) const
Definition: EgammaCalibrationAndSmearingTool.h:182
CP::EgammaCalibrationAndSmearingTool::resolution
virtual double resolution(double energy, double cl_eta, double cl_etaCalo, PATCore::ParticleType::Type ptype=PATCore::ParticleType::Electron, bool withCT=false) const override
Definition: EgammaCalibrationAndSmearingTool.cxx:622
IegammaMVASvc.h
xAOD::CaloCluster_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition: CaloCluster_v1.cxx:251
CaloCluster.h
CP::EgammaCalibrationAndSmearingTool::initialize
StatusCode initialize() override
Definition: EgammaCalibrationAndSmearingTool.cxx:316
Photon.h
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::EgammaCalibrationAndSmearingTool::applySystematicVariation
virtual StatusCode applySystematicVariation(const CP::SystematicSet &systConfig) override
effects: configure this tool for the given list of systematic variations.
Definition: EgammaCalibrationAndSmearingTool.cxx:1213
CP::EgammaCalibrationAndSmearingTool::m_currentResolutionVariation_data
egEnergyCorr::Resolution::Variation m_currentResolutionVariation_data
Definition: EgammaCalibrationAndSmearingTool.h:254
CP::EgammaCalibrationAndSmearingTool::m_TESModel
egEnergyCorr::ESModel m_TESModel
Definition: EgammaCalibrationAndSmearingTool.h:136
CP::EgammaCalibrationAndSmearingTool::m_varSF
double m_varSF
Definition: EgammaCalibrationAndSmearingTool.h:140
CP::EgammaCalibrationAndSmearingTool::SysInfo::predicate
EgammaPredicate predicate
Definition: EgammaCalibrationAndSmearingTool.h:242
CP::EgammaCalibrationAndSmearingTool::SysInfo
Definition: EgammaCalibrationAndSmearingTool.h:241
xAOD::CaloCluster_v1::retrieveMoment
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
Definition: CaloCluster_v1.cxx:738
CP::EgammaCalibrationAndSmearingTool::m_usePSCorrection
int m_usePSCorrection
Definition: EgammaCalibrationAndSmearingTool.h:148
CP::EgammaCalibrationAndSmearingTool::AbsEtaCaloPredicateFactory
const EgammaPredicate AbsEtaCaloPredicateFactory(std::pair< double, double > edges) const
Definition: EgammaCalibrationAndSmearingTool.h:190
CP::EgammaCalibrationAndSmearingTool::AbsEtaCaloPredicate::m_eta_max
float m_eta_max
Definition: EgammaCalibrationAndSmearingTool.h:179
CP::EgammaCalibrationAndSmearingTool::m_use_mapping_correction
bool m_use_mapping_correction
Definition: EgammaCalibrationAndSmearingTool.h:159
CP::EgammaCalibrationAndSmearingTool::m_TResolutionType
egEnergyCorr::Resolution::resolutionType m_TResolutionType
Definition: EgammaCalibrationAndSmearingTool.h:142
CP::EgammaCalibrationAndSmearingTool::oldtool_resolution_flag_this_event
egEnergyCorr::Resolution::Variation oldtool_resolution_flag_this_event(const xAOD::Egamma &p, const xAOD::EventInfo &event_info) const
Definition: EgammaCalibrationAndSmearingTool.cxx:834
CP::EgammaCalibrationAndSmearingTool::correction_phi_unif
double correction_phi_unif(double eta, double phi) const
Definition: EgammaCalibrationAndSmearingTool.cxx:1360
CP::EgammaCalibrationAndSmearingTool::m_doSmearing
int m_doSmearing
Definition: EgammaCalibrationAndSmearingTool.h:138
CP::EgammaCalibrationAndSmearingTool::ResolutionDecorrelation::FULL
@ FULL
CP::EgammaCalibrationAndSmearingTool::AUTO
static const int AUTO
Definition: EgammaCalibrationAndSmearingTool.h:91
CP::EgammaCalibrationAndSmearingTool::AbsEtaCaloPredicate::AbsEtaCaloPredicate
AbsEtaCaloPredicate(double eta_min, double eta_max)
Definition: EgammaCalibrationAndSmearingTool.h:173
CP::EgammaCalibrationAndSmearingTool::m_use_AFII
int m_use_AFII
Definition: EgammaCalibrationAndSmearingTool.h:144
CP::EgammaCalibrationAndSmearingTool::m_rootTool
std::unique_ptr< AtlasRoot::egammaEnergyCorrectionTool > m_rootTool
Definition: EgammaCalibrationAndSmearingTool.h:238
CP::EgammaCalibrationAndSmearingTool::m_useLayer2Recalibration
int m_useLayer2Recalibration
Definition: EgammaCalibrationAndSmearingTool.h:150
CP::EgammaCalibrationAndSmearingTool::SysInfo::effect
egEnergyCorr::Scale::Variation effect
Definition: EgammaCalibrationAndSmearingTool.h:243
egEnergyCorr::Scale::Variation
Variation
Definition: egammaEnergyCorrectionTool.h:113
CP::EgammaCalibrationAndSmearingTool::setupSystematics
void setupSystematics()
Definition: EgammaCalibrationAndSmearingTool.cxx:870
CP::IEgammaCalibrationAndSmearingTool
Definition: Interfaces/EgammaAnalysisInterfaces/EgammaAnalysisInterfaces/IEgammaCalibrationAndSmearingTool.h:29
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
egEnergyCorr::Resolution::Variation
Variation
Definition: egammaEnergyCorrectionTool.h:57
CP::EgammaCalibrationAndSmearingTool::getEnergy
double getEnergy(const xAOD::Photon &)
Definition: EgammaCalibrationAndSmearingTool.cxx:661
ServiceHandle.h
CP::EgammaCalibrationAndSmearingTool::xAOD2ptype
PATCore::ParticleType::Type xAOD2ptype(const xAOD::Egamma &particle) const
Definition: EgammaCalibrationAndSmearingTool.cxx:595
xAOD::get_phi_calo
float get_phi_calo(const xAOD::CaloCluster &cluster, int author, bool do_throw=false)
Definition: EgammaCalibrationAndSmearingTool.h:38
CP::EgammaCalibrationAndSmearingTool::m_MVAfolder
std::string m_MVAfolder
Definition: EgammaCalibrationAndSmearingTool.h:239
xAOD::Electron_v1
Definition: Electron_v1.h:34
xAOD::CaloCluster_v1::PHICALOFRAME
@ PHICALOFRAME
Phi in the calo frame (for egamma)
Definition: CaloCluster_v1.h:188
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
CP::EgammaCalibrationAndSmearingTool::m_syst_description
std::map< CP::SystematicVariation, SysInfo > m_syst_description
Definition: EgammaCalibrationAndSmearingTool.h:246
CP::EgammaCalibrationAndSmearingTool::intermodule_correction
double intermodule_correction(double Ecl, double phi, double eta) const
Definition: EgammaCalibrationAndSmearingTool.cxx:1254
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition: ISystematicsTool.h:32
CP::EgammaCalibrationAndSmearingTool::ScaleDecorrelation
ScaleDecorrelation
Definition: EgammaCalibrationAndSmearingTool.h:89
CP::EgammaCalibrationAndSmearingTool::m_set_seed_function
IdFunction m_set_seed_function
Definition: EgammaCalibrationAndSmearingTool.h:258
CP::EgammaCalibrationAndSmearingTool
Definition: EgammaCalibrationAndSmearingTool.h:83
egammaLayerRecalibTool
Definition: egammaLayerRecalibTool.h:306
CP::EgammaCalibrationAndSmearingTool::ScaleDecorrelation::ONENP_PLUS_UNCONR
@ ONENP_PLUS_UNCONR
CP::EgammaCalibrationAndSmearingTool::ScaleDecorrelation::FULL_ETA_CORRELATED
@ FULL_ETA_CORRELATED
CP::EgammaCalibrationAndSmearingTool::m_useLayerCorrection
int m_useLayerCorrection
Definition: EgammaCalibrationAndSmearingTool.h:147
readCCLHist.int
int
Definition: readCCLHist.py:84
xAOD::Photon_v1
Definition: Photon_v1.h:37
asg::AsgMetadataTool
Base class for dual-use tools that provide file metadata access.
Definition: AsgMetadataTool.h:48
CaloCondBlobAlgs_fillNoiseFromASCII.author
string author
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:26
CP::EgammaCalibrationAndSmearingTool::setRandomSeed
virtual void setRandomSeed(unsigned seed=0) override
Definition: EgammaCalibrationAndSmearingTool.cxx:591
AsgMetadataTool.h
ASG_TOOL_CLASS3
#define ASG_TOOL_CLASS3(CLASSNAME, INT1, INT2, INT3)
Definition: AsgToolMacros.h:85
CP::EgammaCalibrationAndSmearingTool::m_layer_recalibration_tool
egammaLayerRecalibTool * m_layer_recalibration_tool
Definition: EgammaCalibrationAndSmearingTool.h:234
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
CP::IReentrantSystematicsTool
interface for all CP tools supporting systematic variations within a reentrant algorithm
Definition: IReentrantSystematicsTool.h:58
xAOD::get_eta_calo
float get_eta_calo(const xAOD::CaloCluster &cluster, int author, bool do_throw=false)
Definition: EgammaCalibrationAndSmearingTool.h:59
CP::EgammaCalibrationAndSmearingTool::m_decorrelation_model_resolution_name
std::string m_decorrelation_model_resolution_name
Definition: EgammaCalibrationAndSmearingTool.h:133
SG::ConstAccessor::isAvailable
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
egEnergyCorr::Resolution::resolutionType
resolutionType
Definition: egammaEnergyCorrectionTool.h:97
PATCore::ParticleType::Electron
@ Electron
Definition: PATCoreEnums.h:40
Electron.h
python.test_cfgItemList.msg
msg
Definition: test_cfgItemList.py:7
ConstAccessor.h
Helper class to provide constant type-safe access to aux data.
AsgTool.h
xAOD::CaloCluster_v1::ETACALOFRAME
@ ETACALOFRAME
Eta in the calo frame (for egamma)
Definition: CaloCluster_v1.h:187
CP::EgammaCalibrationAndSmearingTool::IdFunction
std::function< int(const EgammaCalibrationAndSmearingTool &, const xAOD::Egamma &, const xAOD::EventInfo &)> IdFunction
Definition: EgammaCalibrationAndSmearingTool.h:93
CP::EgammaCalibrationAndSmearingTool::correctedCopy
virtual CP::CorrectionCode correctedCopy(const xAOD::Electron &, xAOD::Electron *&) override
Definition: EgammaCalibrationAndSmearingTool.cxx:641
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
CP::EgammaCalibrationAndSmearingTool::m_syst_description_resolution
std::map< CP::SystematicVariation, egEnergyCorr::Resolution::Variation > m_syst_description_resolution
Definition: EgammaCalibrationAndSmearingTool.h:247
CP::EgammaCalibrationAndSmearingTool::AbsEtaCaloPredicatesFactory
const std::vector< EgammaPredicate > AbsEtaCaloPredicatesFactory(const std::vector< std::pair< double, double >> &edges) const
Definition: EgammaCalibrationAndSmearingTool.h:195
CP::EgammaCalibrationAndSmearingTool::m_decorrelation_model_scale
ScaleDecorrelation m_decorrelation_model_scale
Definition: EgammaCalibrationAndSmearingTool.h:134
CP::EgammaCalibrationAndSmearingTool::m_useS12Correction
int m_useS12Correction
Definition: EgammaCalibrationAndSmearingTool.h:149
CP::EgammaCalibrationAndSmearingTool::m_layer_recalibration_tune
std::string m_layer_recalibration_tune
Definition: EgammaCalibrationAndSmearingTool.h:235
CP::EgammaCalibrationAndSmearingTool::m_use_uA2MeV_2015_first2weeks_correction
int m_use_uA2MeV_2015_first2weeks_correction
Definition: EgammaCalibrationAndSmearingTool.h:158
CP::EgammaCalibrationAndSmearingTool::m_fixForMissingCells
Gaudi::Property< bool > m_fixForMissingCells
Definition: EgammaCalibrationAndSmearingTool.h:162
ServiceHandle< IegammaMVASvc >