ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloLocalHadCalib
CaloLocalHadCalib
CaloHadDMCoeffFit.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_CALOHADDMCOEFFFIT_H
6
#define CALOLOCALHADCALIB_CALOHADDMCOEFFFIT_H
7
21
22
#include <vector>
23
#include <string>
24
#include <math.h>
25
#include "
CxxUtils/checker_macros.h
"
26
27
class
CaloLocalHadCoeff
;
28
class
CaloLocalHadCoeffHelper
;
29
class
CaloHadDMCoeffData
;
30
class
TProfile;
31
class
TH2F;
32
class
TH1F
;
33
class
TProfile2D;
34
35
36
class
ATLAS_NOT_THREAD_SAFE
CaloHadDMCoeffFit
{
37
public :
38
39
// average and rms on-the-flight calculation
40
class
PrepData
{
41
public
:
42
unsigned
int
n_entries
;
43
double
m_sum
;
44
double
m_aver
;
45
double
m_rms
;
46
double
m_sw
;
47
PrepData
():
n_entries
(0),
m_sum
(0.0),
m_aver
(0.0),
m_rms
(0.0),
m_sw
(0.0) { }
48
~PrepData
(){}
49
void
add
(
double
xx,
double
w=1.0)
50
{
51
n_entries
++;
52
m_sum
+= xx;
53
m_rms
= (
m_sw
/(
m_sw
+w))*(
m_rms
+(w/(
m_sw
+w))*(xx-
m_aver
)*(xx-
m_aver
));
54
m_aver
=
m_aver
+(xx-
m_aver
)*w/(
m_sw
+w);
55
m_sw
+= w;
56
}
57
unsigned
int
size
() {
return
n_entries
;}
58
};
59
60
// fit data
61
class
FitData
{
62
public
:
63
bool
isOK
;
64
float
p0
,
p1
,
s0
,
s1
;
65
std::string
descr
;
66
FitData
() :
isOK
(true),
p0
(0),
p1
(0),
s0
(0),
s1
(0),
descr
(
"def"
) {}
67
FitData
(
float
the_p0,
float
the_s0,
float
the_p1,
float
the_s1)
68
:
isOK
(true),
p0
(the_p0),
p1
(the_p1),
s0
(the_s0),
s1
(the_s1),
descr
(
"def"
) {}
69
void
getInverted
(
float
&p0inv,
float
&s0inv,
float
&p1inv,
float
&s1inv)
70
{
71
p0inv=0.0; s0inv=0.0; p1inv=0.0; s1inv=0.0;
72
if
(
p1
!=0) {
73
p0inv = -1.0*
p0
/
p1
;
74
p1inv = 1./
p1
;
75
s0inv = sqrt((
s0
*
s0
)/(
p1
*
p1
) + (
s1
*
s1
)*(
p0
*
p0
)/(
p1
*
p1
*
p1
*
p1
));
76
s1inv =
s1
/(
p1
*
p1
);
77
}
78
}
79
};
80
81
CaloHadDMCoeffFit
();
82
~CaloHadDMCoeffFit
();
83
84
CaloLocalHadCoeff
*
process
(
CaloHadDMCoeffData
*myData,
CaloLocalHadCoeff
*myHadDMCoeff,
bool
isSingleParticle=
true
,
bool
tbflag=
false
);
85
void
make_report(std::string &sfname);
86
void
SetNormalizationType
(std::string &stype) {
m_NormalizationType
= stype;}
87
88
private
:
89
CaloHadDMCoeffData
*
m_data
;
90
CaloLocalHadCoeffHelper
*
m_HadDMHelper
;
91
92
CaloLocalHadCoeff
*
m_HadDMCoeff
;
93
94
bool
m_isTestbeam
;
95
double
m_energyMin
;
96
double
m_weightMax
;
97
double
m_distance_cut
;
98
99
std::string
m_NormalizationType
;
100
int
m_NormalizationTypeNumber
;
101
102
std::vector<PrepData *>
m_engClus
;
103
std::vector<PrepData *>
m_engPrep
;
104
std::vector<PrepData *>
m_engDm
;
105
std::vector<PrepData *>
m_engDmOverClus
;
106
std::vector<TProfile *>
m_hp_DmVsPrep
;
107
std::vector<TH2F *>
m_h2_DmVsPrep
;
108
std::vector<TH1F *>
m_h1_engDmOverClus
;
109
std::vector<FitData *>
m_FitData
;
110
111
std::vector<TProfile2D *>
m_hp2_DmWeight
;
112
113
void
clear
();
114
double
ProfileRefiner
(TProfile *pH,
double
ev_ratio=0.92);
115
double
GetAverageWithoutRightTail
(TH1F *pH,
double
ev_ratio=0.92);
116
int
getFirstEnerLambdaBin
(
int
ibin);
117
118
CaloHadDMCoeffFit
(
const
CaloHadDMCoeffFit
&);
119
CaloHadDMCoeffFit
&
operator=
(
const
CaloHadDMCoeffFit
&);
120
};
121
122
#endif
123
operator=
ElementLink & operator=(const ElementLink &)=default
clear
void clear()
Empty the pool.
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
CaloHadDMCoeffData
Data to read from special DeadMaterialTree.
Definition
CaloHadDMCoeffData.h:30
CaloHadDMCoeffFit::FitData::descr
std::string descr
Definition
CaloHadDMCoeffFit.h:65
CaloHadDMCoeffFit::FitData::FitData
FitData(float the_p0, float the_s0, float the_p1, float the_s1)
Definition
CaloHadDMCoeffFit.h:67
CaloHadDMCoeffFit::FitData::isOK
bool isOK
Definition
CaloHadDMCoeffFit.h:63
CaloHadDMCoeffFit::FitData::s1
float s1
Definition
CaloHadDMCoeffFit.h:64
CaloHadDMCoeffFit::FitData::p1
float p1
Definition
CaloHadDMCoeffFit.h:64
CaloHadDMCoeffFit::FitData::p0
float p0
Definition
CaloHadDMCoeffFit.h:64
CaloHadDMCoeffFit::FitData::s0
float s0
Definition
CaloHadDMCoeffFit.h:64
CaloHadDMCoeffFit::FitData::getInverted
void getInverted(float &p0inv, float &s0inv, float &p1inv, float &s1inv)
Definition
CaloHadDMCoeffFit.h:69
CaloHadDMCoeffFit::FitData::FitData
FitData()
Definition
CaloHadDMCoeffFit.h:66
CaloHadDMCoeffFit::PrepData::size
unsigned int size()
Definition
CaloHadDMCoeffFit.h:57
CaloHadDMCoeffFit::PrepData::PrepData
PrepData()
Definition
CaloHadDMCoeffFit.h:47
CaloHadDMCoeffFit::PrepData::m_aver
double m_aver
Definition
CaloHadDMCoeffFit.h:44
CaloHadDMCoeffFit::PrepData::m_sum
double m_sum
Definition
CaloHadDMCoeffFit.h:43
CaloHadDMCoeffFit::PrepData::~PrepData
~PrepData()
Definition
CaloHadDMCoeffFit.h:48
CaloHadDMCoeffFit::PrepData::m_rms
double m_rms
Definition
CaloHadDMCoeffFit.h:45
CaloHadDMCoeffFit::PrepData::m_sw
double m_sw
Definition
CaloHadDMCoeffFit.h:46
CaloHadDMCoeffFit::PrepData::add
void add(double xx, double w=1.0)
Definition
CaloHadDMCoeffFit.h:49
CaloHadDMCoeffFit::PrepData::n_entries
unsigned int n_entries
Definition
CaloHadDMCoeffFit.h:42
CaloHadDMCoeffFit
To fill and fit TProfile histograms using special dead material tree.
Definition
CaloHadDMCoeffFit.h:36
CaloHadDMCoeffFit::m_HadDMHelper
CaloLocalHadCoeffHelper * m_HadDMHelper
Definition
CaloHadDMCoeffFit.h:90
CaloHadDMCoeffFit::m_engClus
std::vector< PrepData * > m_engClus
Definition
CaloHadDMCoeffFit.h:102
CaloHadDMCoeffFit::CaloHadDMCoeffFit
CaloHadDMCoeffFit()
Definition
CaloHadDMCoeffFit.cxx:58
CaloHadDMCoeffFit::m_NormalizationType
std::string m_NormalizationType
Definition
CaloHadDMCoeffFit.h:99
CaloHadDMCoeffFit::m_data
CaloHadDMCoeffData * m_data
Definition
CaloHadDMCoeffFit.h:89
CaloHadDMCoeffFit::ProfileRefiner
double ProfileRefiner(TProfile *pH, double ev_ratio=0.92)
Definition
CaloHadDMCoeffFit.cxx:1019
CaloHadDMCoeffFit::m_distance_cut
double m_distance_cut
Definition
CaloHadDMCoeffFit.h:97
CaloHadDMCoeffFit::m_HadDMCoeff
CaloLocalHadCoeff * m_HadDMCoeff
Definition
CaloHadDMCoeffFit.h:92
CaloHadDMCoeffFit::m_engPrep
std::vector< PrepData * > m_engPrep
Definition
CaloHadDMCoeffFit.h:103
CaloHadDMCoeffFit::m_FitData
std::vector< FitData * > m_FitData
Definition
CaloHadDMCoeffFit.h:109
CaloHadDMCoeffFit::m_NormalizationTypeNumber
int m_NormalizationTypeNumber
Definition
CaloHadDMCoeffFit.h:100
CaloHadDMCoeffFit::m_engDmOverClus
std::vector< PrepData * > m_engDmOverClus
Definition
CaloHadDMCoeffFit.h:105
CaloHadDMCoeffFit::GetAverageWithoutRightTail
double GetAverageWithoutRightTail(TH1F *pH, double ev_ratio=0.92)
Definition
CaloHadDMCoeffFit.cxx:1059
CaloHadDMCoeffFit::CaloHadDMCoeffFit
CaloHadDMCoeffFit(const CaloHadDMCoeffFit &)
CaloHadDMCoeffFit::m_engDm
std::vector< PrepData * > m_engDm
Definition
CaloHadDMCoeffFit.h:104
CaloHadDMCoeffFit::m_isTestbeam
bool m_isTestbeam
Definition
CaloHadDMCoeffFit.h:94
CaloHadDMCoeffFit::m_energyMin
double m_energyMin
Definition
CaloHadDMCoeffFit.h:95
CaloHadDMCoeffFit::m_hp_DmVsPrep
std::vector< TProfile * > m_hp_DmVsPrep
Definition
CaloHadDMCoeffFit.h:106
CaloHadDMCoeffFit::SetNormalizationType
void SetNormalizationType(std::string &stype)
Definition
CaloHadDMCoeffFit.h:86
CaloHadDMCoeffFit::m_hp2_DmWeight
std::vector< TProfile2D * > m_hp2_DmWeight
Definition
CaloHadDMCoeffFit.h:111
CaloHadDMCoeffFit::m_h1_engDmOverClus
std::vector< TH1F * > m_h1_engDmOverClus
Definition
CaloHadDMCoeffFit.h:108
CaloHadDMCoeffFit::m_h2_DmVsPrep
std::vector< TH2F * > m_h2_DmVsPrep
Definition
CaloHadDMCoeffFit.h:107
CaloHadDMCoeffFit::m_weightMax
double m_weightMax
Definition
CaloHadDMCoeffFit.h:96
CaloHadDMCoeffFit::getFirstEnerLambdaBin
int getFirstEnerLambdaBin(int ibin)
Definition
CaloHadDMCoeffFit.cxx:1095
CaloLocalHadCoeffHelper
Definition
CaloLocalHadCoeffHelper.h:14
CaloLocalHadCoeff
Hold binned correction data for local hadronic calibration procedure.
Definition
CaloLocalHadCoeff.h:41
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