ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloLocalHadCalib
CaloLocalHadCalib
CaloHadDMCoeffCheck.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef CALOLOCALHADCALIB_CALOHADDMCOEFFCHECK_H
6
#define CALOLOCALHADCALIB_CALOHADDMCOEFFCHECK_H
7
21
22
#include <vector>
23
#include <string>
24
#include <math.h>
25
#include "
CxxUtils/checker_macros.h
"
26
class
CaloLocalHadCoeff
;
27
class
CaloLocalHadCoeffHelper
;
28
class
CaloHadDMCoeffData
;
29
class
TProfile;
30
class
TH2F;
31
class
TH1F
;
32
33
34
35
/*
36
* Not thread safe due to ROOT facilities like gStyle
37
* but is used only for validation/plotting
38
* so should be fine
39
*/
40
class
ATLAS_NOT_THREAD_SAFE
CaloHadDMCoeffCheck
{
41
public :
42
43
CaloHadDMCoeffCheck
();
44
~CaloHadDMCoeffCheck
();
45
46
int
process
(
CaloHadDMCoeffData
*myData,
CaloLocalHadCoeff
*myHadDMCoeff,
bool
isSingleParticle=
true
,
bool
tbflag=
false
);
47
void
make_report
(std::string &sfname);
48
49
private
:
50
enum
keys_comp
{
kENG_RECO
,
kENG_TRUTH
,
kENG_NORECO
};
51
enum
dm_area_keys
{
52
sDM_EMB0_EMB1
,
// 0 before PreSamplerB, between PreSamplerB and EMB1
53
sDM_EMB3_TILE0
,
// 1 between barrel and tile
54
sDM_SCN
,
// 2 before TileGap3 (scintillator)
55
sDM_EME0_EME12
,
// 3 before PreSamplerE, between PreSamplerE and EME1
56
sDM_EME3_HEC0
,
// 4 between EME3 and HEC0
57
sDM_FCAL
,
// 5 between HEC and FCAL, before FCAL
58
sDM_LEAKAGE
,
// 6 leakage behind calorimeter
59
sDM_UNCLASS
,
// 7 unclassified DM enegry
60
sDM_DMTOT
,
// 8 sum of DM energy over all zones
61
sDM
62
};
63
64
void
getDmReco(std::vector<std::vector<double > > &engDmReco);
65
66
CaloHadDMCoeffData
*
m_data
;
67
CaloLocalHadCoeffHelper
*
m_HadDMHelper
;
68
CaloLocalHadCoeff
*
m_HadDMCoeff
;
69
70
bool
m_isTestbeam
;
71
float
m_energyMin
;
72
int
m_netabin
;
73
float
m_etamin
;
74
float
m_etamax
;
75
float
m_deta
;
76
int
m_nphibin
;
77
float
m_phimin
;
78
float
m_phimax
;
79
float
m_dphi
;
80
int
m_nlogenerbin
;
81
float
m_logenermin
;
82
float
m_logenermax
;
83
float
m_dlogener
;
84
int
m_nrecobin
;
85
int
m_npdg
;
86
bool
m_doTailRejection
;
87
88
std::vector<std::vector<std::vector<TH2F *> > >
m_h2_etrue_vs_ereco
;
// [sDM][m_netabin][m_nlogenerbin]
89
std::vector<std::vector<std::vector<TProfile *> > >
m_hp_etrue_vs_ereco
;
// [sDM][m_netabin][m_nlogenerbin]
90
std::vector<std::vector<std::vector<std::vector<TProfile *> > > >
m_hp_engRecoOverTruth_vs_eta
;
//[npdg][sDM][nrecocases][m_nlogenerbin]
91
std::vector<std::vector<std::vector<std::vector<std::vector<TH1F *> > > > >
m_engRecSpect
;
// [npdg][sDM][nrecocases][nenerbin][netabin]
92
93
int
GetRmsWithoutTails
(
const
TH1F *h1,
float
&
mean
,
float
&rms,
float
ths=3.0);
94
95
private
:
96
CaloHadDMCoeffCheck
(
const
CaloHadDMCoeffCheck
&);
97
CaloHadDMCoeffCheck
&
operator=
(
const
CaloHadDMCoeffCheck
&);
98
};
99
100
#endif
101
operator=
ElementLink & operator=(const ElementLink &)=default
checker_macros.h
Define macros for attributes used to control the static checker.
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition
checker_macros.h:212
CaloHadDMCoeffCheck::CaloHadDMCoeffCheck
CaloHadDMCoeffCheck(const CaloHadDMCoeffCheck &)
CaloHadDMCoeffCheck::keys_comp
keys_comp
Definition
CaloHadDMCoeffCheck.h:50
CaloHadDMCoeffCheck::kENG_NORECO
@ kENG_NORECO
Definition
CaloHadDMCoeffCheck.h:50
CaloHadDMCoeffCheck::kENG_TRUTH
@ kENG_TRUTH
Definition
CaloHadDMCoeffCheck.h:50
CaloHadDMCoeffCheck::kENG_RECO
@ kENG_RECO
Definition
CaloHadDMCoeffCheck.h:50
CaloHadDMCoeffCheck::m_dlogener
float m_dlogener
Definition
CaloHadDMCoeffCheck.h:83
CaloHadDMCoeffCheck::m_logenermax
float m_logenermax
Definition
CaloHadDMCoeffCheck.h:82
CaloHadDMCoeffCheck::m_nrecobin
int m_nrecobin
Definition
CaloHadDMCoeffCheck.h:84
CaloHadDMCoeffCheck::m_HadDMHelper
CaloLocalHadCoeffHelper * m_HadDMHelper
Definition
CaloHadDMCoeffCheck.h:67
CaloHadDMCoeffCheck::m_npdg
int m_npdg
Definition
CaloHadDMCoeffCheck.h:85
CaloHadDMCoeffCheck::m_doTailRejection
bool m_doTailRejection
Definition
CaloHadDMCoeffCheck.h:86
CaloHadDMCoeffCheck::CaloHadDMCoeffCheck
CaloHadDMCoeffCheck()
Definition
CaloHadDMCoeffCheck.cxx:56
CaloHadDMCoeffCheck::m_netabin
int m_netabin
Definition
CaloHadDMCoeffCheck.h:72
CaloHadDMCoeffCheck::m_dphi
float m_dphi
Definition
CaloHadDMCoeffCheck.h:79
CaloHadDMCoeffCheck::m_etamin
float m_etamin
Definition
CaloHadDMCoeffCheck.h:73
CaloHadDMCoeffCheck::m_h2_etrue_vs_ereco
std::vector< std::vector< std::vector< TH2F * > > > m_h2_etrue_vs_ereco
Definition
CaloHadDMCoeffCheck.h:88
CaloHadDMCoeffCheck::m_isTestbeam
bool m_isTestbeam
Definition
CaloHadDMCoeffCheck.h:70
CaloHadDMCoeffCheck::m_etamax
float m_etamax
Definition
CaloHadDMCoeffCheck.h:74
CaloHadDMCoeffCheck::m_energyMin
float m_energyMin
Definition
CaloHadDMCoeffCheck.h:71
CaloHadDMCoeffCheck::GetRmsWithoutTails
int GetRmsWithoutTails(const TH1F *h1, float &mean, float &rms, float ths=3.0)
Definition
CaloHadDMCoeffCheck.cxx:657
CaloHadDMCoeffCheck::m_data
CaloHadDMCoeffData * m_data
Definition
CaloHadDMCoeffCheck.h:66
CaloHadDMCoeffCheck::m_engRecSpect
std::vector< std::vector< std::vector< std::vector< std::vector< TH1F * > > > > > m_engRecSpect
Definition
CaloHadDMCoeffCheck.h:91
CaloHadDMCoeffCheck::m_HadDMCoeff
CaloLocalHadCoeff * m_HadDMCoeff
Definition
CaloHadDMCoeffCheck.h:68
CaloHadDMCoeffCheck::m_hp_engRecoOverTruth_vs_eta
std::vector< std::vector< std::vector< std::vector< TProfile * > > > > m_hp_engRecoOverTruth_vs_eta
Definition
CaloHadDMCoeffCheck.h:90
CaloHadDMCoeffCheck::m_nphibin
int m_nphibin
Definition
CaloHadDMCoeffCheck.h:76
CaloHadDMCoeffCheck::m_phimin
float m_phimin
Definition
CaloHadDMCoeffCheck.h:77
CaloHadDMCoeffCheck::m_hp_etrue_vs_ereco
std::vector< std::vector< std::vector< TProfile * > > > m_hp_etrue_vs_ereco
Definition
CaloHadDMCoeffCheck.h:89
CaloHadDMCoeffCheck::m_phimax
float m_phimax
Definition
CaloHadDMCoeffCheck.h:78
CaloHadDMCoeffCheck::m_logenermin
float m_logenermin
Definition
CaloHadDMCoeffCheck.h:81
CaloHadDMCoeffCheck::m_deta
float m_deta
Definition
CaloHadDMCoeffCheck.h:75
CaloHadDMCoeffCheck::m_nlogenerbin
int m_nlogenerbin
Definition
CaloHadDMCoeffCheck.h:80
CaloHadDMCoeffCheck::dm_area_keys
dm_area_keys
Definition
CaloHadDMCoeffCheck.h:51
CaloHadDMCoeffCheck::sDM_EME0_EME12
@ sDM_EME0_EME12
Definition
CaloHadDMCoeffCheck.h:55
CaloHadDMCoeffCheck::sDM_EMB3_TILE0
@ sDM_EMB3_TILE0
Definition
CaloHadDMCoeffCheck.h:53
CaloHadDMCoeffCheck::sDM_EME3_HEC0
@ sDM_EME3_HEC0
Definition
CaloHadDMCoeffCheck.h:56
CaloHadDMCoeffCheck::sDM_UNCLASS
@ sDM_UNCLASS
Definition
CaloHadDMCoeffCheck.h:59
CaloHadDMCoeffCheck::sDM_EMB0_EMB1
@ sDM_EMB0_EMB1
Definition
CaloHadDMCoeffCheck.h:52
CaloHadDMCoeffCheck::sDM_DMTOT
@ sDM_DMTOT
Definition
CaloHadDMCoeffCheck.h:60
CaloHadDMCoeffCheck::sDM_LEAKAGE
@ sDM_LEAKAGE
Definition
CaloHadDMCoeffCheck.h:58
CaloHadDMCoeffCheck::sDM
@ sDM
Definition
CaloHadDMCoeffCheck.h:61
CaloHadDMCoeffCheck::sDM_FCAL
@ sDM_FCAL
Definition
CaloHadDMCoeffCheck.h:57
CaloHadDMCoeffCheck::sDM_SCN
@ sDM_SCN
Definition
CaloHadDMCoeffCheck.h:54
CaloHadDMCoeffCheck::make_report
void make_report(std::string &sfname)
Definition
CaloHadDMCoeffCheck.cxx:378
CaloHadDMCoeffData
Data to read from special DeadMaterialTree.
Definition
CaloHadDMCoeffData.h:30
CaloLocalHadCoeffHelper
Definition
CaloLocalHadCoeffHelper.h:14
CaloLocalHadCoeff
Hold binned correction data for local hadronic calibration procedure.
Definition
CaloLocalHadCoeff.h:41
mean
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Definition
dependence.cxx:254
process
const std::string process
Definition
fbtTestBasics.cxx:76
python.TrigEgammaMonitorHelper.TH1F
TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition
TrigEgammaMonitorHelper.py:24
Generated on
for ATLAS Offline Software by
1.17.0