ATLAS Offline Software
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 #
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
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
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 }
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
HypoJetGroupVector
std::vector< HypoJetVector > HypoJetGroupVector
Definition: HypoJetDefs.h:35
SpecifiedJetsCondition::isSatisfied
bool isSatisfied(const HypoJetVector &, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const override
Definition: SpecifiedJetsCondition.cxx:32
SpecifiedJetsCondition::m_acceptedJetGroups
HypoJetGroupVector m_acceptedJetGroups
Definition: SpecifiedJetsCondition.h:38
IJet.h
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
SpecifiedJetsCondition::SpecifiedJetsCondition
SpecifiedJetsCondition(const HypoJetGroupVector &)
Definition: SpecifiedJetsCondition.cxx:13
SpecifiedJetsCondition::toString
std::string toString() const noexcept override
Definition: SpecifiedJetsCondition.cxx:44
HypoJetVector
std::vector< pHypoJet > HypoJetVector
Definition: HypoJetDefs.h:27
SpecifiedJetsCondition.h
ITrigJetHypoInfoCollector.h
CaloLCW_tf.group
group
Definition: CaloLCW_tf.py:28
SpecifiedJetsCondition::groupIsSatisfied
bool groupIsSatisfied(const HypoJetVector &ips, const HypoJetVector &group, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const
Definition: SpecifiedJetsCondition.cxx:18
SpecifiedJetsCondition::m_capacity
std::size_t m_capacity
Definition: SpecifiedJetsCondition.h:39