Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
get_MaterialResolutionEffect.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef get_MaterialResolutionEffect_H
6 #define get_MaterialResolutionEffect_H
7 #include <array>
8 #include <cmath>
9 #include <cstdlib>
10 #include <memory>
11 #include <vector>
13 
24 class TH1;
25 class TH2;
26 class TArrayD;
27 
29 
30  public:
35 
46  double getDelta(int particle_type, double energy, double eta,
47  int response_type, int isyst) const;
48  double interpolateTH1(TH1* hist, double x, bool abs_bins) const;
53  }
54 
55  private:
56  // histograms to store resolution parameters
57  static const int s_nEtaBins = 8;
58  static const int s_nSys = 4;
59  std::array<std::array<std::array<std::unique_ptr<TH1>, 3>, s_nEtaBins>, s_nSys> m_hSystPeak;
60  std::array<std::array<std::array<std::unique_ptr<TH1>, 3>, s_nEtaBins>, s_nSys> m_hSystResol;
61  std::array<std::unique_ptr<TH2>, 3> m_hsyst_IBL_PP0;
62  // each of the m_hsyst_IBL_PP0 is a TH2 with 11 eta bins on x-axis, in case of doing interpolation:
63  // we will need the Y-projection for each eta bins
64  std::array<std::vector<std::unique_ptr<TH1>>, 3> m_hsyst_IBL_PP0_ProjectionY;
65  bool m_interpolate = false;
66  const TArrayD* m_etBins; // A xistogram will own this
67 };
68 
69 #endif
get_MaterialResolutionEffect::m_interpolate
bool m_interpolate
Definition: get_MaterialResolutionEffect.h:65
get_MaterialResolutionEffect::~get_MaterialResolutionEffect
~get_MaterialResolutionEffect()
Definition: get_MaterialResolutionEffect.h:34
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
plotmaker.hist
hist
Definition: plotmaker.py:148
EgammaARTmonitoring_plotsMaker.particle_type
particle_type
Definition: EgammaARTmonitoring_plotsMaker.py:633
get_MaterialResolutionEffect::getDelta
double getDelta(int particle_type, double energy, double eta, int response_type, int isyst) const
get material effect on resolution from distorted geometry as difference to 40 GeV Et electrons smeari...
Definition: get_MaterialResolutionEffect.cxx:94
get_MaterialResolutionEffect::setInterpolate
void setInterpolate(bool interpolate)
Definition: get_MaterialResolutionEffect.h:50
get_MaterialResolutionEffect::s_nSys
static const int s_nSys
Definition: get_MaterialResolutionEffect.h:58
x
#define x
get_MaterialResolutionEffect::m_hsyst_IBL_PP0_ProjectionY
std::array< std::vector< std::unique_ptr< TH1 > >, 3 > m_hsyst_IBL_PP0_ProjectionY
Definition: get_MaterialResolutionEffect.h:64
AsgMessaging.h
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
get_MaterialResolutionEffect::get_MaterialResolutionEffect
get_MaterialResolutionEffect()
constructor (initialization done there reading root files with resolution fit parameters
Definition: get_MaterialResolutionEffect.cxx:36
get_MaterialResolutionEffect::m_etBins
const TArrayD * m_etBins
Definition: get_MaterialResolutionEffect.h:66
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
get_MaterialResolutionEffect::interpolateTH1
double interpolateTH1(TH1 *hist, double x, bool abs_bins) const
Definition: get_MaterialResolutionEffect.cxx:183
get_MaterialResolutionEffect::m_hSystPeak
std::array< std::array< std::array< std::unique_ptr< TH1 >, 3 >, s_nEtaBins >, s_nSys > m_hSystPeak
Definition: get_MaterialResolutionEffect.h:59
CaloClusterCorr::interpolate
float interpolate(const CaloRec::Array< 2 > &a, float x, unsigned int degree, unsigned int ycol=1, const CaloRec::Array< 1 > &regions=CaloRec::Array< 1 >(), int n_points=-1, bool fixZero=false)
Polynomial interpolation in a table.
Definition: interpolate.cxx:75
get_MaterialResolutionEffect::m_hSystResol
std::array< std::array< std::array< std::unique_ptr< TH1 >, 3 >, s_nEtaBins >, s_nSys > m_hSystResol
Definition: get_MaterialResolutionEffect.h:60
get_MaterialResolutionEffect::store_IBL_PP0_YProjections
void store_IBL_PP0_YProjections()
Definition: get_MaterialResolutionEffect.cxx:166
get_MaterialResolutionEffect::m_hsyst_IBL_PP0
std::array< std::unique_ptr< TH2 >, 3 > m_hsyst_IBL_PP0
Definition: get_MaterialResolutionEffect.h:61
get_MaterialResolutionEffect::s_nEtaBins
static const int s_nEtaBins
Definition: get_MaterialResolutionEffect.h:57
get_MaterialResolutionEffect
get resolution systematics from material effect (mc12c setup, MVA calibration)
Definition: get_MaterialResolutionEffect.h:28