ATLAS Offline Software
RepeatedCondition.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "./RepeatedCondition.h"
6 
7 #include <memory>
8 #include <string>
9 
10 
11 RepeatedCondition::RepeatedCondition(std::unique_ptr<ICondition> cp,
12  std::size_t mult,
13  int clique,
14  int cpInd,
15  bool invert):
16  m_condition{std::move(cp)}, m_multiplicity{mult},
17  m_clique{clique},
18  m_chainPartInd{cpInd}, m_invert{invert}{}
19 
20 
22 
23 bool
24 RepeatedCondition::multiplicitySatisfied(std::size_t jgMultiplicity,
25  const Collector&) const {
26  return m_multiplicity <= jgMultiplicity;
27 }
28 
29 bool
31  const std::unique_ptr<ITrigJetHypoInfoCollector>& c) const {
32 
33  bool result = m_condition->isSatisfied(v, c);
34  return m_invert ? !result : result;
35 }
36 
37 unsigned int RepeatedCondition::capacity() const {
38  return m_condition->capacity();
39 }
40 
41 std::size_t RepeatedCondition::multiplicity() const {
42  return m_multiplicity;
43 }
44 
45 
47  return m_clique;
48 }
49 
50 std::string RepeatedCondition::toString() const {
51  std::stringstream ss;
52  const void* address = static_cast<const void*>(this);
53 
54  ss << "RepeatedCondition (" << address << ") Multiplicity: "
56  << " clique " << m_clique
57  << " chainPartInd " << m_chainPartInd
58  << " invert " << std::boolalpha << m_invert
59  << '\n';
60  if (m_condition){
61  ss << m_condition->toString();
62  } else {
63  ss << " no internal condition ";
64  }
65 
66  return ss.str();
67 }
68 
70  return m_chainPartInd;
71 }
72 
74  return m_chainPartInd >= 0;
75 }
76 
77 std::ostream& operator<<(std::ostream& out,
78  const RepeatedCondition& c){
79 
80  out << c.toString();
81  return out;
82 }
get_generator_info.result
result
Definition: get_generator_info.py:21
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
RepeatedCondition::isSatisfied
virtual bool isSatisfied(const HypoJetVector &v, const std::unique_ptr< ITrigJetHypoInfoCollector > &c) const override
Definition: RepeatedCondition.cxx:30
RepeatedCondition::RepeatedCondition
RepeatedCondition(std::unique_ptr< ICondition > cp, std::size_t mult, int clique, int chainPartind=-1, bool invert=false)
Definition: RepeatedCondition.cxx:11
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
RepeatedCondition::toString
virtual std::string toString() const override
Definition: RepeatedCondition.cxx:50
RepeatedCondition::m_chainPartInd
int m_chainPartInd
Definition: RepeatedCondition.h:81
RepeatedCondition::label
virtual int label() const override
Definition: RepeatedCondition.cxx:69
RepeatedCondition::m_condition
std::unique_ptr< ICondition > m_condition
Definition: RepeatedCondition.h:77
RepeatedCondition::m_invert
bool m_invert
Definition: RepeatedCondition.h:82
RepeatedCondition::multiplicity
virtual std::size_t multiplicity() const override
Definition: RepeatedCondition.cxx:41
RepeatedCondition::clique
virtual int clique() const override
Definition: RepeatedCondition.cxx:46
operator<<
std::ostream & operator<<(std::ostream &out, const RepeatedCondition &c)
Definition: RepeatedCondition.cxx:77
RepeatedCondition::m_clique
int m_clique
Definition: RepeatedCondition.h:79
HypoJetVector
std::vector< pHypoJet > HypoJetVector
Definition: HypoJetDefs.h:27
RepeatedCondition::m_multiplicity
std::size_t m_multiplicity
Definition: RepeatedCondition.h:78
Collector
std::unique_ptr< ITrigJetHypoInfoCollector > Collector
Definition: FastReducer.h:22
LArNewCalib_PedestalAutoCorr.cp
cp
Definition: LArNewCalib_PedestalAutoCorr.py:175
RTTAlgmain.address
address
Definition: RTTAlgmain.py:55
RepeatedCondition
Definition: RepeatedCondition.h:29
RepeatedCondition::isFromChainPart
virtual bool isFromChainPart() const override
Definition: RepeatedCondition.cxx:73
python.PyAthena.v
v
Definition: PyAthena.py:157
RepeatedCondition::~RepeatedCondition
virtual ~RepeatedCondition()
Definition: RepeatedCondition.cxx:21
RepeatedCondition.h
RepeatedCondition::capacity
virtual unsigned int capacity() const override
Definition: RepeatedCondition.cxx:37
python.compressB64.c
def c
Definition: compressB64.py:93
RepeatedCondition::multiplicitySatisfied
virtual bool multiplicitySatisfied(std::size_t jgMultiplicity, const Collector &) const override
Definition: RepeatedCondition.cxx:24