RecoJets
FFTJetAlgorithms
src
LookupTable2d.cc
Go to the documentation of this file.
1
#include <cmath>
2
#include <cassert>
3
4
#include "
RecoJets/FFTJetAlgorithms/interface/LookupTable2d.h
"
5
6
namespace
fftjetcms
{
7
LookupTable2d::LookupTable2d
(
8
unsigned
nx,
double
xmin
,
double
xmax
,
unsigned
ny,
double
ymin
,
double
ymax
,
const
std::vector<double>&
data
)
9
: data_(
data
),
10
nx_(nx),
11
ny_(ny),
12
xmin_(
xmin
),
13
xmax_(
xmax
),
14
ymin_(
ymin
),
15
ymax_(
ymax
),
16
bwx_((
xmax
-
xmin
) / nx),
17
bwy_((
ymax
-
ymin
) / ny) {
18
assert
(
nx_
);
19
assert
(
ny_
);
20
assert
(
xmin_
<
xmax_
);
21
assert
(
ymin_
<
ymax_
);
22
assert
(
data_
.size() ==
nx_
*
ny_
);
23
}
24
25
double
LookupTable2d::closest
(
const
double
x,
const
double
y)
const
{
26
const
unsigned
ix = x <=
xmin_
? 0
U
27
: x >=
xmax_
-
bwx_
/ 2.0 ?
nx_
- 1
U
28
: static_cast<unsigned>((x -
xmin_
) /
bwx_
);
29
const
unsigned
iy = y <=
ymin_
? 0
U
30
: y >=
ymax_
-
bwy_
/ 2.0 ?
ny_
- 1
U
31
: static_cast<unsigned>((y -
ymin_
) /
bwy_
);
32
return
data_
[ix *
ny_
+ iy];
33
}
34
}
// namespace fftjetcms
fftjetcms::LookupTable2d::xmax_
double xmax_
Definition:
LookupTable2d.h:31
fftjetcms
Definition:
AbsPileupCalculator.h:15
fftjetcms::LookupTable2d::closest
double closest(double x, double y) const
Definition:
LookupTable2d.cc:25
fftjetcms::LookupTable2d::nx_
unsigned nx_
Definition:
LookupTable2d.h:28
cms::cuda::assert
assert(be >=bs)
fftjetcms::LookupTable2d::xmin_
double xmin_
Definition:
LookupTable2d.h:30
fftjetcms::LookupTable2d::ymax_
double ymax_
Definition:
LookupTable2d.h:33
fftjetcms::LookupTable2d::data_
std::vector< double > data_
Definition:
LookupTable2d.h:27
LookupTable2d.h
L1TOccupancyClient_cfi.ymax
ymax
Definition:
L1TOccupancyClient_cfi.py:43
mitigatedMETSequence_cff.U
U
Definition:
mitigatedMETSequence_cff.py:36
fftjetcms::LookupTable2d::ny_
unsigned ny_
Definition:
LookupTable2d.h:29
fftjetcms::LookupTable2d::LookupTable2d
LookupTable2d()=delete
fftjetcms::LookupTable2d::bwx_
double bwx_
Definition:
LookupTable2d.h:34
L1TOccupancyClient_cfi.ymin
ymin
Definition:
L1TOccupancyClient_cfi.py:43
TrackerOfflineValidation_Dqm_cff.xmax
xmax
Definition:
TrackerOfflineValidation_Dqm_cff.py:11
data
char data[epos_bytes_allocation]
Definition:
EPOS_Wrapper.h:79
fftjetcms::LookupTable2d::ymin_
double ymin_
Definition:
LookupTable2d.h:32
TrackerOfflineValidation_Dqm_cff.xmin
xmin
Definition:
TrackerOfflineValidation_Dqm_cff.py:10
fftjetcms::LookupTable2d::bwy_
double bwy_
Definition:
LookupTable2d.h:35
Generated for CMSSW Reference Manual by
1.8.16