ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
ElectronPhotonID
ElectronPhotonFourMomentumCorrection
ElectronPhotonFourMomentumCorrection
get_MaterialResolutionEffect.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 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>
12
#include "
AsgMessaging/AsgMessaging.h
"
13
23
24
class
TH1;
25
class
TH2;
26
class
TArrayD;
27
28
class
get_MaterialResolutionEffect
:
public
asg::AsgMessaging
{
29
30
public
:
33
get_MaterialResolutionEffect
();
34
~get_MaterialResolutionEffect
();
35
46
double
getDelta
(
int
particle_type,
double
energy,
double
eta
,
47
int
response_type,
int
isyst)
const
;
48
static
double
interpolateTH1
(TH1* hist,
double
x
,
bool
abs_bins) ;
49
void
store_IBL_PP0_YProjections
();
50
void
setInterpolate
(
bool
interpolate) {
51
m_interpolate
= interpolate;
52
store_IBL_PP0_YProjections
();
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
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
AsgMessaging.h
x
#define x
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition
AsgMessaging.h:40
get_MaterialResolutionEffect::setInterpolate
void setInterpolate(bool interpolate)
Definition
get_MaterialResolutionEffect.h:50
get_MaterialResolutionEffect::get_MaterialResolutionEffect
get_MaterialResolutionEffect()
constructor (initialization done there reading root files with resolution fit parameters
Definition
get_MaterialResolutionEffect.cxx:36
get_MaterialResolutionEffect::interpolateTH1
static double interpolateTH1(TH1 *hist, double x, bool abs_bins)
Definition
get_MaterialResolutionEffect.cxx:185
get_MaterialResolutionEffect::store_IBL_PP0_YProjections
void store_IBL_PP0_YProjections()
Definition
get_MaterialResolutionEffect.cxx:168
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
get_MaterialResolutionEffect::~get_MaterialResolutionEffect
~get_MaterialResolutionEffect()
get_MaterialResolutionEffect::s_nEtaBins
static const int s_nEtaBins
Definition
get_MaterialResolutionEffect.h:57
get_MaterialResolutionEffect::s_nSys
static const int s_nSys
Definition
get_MaterialResolutionEffect.h:58
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:96
get_MaterialResolutionEffect::m_hsyst_IBL_PP0
std::array< std::unique_ptr< TH2 >, 3 > m_hsyst_IBL_PP0
Definition
get_MaterialResolutionEffect.h:61
get_MaterialResolutionEffect::m_interpolate
bool m_interpolate
Definition
get_MaterialResolutionEffect.h:65
get_MaterialResolutionEffect::m_etBins
const TArrayD * m_etBins
Definition
get_MaterialResolutionEffect.h:66
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::m_hsyst_IBL_PP0_ProjectionY
std::array< std::vector< std::unique_ptr< TH1 > >, 3 > m_hsyst_IBL_PP0_ProjectionY
Definition
get_MaterialResolutionEffect.h:64
Generated on
for ATLAS Offline Software by
1.17.0