ATLAS Offline Software
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
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
CaloHadDMCoeffCheck::sDM_EMB3_TILE0
@ sDM_EMB3_TILE0
Definition:
CaloHadDMCoeffCheck.h:53
CaloHadDMCoeffCheck::m_dphi
float m_dphi
Definition:
CaloHadDMCoeffCheck.h:79
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_dlogener
float m_dlogener
Definition:
CaloHadDMCoeffCheck.h:83
CaloHadDMCoeffCheck::m_nrecobin
int m_nrecobin
Definition:
CaloHadDMCoeffCheck.h:84
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
CaloHadDMCoeffCheck::m_energyMin
float m_energyMin
Definition:
CaloHadDMCoeffCheck.h:71
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
TH2F
Definition:
rootspy.cxx:420
CaloHadDMCoeffCheck::sDM_UNCLASS
@ sDM_UNCLASS
Definition:
CaloHadDMCoeffCheck.h:59
read_hist_ntuple.h1
h1
Definition:
read_hist_ntuple.py:21
CaloHadDMCoeffCheck::keys_comp
keys_comp
Definition:
CaloHadDMCoeffCheck.h:50
CaloHadDMCoeffCheck::m_npdg
int m_npdg
Definition:
CaloHadDMCoeffCheck.h:85
SUSY_SimplifiedModel_PostInclude.process
string process
Definition:
SUSY_SimplifiedModel_PostInclude.py:42
CaloHadDMCoeffCheck::sDM_EME0_EME12
@ sDM_EME0_EME12
Definition:
CaloHadDMCoeffCheck.h:55
CaloLocalHadCoeffHelper
Definition:
CaloLocalHadCoeffHelper.h:14
CaloHadDMCoeffCheck::m_logenermin
float m_logenermin
Definition:
CaloHadDMCoeffCheck.h:81
CaloHadDMCoeffCheck::sDM_EME3_HEC0
@ sDM_EME3_HEC0
Definition:
CaloHadDMCoeffCheck.h:56
CaloHadDMCoeffCheck::m_HadDMHelper
CaloLocalHadCoeffHelper * m_HadDMHelper
Definition:
CaloHadDMCoeffCheck.h:67
CaloHadDMCoeffCheck
Runs toy reconstruction to validate dead material constants.
Definition:
CaloHadDMCoeffCheck.h:40
CaloHadDMCoeffCheck::m_HadDMCoeff
CaloLocalHadCoeff * m_HadDMCoeff
Definition:
CaloHadDMCoeffCheck.h:68
CaloHadDMCoeffCheck::sDM_EMB0_EMB1
@ sDM_EMB0_EMB1
Definition:
CaloHadDMCoeffCheck.h:52
CaloLocalHadCoeff
Hold binned correction data for local hadronic calibration procedure.
Definition:
CaloLocalHadCoeff.h:41
CaloHadDMCoeffCheck::m_etamax
float m_etamax
Definition:
CaloHadDMCoeffCheck.h:74
CaloHadDMCoeffCheck::m_logenermax
float m_logenermax
Definition:
CaloHadDMCoeffCheck.h:82
CaloHadDMCoeffData
Data to read from special DeadMaterialTree.
Definition:
CaloHadDMCoeffData.h:30
CaloHadDMCoeffCheck::m_nphibin
int m_nphibin
Definition:
CaloHadDMCoeffCheck.h:76
CaloHadDMCoeffCheck::m_doTailRejection
bool m_doTailRejection
Definition:
CaloHadDMCoeffCheck.h:86
CaloHadDMCoeffCheck::sDM_FCAL
@ sDM_FCAL
Definition:
CaloHadDMCoeffCheck.h:57
CaloHadDMCoeffCheck::m_data
CaloHadDMCoeffData * m_data
Definition:
CaloHadDMCoeffCheck.h:66
MC::isSingleParticle
bool isSingleParticle(const T &p)
Definition:
HepMCHelpers.h:55
CaloHadDMCoeffCheck::m_engRecSpect
std::vector< std::vector< std::vector< std::vector< std::vector< TH1F * > > > > > m_engRecSpect
Definition:
CaloHadDMCoeffCheck.h:91
CaloHadDMCoeffCheck::m_isTestbeam
bool m_isTestbeam
Definition:
CaloHadDMCoeffCheck.h:70
CaloHadDMCoeffCheck::m_netabin
int m_netabin
Definition:
CaloHadDMCoeffCheck.h:72
TProfile
Definition:
rootspy.cxx:515
CaloHadDMCoeffCheck::m_phimin
float m_phimin
Definition:
CaloHadDMCoeffCheck.h:77
CaloHadDMCoeffCheck::m_etamin
float m_etamin
Definition:
CaloHadDMCoeffCheck.h:73
CaloHadDMCoeffCheck::sDM_SCN
@ sDM_SCN
Definition:
CaloHadDMCoeffCheck.h:54
CaloHadDMCoeffCheck::m_deta
float m_deta
Definition:
CaloHadDMCoeffCheck.h:75
CaloHadDMCoeffCheck::m_phimax
float m_phimax
Definition:
CaloHadDMCoeffCheck.h:78
CaloHadDMCoeffCheck::m_h2_etrue_vs_ereco
std::vector< std::vector< std::vector< TH2F * > > > m_h2_etrue_vs_ereco
Definition:
CaloHadDMCoeffCheck.h:88
TH1F
Definition:
rootspy.cxx:320
beamspotnt.rms
rms
Definition:
bin/beamspotnt.py:1266
CaloHadDMCoeffCheck::sDM_LEAKAGE
@ sDM_LEAKAGE
Definition:
CaloHadDMCoeffCheck.h:58
CaloHadDMCoeffCheck::dm_area_keys
dm_area_keys
Definition:
CaloHadDMCoeffCheck.h:51
checker_macros.h
Define macros for attributes used to control the static checker.
CaloHadDMCoeffCheck::sDM_DMTOT
@ sDM_DMTOT
Definition:
CaloHadDMCoeffCheck.h:60
CaloHadDMCoeffCheck::m_hp_etrue_vs_ereco
std::vector< std::vector< std::vector< TProfile * > > > m_hp_etrue_vs_ereco
Definition:
CaloHadDMCoeffCheck.h:89
CaloHadDMCoeffCheck::m_nlogenerbin
int m_nlogenerbin
Definition:
CaloHadDMCoeffCheck.h:80
CaloHadDMCoeffCheck::CaloHadDMCoeffCheck
CaloHadDMCoeffCheck(const CaloHadDMCoeffCheck &)
Generated on Fri Jul 5 2024 21:11:56 for ATLAS Offline Software by
1.8.18