ATLAS Offline Software
GainUncertainty.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 #ifndef ELECTRONPHOTONFOURMOMENTUMCORRECTION_GAINUNCERTAINTYY_H
6 #define ELECTRONPHOTONFOURMOMENTUMCORRECTION_GAINUNCERTAINTYY_H
7 
9 #include <PATCore/PATCoreEnums.h>
10 
11 #include <string>
12 
13 class TH1;
14 
15 namespace egGain {
16 
18  public:
19  GainUncertainty(const std::string& filename, bool splitGainUnc = false,
20  const std::string& name = "GainUncertainty",
21  bool setInterpolation = false);
23  enum class GainType { MEDIUM, LOW, MEDIUMLOW };
24 
25  // return relative uncertainty on energy from gain uncertainty
26  // input etaCalo_input = eta in Calo frame
27  // et_input = Et in MeV
28  // ptype = particle type
29 
30  double getUncertainty(
31  double etaCalo_input, double et_input,
33  bool useUncertainty = false,
34  GainType gainType = GainType::MEDIUMLOW) const;
35 
36  private:
37  static const int s_nEtaBins = 5;
49 
51 };
52 
53 } // namespace egGain
54 
55 #endif
egGain::GainUncertainty::s_nEtaBins
static const int s_nEtaBins
Definition: GainUncertainty.h:37
PATCore::ParticleType::Type
Type
Definition: PATCoreEnums.h:35
egGain::GainUncertainty::m_gain_Impact_conv
TH1 * m_gain_Impact_conv[s_nEtaBins]
Definition: GainUncertainty.h:41
egGain::GainUncertainty::m_useInterpolation
bool m_useInterpolation
Definition: GainUncertainty.h:50
egGain
Definition: EgammaCalibrationAndSmearingTool.h:33
egGain::GainUncertainty::GainType::MEDIUM
@ MEDIUM
egGain::GainUncertainty::m_gain_Impact_unco_medium
TH1 * m_gain_Impact_unco_medium[s_nEtaBins]
Definition: GainUncertainty.h:45
egGain::GainUncertainty::GainType::MEDIUMLOW
@ MEDIUMLOW
egGain::GainUncertainty::m_gain_impact_Zee
TH1 * m_gain_impact_Zee
Definition: GainUncertainty.h:39
egGain::GainUncertainty::GainType
GainType
Definition: GainUncertainty.h:23
AsgMessaging.h
egGain::GainUncertainty
Definition: GainUncertainty.h:17
egGain::GainUncertainty::getUncertainty
double getUncertainty(double etaCalo_input, double et_input, PATCore::ParticleType::Type ptype=PATCore::ParticleType::Electron, bool useUncertainty=false, GainType gainType=GainType::MEDIUMLOW) const
Definition: GainUncertainty.cxx:106
PATCoreEnums.h
egGain::GainUncertainty::GainUncertainty
GainUncertainty(const std::string &filename, bool splitGainUnc=false, const std::string &name="GainUncertainty", bool setInterpolation=false)
Definition: GainUncertainty.cxx:17
egGain::GainUncertainty::m_gain_Impact_unco
TH1 * m_gain_Impact_unco[s_nEtaBins]
Definition: GainUncertainty.h:42
egGain::GainUncertainty::m_alpha_specialGainRun
TH1 * m_alpha_specialGainRun
Definition: GainUncertainty.h:38
egGain::GainUncertainty::m_gain_Impact_elec_low
TH1 * m_gain_Impact_elec_low[s_nEtaBins]
Definition: GainUncertainty.h:46
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
egGain::GainUncertainty::GainType::LOW
@ LOW
egGain::GainUncertainty::m_gain_Impact_elec
TH1 * m_gain_Impact_elec[s_nEtaBins]
Definition: GainUncertainty.h:40
egGain::GainUncertainty::m_gain_Impact_elec_medium
TH1 * m_gain_Impact_elec_medium[s_nEtaBins]
Definition: GainUncertainty.h:43
egGain::GainUncertainty::~GainUncertainty
~GainUncertainty()
Definition: GainUncertainty.cxx:84
TH1
Definition: rootspy.cxx:268
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
PATCore::ParticleType::Electron
@ Electron
Definition: PATCoreEnums.h:40
egGain::GainUncertainty::m_gain_Impact_conv_low
TH1 * m_gain_Impact_conv_low[s_nEtaBins]
Definition: GainUncertainty.h:47
egGain::GainUncertainty::m_gain_Impact_conv_medium
TH1 * m_gain_Impact_conv_medium[s_nEtaBins]
Definition: GainUncertainty.h:44
egGain::GainUncertainty::m_gain_Impact_unco_low
TH1 * m_gain_Impact_unco_low[s_nEtaBins]
Definition: GainUncertainty.h:48