ATLAS Offline Software
eg_resolution.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EG_RESOLUTION_H
6 #define EG_RESOLUTION_H
7 
8 #include <cmath>
9 #include <cstdlib>
10 #include <memory>
11 #include <array>
12 #include "TArrayD.h"
13 #include "TFile.h"
14 #include "TH1.h"
15 #include "xAODEgamma/Egamma.h"
28 {
29 
30 public:
31  static constexpr size_t samplings = 4;
32  static constexpr size_t resolTypes = 3;
35  eg_resolution(const std::string& configuration);
36  ~eg_resolution() = default;
37 
45  double getResolution(int particle_type,
46  double energy,
47  double eta,
48  int resol_type = 2) const;
53  double getResolution(const xAOD::Egamma& particle, int resol_type = 2) const;
54 
55 private:
56  // histograms to store resolution parameters
57  std::array<std::array<std::unique_ptr<TH1>, resolTypes>, samplings> m_hSampling;
58  std::array<std::array<std::unique_ptr<TH1>, resolTypes>, samplings> m_hNoise;
59  std::array<std::array<std::unique_ptr<TH1>, resolTypes>, samplings> m_hConst;
60  const TArrayD* m_etaBins; // Not owning pointer
61 };
62 
63 #endif
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
eg_resolution::eg_resolution
eg_resolution(const std::string &configuration)
constructor (initialization done there reading root files with resolution fit parameters
Definition: eg_resolution.cxx:29
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
EgammaARTmonitoring_plotsMaker.particle_type
particle_type
Definition: EgammaARTmonitoring_plotsMaker.py:633
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
eg_resolution::m_etaBins
const TArrayD * m_etaBins
Definition: eg_resolution.h:60
Egamma.h
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
eg_resolution::m_hNoise
std::array< std::array< std::unique_ptr< TH1 >, resolTypes >, samplings > m_hNoise
Definition: eg_resolution.h:58
eg_resolution::resolTypes
static constexpr size_t resolTypes
Definition: eg_resolution.h:32
eg_resolution::m_hSampling
std::array< std::array< std::unique_ptr< TH1 >, resolTypes >, samplings > m_hSampling
Definition: eg_resolution.h:57
eg_resolution::samplings
static constexpr size_t samplings
Definition: eg_resolution.h:31
eg_resolution::~eg_resolution
~eg_resolution()=default
eg_resolution::m_hConst
std::array< std::array< std::unique_ptr< TH1 >, resolTypes >, samplings > m_hConst
Definition: eg_resolution.h:59
eg_resolution
get resolution for electron and photons (converted / unconverted) vs E,eta
Definition: eg_resolution.h:28
eg_resolution::getResolution
double getResolution(int particle_type, double energy, double eta, int resol_type=2) const
get relative resolution (sigmaE/E) as a function of E (in Mev) and eta
Definition: eg_resolution.cxx:136