ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigHLTJetHypo
src
TrigHLTJetHypoUtils
CombinationsGrouper.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrigHLTJetHypo/TrigHLTJetHypoUtils/CombinationsGrouper.h
"
6
#include "
TrigHLTJetHypo/TrigHLTJetHypoUtils/CombinationsGen.h
"
7
8
9
CombinationsGrouper::CombinationsGrouper
(){}
10
11
CombinationsGrouper::CombinationsGrouper
(
unsigned
int
groupSize):
12
m_groupSize
{groupSize}{}
13
14
15
CombinationsGrouper::CombinationsGrouper
(
unsigned
int
groupSize,
16
const
HypoJetVector
& jets):
17
m_groupSize
(groupSize),
m_jets
{jets}{
18
}
19
20
21
CombinationsGrouper::CombinationsGrouper
(
unsigned
int
groupSize,
22
const
HypoJetCIter
& b,
23
const
HypoJetCIter
& e):
24
m_groupSize
(groupSize),
m_jets
{b, e}{
25
}
26
27
28
HypoJetVector
CombinationsGrouper::next
() {
29
HypoJetGroupVector
hjgv;
30
31
// create a combinations generator. Used to select the jets
32
// to be tested by the condition objects
33
CombinationsGen
combgen(
m_jets
.size(),
m_groupSize
);
34
35
auto
combs = combgen.
next
();
36
if
(combs.second ==
false
){
37
return
HypoJetVector
{};
38
}
39
40
HypoJetVector
v;
41
for
(
auto
i : combs.first){ v.push_back(*(
m_jets
.begin() + i));}
42
43
return
HypoJetVector
(std::move(v));
44
}
45
46
std::string
CombinationsGrouper::getName
()
const
{
47
return
"CombinationsGrouper"
;
48
}
49
50
std::string
CombinationsGrouper::toString
()
const
{
51
52
std::string s=
"CombinationsGrouper - create all combinations of jets of length "
;
53
s+= std::to_string(
m_groupSize
) +
'\n'
;
54
55
return
s;
56
}
57
58
CombinationsGen.h
CombinationsGrouper.h
HypoJetCIter
HypoJetVector::const_iterator HypoJetCIter
Definition
HypoJetDefs.h:29
HypoJetGroupVector
std::vector< HypoJetVector > HypoJetGroupVector
Definition
HypoJetDefs.h:35
HypoJetVector
std::vector< pHypoJet > HypoJetVector
Definition
HypoJetDefs.h:27
CombinationsGen
Definition
CombinationsGen.h:20
CombinationsGen::next
std::pair< std::vector< unsigned int >, bool > next()
Definition
CombinationsGen.h:33
CombinationsGrouper::next
virtual HypoJetVector next() override
Definition
CombinationsGrouper.cxx:28
CombinationsGrouper::m_jets
HypoJetVector m_jets
Definition
CombinationsGrouper.h:26
CombinationsGrouper::CombinationsGrouper
CombinationsGrouper()
Definition
CombinationsGrouper.cxx:9
CombinationsGrouper::getName
virtual std::string getName() const override
Definition
CombinationsGrouper.cxx:46
CombinationsGrouper::m_groupSize
unsigned int m_groupSize
Definition
CombinationsGrouper.h:25
CombinationsGrouper::toString
virtual std::string toString() const override
Definition
CombinationsGrouper.cxx:50
Generated on
for ATLAS Offline Software by
1.17.0