ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigHLTJetHypoUnitTests
tests
JetGroupUnionTest.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "gtest/gtest.h"
6
#include "
TrigHLTJetHypo/../src/JetGroupUnion.h
"
7
#include <vector>
8
#include <map>
9
10
using
res
= std::pair<std::vector<unsigned int>,
bool
>;
11
using
vec
= std::vector<unsigned int>;
12
13
TEST
(JetGroupUnionTester,
empty
) {
14
std::vector<std::size_t> siblings;
15
CondInd2JetGroupsInds
satisfiedBy;
16
17
auto
collector = std::unique_ptr<ITrigJetHypoInfoCollector>(
nullptr
);
18
19
JetGroupUnion
jgu(siblings, satisfiedBy);
20
21
EXPECT_TRUE(jgu.
next
(collector).empty());
22
}
23
24
25
TEST
(JetGroupUnionTester, one_elementary_cond) {
26
std::vector<std::size_t> siblings{0};
27
28
CondInd2JetGroupsInds
satisfiedBy;
29
satisfiedBy[0] = std::vector<std::size_t> {0, 1, 2};
30
31
auto
collector = std::unique_ptr<ITrigJetHypoInfoCollector>(
nullptr
);
32
33
JetGroupUnion
jgu(siblings, satisfiedBy);
34
35
auto
exp = std::vector<std::size_t>{0, 1, 2};
36
EXPECT_EQ(jgu.
next
(collector), exp);
37
EXPECT_TRUE(jgu.
next
(collector).empty());
38
}
39
40
41
TEST
(JetGroupUnionTester, two_elem_nooverlap) {
42
std::vector<std::size_t> siblings{0, 1};
43
44
CondInd2JetGroupsInds
satisfiedBy;
45
satisfiedBy[0] = std::vector<std::size_t> {0, 1, 2};
46
satisfiedBy[1] = std::vector<std::size_t> {3, 4, 5};
47
auto
collector = std::unique_ptr<ITrigJetHypoInfoCollector>(
nullptr
);
48
49
JetGroupUnion
jgu(siblings, satisfiedBy);
50
51
auto
exp = std::vector<std::size_t>{0, 1, 2, 3, 4, 5};
52
EXPECT_EQ(jgu.
next
(collector), exp);
53
EXPECT_TRUE(jgu.
next
(collector).empty());
54
}
55
56
TEST
(JetGroupUnionTester, two_elem_withoverlap) {
57
std::vector<std::size_t> siblings{0, 1};
58
59
CondInd2JetGroupsInds
satisfiedBy;
60
satisfiedBy[0] = std::vector<std::size_t> {0, 1, 2};
61
satisfiedBy[1] = std::vector<std::size_t> {3, 1, 5};
62
63
auto
collector = std::unique_ptr<ITrigJetHypoInfoCollector>(
nullptr
);
64
65
JetGroupUnion
jgu(siblings, satisfiedBy);
66
67
auto
exp = std::vector<std::size_t>{0, 1, 2, 3, 5};
68
EXPECT_EQ(jgu.
next
(collector), exp);
69
EXPECT_TRUE(jgu.
next
(collector).empty());
70
}
vec
std::vector< size_t > vec
Definition
CombinationsGeneratorTest.cxx:9
res
std::pair< std::vector< unsigned int >, bool > res
Definition
JetGroupProductTest.cxx:11
CondInd2JetGroupsInds
std::map< int, std::vector< std::size_t > > CondInd2JetGroupsInds
Definition
JetGroupProduct.h:15
TEST
TEST(JetGroupUnionTester, empty)
Definition
JetGroupUnionTest.cxx:13
JetGroupUnion.h
empty
static const Attributes_t empty
Definition
XmlStreamer.cxx:16
JetGroupUnion
Definition
JetGroupUnion.h:20
JetGroupUnion::next
virtual std::vector< std::size_t > next(const Collector &) override
Definition
JetGroupUnion.cxx:36
Generated on
for ATLAS Offline Software by
1.17.0