CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1GtHfRingEtSumsCondition Class Reference

#include <L1GtHfRingEtSumsCondition.h>

Inheritance diagram for L1GtHfRingEtSumsCondition:
L1GtConditionEvaluation

Public Member Functions

const bool evaluateCondition () const override
 the core function to check if the condition matches More...
 
const L1GtHfRingEtSumsTemplategtHfRingEtSumsTemplate () const
 get / set the pointer to a L1GtCondition More...
 
const L1GlobalTriggerPSBgtPSB () const
 get / set the pointer to PSB More...
 
 L1GtHfRingEtSumsCondition ()
 
 L1GtHfRingEtSumsCondition (const L1GtCondition *, const L1GlobalTriggerPSB *)
 from base template condition (from event setup usually) More...
 
 L1GtHfRingEtSumsCondition (const L1GtHfRingEtSumsCondition &)
 
L1GtHfRingEtSumsConditionoperator= (const L1GtHfRingEtSumsCondition &)
 
void print (std::ostream &myCout) const override
 print condition More...
 
void setGtHfRingEtSumsTemplate (const L1GtHfRingEtSumsTemplate *)
 
void setGtPSB (const L1GlobalTriggerPSB *)
 set the pointer to PSB More...
 
 ~L1GtHfRingEtSumsCondition () override
 
- Public Member Functions inherited from L1GtConditionEvaluation
bool condLastResult () const
 get the latest result for the condition More...
 
int condMaxNumberObjects () const
 
void evaluateConditionStoreResult ()
 call evaluateCondition and save last result More...
 
const CombinationsInCondgetCombinationsInCond () const
 get all the object combinations evaluated to true in the condition More...
 
virtual std::string getNumericExpression () const
 get numeric expression More...
 
 L1GtConditionEvaluation ()
 constructor More...
 
void setCondMaxNumberObjects (int condMaxNumberObjectsValue)
 
void setVerbosity (const int verbosity)
 
virtual ~L1GtConditionEvaluation ()
 destructor More...
 

Private Member Functions

void copy (const L1GtHfRingEtSumsCondition &cp)
 copy function for copy constructor and operator= More...
 

Private Attributes

const L1GtHfRingEtSumsTemplatem_gtHfRingEtSumsTemplate
 pointer to a L1GtHfRingEtSumsTemplate More...
 
const L1GlobalTriggerPSBm_gtPSB
 pointer to PSB, to be able to get the trigger objects More...
 

Additional Inherited Members

- Protected Member Functions inherited from L1GtConditionEvaluation
template<class Type1 >
const bool checkBit (const Type1 &mask, const unsigned int bitNumber) const
 check if a bit with a given number is set in a mask More...
 
template<class Type1 , class Type2 >
const bool checkThreshold (const Type1 &threshold, const Type2 &value, const bool condGEqValue) const
 
CombinationsInCondcombinationsInCond () const
 get all the object combinations (to fill it...) More...
 
- Protected Attributes inherited from L1GtConditionEvaluation
CombinationsInCond m_combinationsInCond
 store all the object combinations evaluated to true in the condition More...
 
bool m_condLastResult
 the last result of evaluateCondition() More...
 
int m_condMaxNumberObjects
 
int m_verbosity
 verbosity level More...
 

Detailed Description

Description: evaluation of a CondHfRingEtSums condition.

Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

Definition at line 32 of file L1GtHfRingEtSumsCondition.h.

Constructor & Destructor Documentation

◆ L1GtHfRingEtSumsCondition() [1/3]

L1GtHfRingEtSumsCondition::L1GtHfRingEtSumsCondition ( )

constructors default

Definition at line 37 of file L1GtHfRingEtSumsCondition.cc.

38  // empty
39 }

◆ L1GtHfRingEtSumsCondition() [2/3]

L1GtHfRingEtSumsCondition::L1GtHfRingEtSumsCondition ( const L1GtCondition etTemplate,
const L1GlobalTriggerPSB ptrPSB 
)

