Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Tracking
TrkFitter
TrkGaussianSumFilterUtils
TrkGaussianSumFilterUtils
KLGaussianMixtureReduction.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
16
#ifndef KLGaussianMixReductionUtils_H
17
#define KLGaussianMixReductionUtils_H
18
19
#include "
TrkGaussianSumFilterUtils/GsfConstants.h
"
20
//
21
#include <array>
22
#include <cstdint>
23
24
namespace
GSFUtils
{
25
29
struct
Component1D
30
{
31
double
mean
= 0.;
32
double
cov
= 0.;
33
double
invCov
= 1e10;
34
double
weight
= 0.;
35
};
41
struct
Component1DArray
42
{
43
alignas
(
GSFConstants::alignment
)
44
std::array
<
Component1D
,
45
GSFConstants::maxComponentsAfterConvolution
>
components
{};
46
int
numComponents
= 0;
47
};
53
struct
MergeArray
54
{
55
struct
merge
56
{
57
int8_t
To
= 0;
58
int8_t
From
= 0;
59
};
60
std::array<merge, GSFConstants::maxComponentsAfterConvolution>
merges
{};
61
int
numMerges
= 0;
62
};
63
79
MergeArray
80
findMerges
(
const
Component1DArray
& componentsIn,
const
int8_t reducedSize);
81
82
}
// namespace KLGaussianMixtureReduction
83
84
#endif
GSFUtils::Component1D::cov
double cov
Definition:
KLGaussianMixtureReduction.h:32
GSFUtils::Component1D::weight
double weight
Definition:
KLGaussianMixtureReduction.h:34
GSFUtils::MergeArray
struct representing an array or the merges.
Definition:
KLGaussianMixtureReduction.h:54
GSFUtils::Component1DArray::numComponents
int numComponents
Definition:
KLGaussianMixtureReduction.h:46
GSFUtils::MergeArray::merge::To
int8_t To
Definition:
KLGaussianMixtureReduction.h:57
GSFConstants::maxComponentsAfterConvolution
constexpr int8_t maxComponentsAfterConvolution
The maximum size State x Bethe-Heitler components The typical number we use is the max 6x12 = 72 i....
Definition:
GsfConstants.h:61
GSFConstants::alignment
constexpr size_t alignment
Alignment used for SIMD operations internally to GSF.
Definition:
GsfConstants.h:68
lumiFormat.array
array
Definition:
lumiFormat.py:91
GSFUtils::Component1D::invCov
double invCov
Definition:
KLGaussianMixtureReduction.h:33
GSFUtils::Component1DArray::components
std::array< Component1D, GSFConstants::maxComponentsAfterConvolution > components
Definition:
KLGaussianMixtureReduction.h:45
GSFUtils::MergeArray::merge::From
int8_t From
Definition:
KLGaussianMixtureReduction.h:58
GSFUtils
Dynamic array fullfilling alignment requirements.
Definition:
KLGaussianMixtureReduction.cxx:394
GsfConstants.h
GSFUtils::Component1D::mean
double mean
Definition:
KLGaussianMixtureReduction.h:31
GSFUtils::Component1D
struct representing 1D component
Definition:
KLGaussianMixtureReduction.h:30
GSFUtils::MergeArray::numMerges
int numMerges
Definition:
KLGaussianMixtureReduction.h:61
merge
Definition:
merge.py:1
GSFUtils::findMerges
MergeArray findMerges(const Component1DArray &componentsIn, const int8_t reducedSize)
Find the order in which the components need to be merged.
Definition:
KLGaussianMixtureReduction.cxx:396
GSFUtils::Component1DArray
struct representing an array of 1D component.
Definition:
KLGaussianMixtureReduction.h:42
GSFUtils::MergeArray::merges
std::array< merge, GSFConstants::maxComponentsAfterConvolution > merges
Definition:
KLGaussianMixtureReduction.h:60
Generated on Sat Apr 12 2025 21:13:20 for ATLAS Offline Software by
1.8.18