ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigHLTJetHypoUnitTests
src
SpecifiedJetsCondition.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
#
5
#include "
./SpecifiedJetsCondition.h
"
6
#include "
TrigHLTJetHypo/../src/ITrigJetHypoInfoCollector.h
"
7
#include "
TrigHLTJetHypo/TrigHLTJetHypoUtils/IJet.h
"
8
9
#include <sstream>
10
#include <cmath>
11
#include <TLorentzVector.h>
12
13
SpecifiedJetsCondition::SpecifiedJetsCondition
(
const
HypoJetGroupVector
& accJets) :
m_acceptedJetGroups
(accJets){
14
m_capacity
= accJets[0].size();
15
}
16
17
bool
18
SpecifiedJetsCondition::groupIsSatisfied
(
const
HypoJetVector
& ips,
19
const
HypoJetVector
& group,
20
const
std::unique_ptr<ITrigJetHypoInfoCollector>&)
const
{
21
22
for
(
const
auto
& j : ips){
23
if
(std::find(group.begin(), group.end(), j) == group.end()){
24
return
false
;
25
}
26
}
27
28
return
true
;
29
}
30
31
bool
32
SpecifiedJetsCondition::isSatisfied
(
const
HypoJetVector
& ips,
33
const
std::unique_ptr<ITrigJetHypoInfoCollector>& collector)
const
{
34
for
(
const
auto
& jg :
m_acceptedJetGroups
){
35
if
(
groupIsSatisfied
(ips, jg, collector)){
36
return
true
;
37
}
38
}
39
return
false
;
40
}
41
42
43
44
std::string
SpecifiedJetsCondition::toString
()
const
noexcept {
45
std::stringstream
ss
;
46
ss
<<
"SpecifiedJetsCondition ("
<<
this
<<
") accepted jet groupds: "
;
47
std::size_t
count
{0};
48
for
(
const
auto
& jg :
m_acceptedJetGroups
){
49
ss
<<
"group "
<<
count
<<
'\n'
;
50
++
count
;
51
for
(
const
auto
& j : jg){
52
auto
j_addr =
static_cast<
const
void
*
>
(j.get());
53
ss
<< j_addr <<
" "
;
54
}
55
}
56
ss
<<
'\n'
;
57
return
ss
.str();
58
}
HypoJetGroupVector
std::vector< HypoJetVector > HypoJetGroupVector
Definition
HypoJetDefs.h:35
HypoJetVector
std::vector< pHypoJet > HypoJetVector
Definition
HypoJetDefs.h:27
IJet.h
ITrigJetHypoInfoCollector.h
ss
static Double_t ss
Definition
LArPhysWaveHECTool.cxx:37
SpecifiedJetsCondition.h
SpecifiedJetsCondition::groupIsSatisfied
bool groupIsSatisfied(const HypoJetVector &ips, const HypoJetVector &group, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const
Definition
SpecifiedJetsCondition.cxx:18
SpecifiedJetsCondition::SpecifiedJetsCondition
SpecifiedJetsCondition(const HypoJetGroupVector &)
Definition
SpecifiedJetsCondition.cxx:13
SpecifiedJetsCondition::m_acceptedJetGroups
HypoJetGroupVector m_acceptedJetGroups
Definition
SpecifiedJetsCondition.h:38
SpecifiedJetsCondition::m_capacity
std::size_t m_capacity
Definition
SpecifiedJetsCondition.h:39
SpecifiedJetsCondition::isSatisfied
bool isSatisfied(const HypoJetVector &, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const override
Definition
SpecifiedJetsCondition.cxx:32
SpecifiedJetsCondition::toString
std::string toString() const noexcept override
Definition
SpecifiedJetsCondition.cxx:44
count
int count(std::string s, const std::string ®x)
count how many occurances of a regx are in a string
Definition
hcg.cxx:148
const
Generated on
for ATLAS Offline Software by
1.17.0