from base template condition (from event setup usually)

Definition at line 42 of file L1GtHfRingEtSumsCondition.cc.

44  m_gtHfRingEtSumsTemplate(static_cast<const L1GtHfRingEtSumsTemplate *>(etTemplate)),
45  m_gtPSB(ptrPSB) {
46  // maximum number of objects received for the evaluation of the condition
47  // no objects, in fact, just a number
49 }

References L1GtConditionEvaluation::m_condMaxNumberObjects.

◆ L1GtHfRingEtSumsCondition() [3/3]

L1GtHfRingEtSumsCondition::L1GtHfRingEtSumsCondition ( const L1GtHfRingEtSumsCondition cp)

Definition at line 63 of file L1GtHfRingEtSumsCondition.cc.

64  copy(cp);
65 }

References copy().

◆ ~L1GtHfRingEtSumsCondition()

L1GtHfRingEtSumsCondition::~L1GtHfRingEtSumsCondition ( )
override

Definition at line 68 of file L1GtHfRingEtSumsCondition.cc.

68  {
69  // empty
70 }

Member Function Documentation

◆ copy()

void L1GtHfRingEtSumsCondition::copy ( const L1GtHfRingEtSumsCondition cp)
private

copy function for copy constructor and operator=

Definition at line 52 of file L1GtHfRingEtSumsCondition.cc.

52  {
53  m_gtHfRingEtSumsTemplate = cp.gtHfRingEtSumsTemplate();
54  m_gtPSB = cp.gtPSB();
55 
56  m_condMaxNumberObjects = cp.condMaxNumberObjects();
57  m_condLastResult = cp.condLastResult();
58  m_combinationsInCond = cp.getCombinationsInCond();
59 
60  m_verbosity = cp.m_verbosity;
61 }

References L1GtConditionEvaluation::m_combinationsInCond, L1GtConditionEvaluation::m_condLastResult, L1GtConditionEvaluation::m_condMaxNumberObjects, m_gtHfRingEtSumsTemplate, m_gtPSB, and L1GtConditionEvaluation::m_verbosity.

Referenced by L1GtHfRingEtSumsCondition(), and operator=().

◆ evaluateCondition()

const bool L1GtHfRingEtSumsCondition::evaluateCondition ( ) const
overridevirtual

the core function to check if the condition matches

Implements L1GtConditionEvaluation.

Definition at line 87 of file L1GtHfRingEtSumsCondition.cc.

87  {
88  // number of trigger objects in the condition
89  // no objects, in fact, just a number
90  int iCondition = 0;
91 
92  // condition result condResult will be set to true if the HF Ring Et sums
93  // passes the requirement
94  bool condResult = false;
95 
96  // store the index of the HfRingEtSums object
97  // from the combination evaluated in the condition
98  SingleCombInCond objectsInComb;
99 
100  // clear the m_combinationsInCond vector
102 
103  // get the HF Ring Et sums (event / condition)
104  const L1GctHFRingEtSums *etSumCand = m_gtPSB->getCandL1HfRingEtSums();
105 
106  // protection against missing HF Ring Et sums collection
107  if (etSumCand == nullptr) {
108  return false;
109  }
110 
112 
113  // FIXME ask GCT to provide a method to retrieve it
114  const unsigned int numberL1HfRingEtSums = 4;
115 
116  const unsigned int cIndex = objPar.etSumIndex;
117  if (cIndex >= numberL1HfRingEtSums) {
118  edm::LogError("L1GlobalTrigger") << "\nL1GtHfRingEtSumsCondition error: etSumIndex " << cIndex
119  << "greater than GCT maximum index = " << numberL1HfRingEtSums
120  << "\n ==> condResult = false " << std::endl;
121  return false;
122  }
123 
124  const unsigned int etSumValue = etSumCand->etSum(cIndex);
125 
126  // check countThreshold
127  if (!checkThreshold(objPar.etSumThreshold, etSumValue, m_gtHfRingEtSumsTemplate->condGEq())) {
128  return false;
129  }
130 
131  // index is always zero - the object is in fact a count
132  int indexObj = 0;
133 
134  objectsInComb.push_back(indexObj);
135  (combinationsInCond()).push_back(objectsInComb);
136 
137  // if we get here all checks were successful for this combination
138  // set the general result for evaluateCondition to "true"
139 
140  condResult = true;
141  return condResult;
142 }

