ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetUncertainties
JetUncertainties
UncertaintyHistogram.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef JETUNCERTAINTIES_UNCERTAINTYHISTOGRAM_H
6
#define JETUNCERTAINTIES_UNCERTAINTYHISTOGRAM_H
7
8
#include "
AsgMessaging/AsgMessaging.h
"
9
#include "
AsgMessaging/StatusCode.h
"
10
11
#include "
JetUncertainties/UncertaintyEnum.h
"
12
13
#include "
JetUncertainties/JetHelpers.h
"
14
15
#include "TString.h"
16
#include "TH1.h"
17
18
class
TFile;
19
class
TAxis;
20
21
namespace
jet
22
{
23
24
class
UncertaintyHistogram
:
public
asg::AsgMessaging
25
{
26
public
:
27
// Constructor/destructor/initialization
28
UncertaintyHistogram
(
const
std::string& histName,
const
Interpolate::TypeEnum
interpolate);
29
UncertaintyHistogram
(
const
TString& histName,
const
Interpolate::TypeEnum
interpolate);
30
UncertaintyHistogram
(
const
char
* histName,
const
Interpolate::TypeEnum
interpolate);
31
UncertaintyHistogram
(
const
UncertaintyHistogram
& toCopy);
32
virtual
~UncertaintyHistogram
();
33
virtual
StatusCode
initialize
(TFile* histFile);
34
35
// Member retrieval methods
36
const
TString&
getName
()
const
{
return
m_name
; }
37
const
TH1*
getHisto
()
const
{
return
m_histo
; }
38
Interpolate::TypeEnum
getInterp
()
const
{
return
m_interpolate
; }
39
int
getNumDim
()
const
{
return
m_nDim
; }
40
41
// Histogram information access
42
double
getValue
(
const
double
var1)
const
;
43
double
getValue
(
const
double
var1,
const
double
var2)
const
;
44
double
getValue
(
const
double
var1,
const
double
var2,
const
double
var3)
const
;
45
46
private
:
47
// Private members
48
bool
m_isInit
;
49
const
TString
m_name
;
50
const
Interpolate::TypeEnum
m_interpolate
;
51
TH1*
m_histo
;
52
int
m_nDim
;
53
54
// Cache projections in case of 1-D interpolation in a 2-D or 3-D histogram
55
// For a 3-D histogram, it's [y][z] or [x][z] or [x][y] as appropriate
56
std::vector< std::vector< std::unique_ptr<TH1> > >
m_cachedProj
;
57
StatusCode
cacheProjections
();
58
59
// Histogram reading helpers
60
double
readHisto
(
const
double
var1,
const
double
var2=0,
const
double
var3=0)
const
;
61
double
checkBoundariesByBin
(
const
TAxis* axis,
const
int
numBins,
const
double
valInput)
const
;
62
double
checkBoundaries
(
const
TAxis* axis,
const
int
numBins,
const
double
valInput)
const
;
63
64
};
65
66
}
// end jet namespace
67
68
69
#endif
70
AsgMessaging.h
StatusCode.h
JetHelpers.h
UncertaintyEnum.h
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition
AsgMessaging.h:40
jet::UncertaintyHistogram::m_histo
TH1 * m_histo
Definition
UncertaintyHistogram.h:51
jet::UncertaintyHistogram::m_name
const TString m_name
Definition
UncertaintyHistogram.h:49
jet::UncertaintyHistogram::checkBoundaries
double checkBoundaries(const TAxis *axis, const int numBins, const double valInput) const
Definition
UncertaintyHistogram.cxx:293
jet::UncertaintyHistogram::m_nDim
int m_nDim
Definition
UncertaintyHistogram.h:52
jet::UncertaintyHistogram::cacheProjections
StatusCode cacheProjections()
Definition
UncertaintyHistogram.cxx:322
jet::UncertaintyHistogram::getInterp
Interpolate::TypeEnum getInterp() const
Definition
UncertaintyHistogram.h:38
jet::UncertaintyHistogram::getNumDim
int getNumDim() const
Definition
UncertaintyHistogram.h:39
jet::UncertaintyHistogram::getHisto
const TH1 * getHisto() const
Definition
UncertaintyHistogram.h:37
jet::UncertaintyHistogram::getValue
double getValue(const double var1) const
Definition
UncertaintyHistogram.cxx:141
jet::UncertaintyHistogram::readHisto
double readHisto(const double var1, const double var2=0, const double var3=0) const
Definition
UncertaintyHistogram.cxx:178
jet::UncertaintyHistogram::~UncertaintyHistogram
virtual ~UncertaintyHistogram()
Definition
UncertaintyHistogram.cxx:79
jet::UncertaintyHistogram::getName
const TString & getName() const
Definition
UncertaintyHistogram.h:36
jet::UncertaintyHistogram::m_cachedProj
std::vector< std::vector< std::unique_ptr< TH1 > > > m_cachedProj
Definition
UncertaintyHistogram.h:56
jet::UncertaintyHistogram::m_isInit
bool m_isInit
Definition
UncertaintyHistogram.h:48
jet::UncertaintyHistogram::UncertaintyHistogram
UncertaintyHistogram(const std::string &histName, const Interpolate::TypeEnum interpolate)
Definition
UncertaintyHistogram.cxx:28
jet::UncertaintyHistogram::checkBoundariesByBin
double checkBoundariesByBin(const TAxis *axis, const int numBins, const double valInput) const
Definition
UncertaintyHistogram.cxx:270
jet::UncertaintyHistogram::m_interpolate
const Interpolate::TypeEnum m_interpolate
Definition
UncertaintyHistogram.h:50
jet::Interpolate::TypeEnum
TypeEnum
Definition
UncertaintyEnum.h:241
jet
Definition
JetCalibTools_PlotJESFactors.cxx:23
initialize
void initialize()
Definition
run_EoverP.cxx:894
Generated on
for ATLAS Offline Software by
1.17.0