References L1GtConditionEvaluation::checkThreshold(), clear(), L1GtConditionEvaluation::combinationsInCond(), L1GtCondition::condGEq(), L1GctHFRingEtSums::etSum(), L1GtHfRingEtSumsTemplate::ObjectParameter::etSumIndex, L1GtHfRingEtSumsTemplate::ObjectParameter::etSumThreshold, L1GlobalTriggerPSB::getCandL1HfRingEtSums(), m_gtHfRingEtSumsTemplate, m_gtPSB, and L1GtHfRingEtSumsTemplate::objectParameter().

◆ gtHfRingEtSumsTemplate()

const L1GtHfRingEtSumsTemplate* L1GtHfRingEtSumsCondition::gtHfRingEtSumsTemplate ( ) const
inline

get / set the pointer to a L1GtCondition

Definition at line 59 of file L1GtHfRingEtSumsCondition.h.

59 { return m_gtHfRingEtSumsTemplate; }

References m_gtHfRingEtSumsTemplate.

◆ gtPSB()

const L1GlobalTriggerPSB* L1GtHfRingEtSumsCondition::gtPSB ( ) const
inline

get / set the pointer to PSB

Definition at line 64 of file L1GtHfRingEtSumsCondition.h.

64 { return m_gtPSB; }

References m_gtPSB.

◆ operator=()

L1GtHfRingEtSumsCondition & L1GtHfRingEtSumsCondition::operator= ( const L1GtHfRingEtSumsCondition cp)

Definition at line 73 of file L1GtHfRingEtSumsCondition.cc.

73  {
74  copy(cp);
75  return *this;
76 }

References copy().

◆ print()

void L1GtHfRingEtSumsCondition::print ( std::ostream &  myCout) const
overridevirtual

print condition

Reimplemented from L1GtConditionEvaluation.

Definition at line 144 of file L1GtHfRingEtSumsCondition.cc.

144  {
147 }

References m_gtHfRingEtSumsTemplate, L1GtHfRingEtSumsTemplate::print(), and L1GtConditionEvaluation::print().

Referenced by L1GlobalTriggerGTL::run().

◆ setGtHfRingEtSumsTemplate()

void L1GtHfRingEtSumsCondition::setGtHfRingEtSumsTemplate ( const L1GtHfRingEtSumsTemplate etTemplate)

Definition at line 79 of file L1GtHfRingEtSumsCondition.cc.

79  {
80  m_gtHfRingEtSumsTemplate = etTemplate;
81 }

References m_gtHfRingEtSumsTemplate.

◆ setGtPSB()

void L1GtHfRingEtSumsCondition::setGtPSB ( const L1GlobalTriggerPSB ptrPSB)

set the pointer to PSB

Definition at line 84 of file L1GtHfRingEtSumsCondition.cc.

84 { m_gtPSB = ptrPSB; }

References m_gtPSB.

Member Data Documentation

◆ m_gtHfRingEtSumsTemplate

const L1GtHfRingEtSumsTemplate* L1GtHfRingEtSumsCondition::m_gtHfRingEtSumsTemplate
private

◆ m_gtPSB

const L1GlobalTriggerPSB* L1GtHfRingEtSumsCondition::m_gtPSB
private

pointer to PSB, to be able to get the trigger objects

Definition at line 77 of file L1GtHfRingEtSumsCondition.h.

Referenced by copy(), evaluateCondition(), gtPSB(), and setGtPSB().

L1GtHfRingEtSumsTemplate::ObjectParameter::etSumIndex
unsigned int etSumIndex
Definition: L1GtHfRingEtSumsTemplate.h:57
L1GtConditionEvaluation::m_verbosity
int m_verbosity
verbosity level
Definition: L1GtConditionEvaluation.h:105
L1GtHfRingEtSumsTemplate::ObjectParameter
typedef for a single object template
Definition: L1GtHfRingEtSumsTemplate.h:56
L1GtConditionEvaluation::combinationsInCond
CombinationsInCond & combinationsInCond() const
get all the object combinations (to fill it...)
Definition: L1GtConditionEvaluation.h:82
L1GtCondition::condGEq
const bool condGEq() const
get / set condition GEq flag
Definition: L1GtCondition.h:72
L1GtHfRingEtSumsCondition::copy
void copy(const L1GtHfRingEtSumsCondition &cp)
copy function for copy constructor and operator=
Definition: L1GtHfRingEtSumsCondition.cc:52
L1GctHFRingEtSums
L1 GCT HF ring Et sums.
Definition: L1GctHFRingEtSums.h:16
L1GtConditionEvaluation::print
virtual void print(std::ostream &myCout) const
print condition
Definition: L1GtConditionEvaluation.cc:34
L1GtConditionEvaluation::m_combinationsInCond
CombinationsInCond m_combinationsInCond
store all the object combinations evaluated to true in the condition
Definition: L1GtConditionEvaluation.h:102
hgcal_conditions::parameters
Definition: HGCConditions.h:86
L1GlobalTriggerPSB::getCandL1HfRingEtSums
const L1GctHFRingEtSums * getCandL1HfRingEtSums() const
pointer to HfRingEtSums data list
Definition: L1GlobalTriggerPSB.h:177
L1GtConditionEvaluation::checkThreshold
const bool checkThreshold(const Type1 &threshold, const Type2 &value, const bool condGEqValue) const
Definition: L1GtConditionEvaluation.h:113
L1GtConditionEvaluation::m_condLastResult
bool m_condLastResult
the last result of evaluateCondition()
Definition: L1GtConditionEvaluation.h:99
SingleCombInCond
std::vector< int > SingleCombInCond
typedefs
Definition: L1GlobalTriggerObjectMapFwd.h:29
L1GtConditionEvaluation::L1GtConditionEvaluation
L1GtConditionEvaluation()
constructor
Definition: L1GtConditionEvaluation.h:40
L1GctHFRingEtSums::etSum
uint16_t etSum(unsigned const i) const
Definition: L1GctHFRingEtSums.cc:50
L1GtHfRingEtSumsCondition::m_gtPSB
const L1GlobalTriggerPSB * m_gtPSB
pointer to PSB, to be able to get the trigger objects
Definition: L1GtHfRingEtSumsCondition.h:77
clear
void clear(HadCaloObj &c)
Definition: data.h:124
L1GtHfRingEtSumsTemplate::ObjectParameter::etSumThreshold
unsigned int etSumThreshold
Definition: L1GtHfRingEtSumsTemplate.h:58
L1GtConditionEvaluation::m_condMaxNumberObjects
int m_condMaxNumberObjects
Definition: L1GtConditionEvaluation.h:96
L1GtHfRingEtSumsTemplate::objectParameter
const std::vector< ObjectParameter > * objectParameter() const
Definition: L1GtHfRingEtSumsTemplate.h:64
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
L1GtHfRingEtSumsCondition::m_gtHfRingEtSumsTemplate
const L1GtHfRingEtSumsTemplate * m_gtHfRingEtSumsTemplate
pointer to a L1GtHfRingEtSumsTemplate
Definition: L1GtHfRingEtSumsCondition.h:74
L1GtHfRingEtSumsTemplate::print
void print(std::ostream &myCout) const override
print the condition
Definition: L1GtHfRingEtSumsTemplate.cc:77