CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1GtHfBitCountsCondition Class Reference

#include <L1GtHfBitCountsCondition.h>

Inheritance diagram for L1GtHfBitCountsCondition:
L1GtConditionEvaluation

Public Member Functions

const bool evaluateCondition () const
 the core function to check if the condition matches More...
 
const L1GtHfBitCountsTemplategtHfBitCountsTemplate () const
 get / set the pointer to a L1GtCondition More...
 
const L1GlobalTriggerPSBgtPSB () const
 get / set the pointer to PSB More...
 
 L1GtHfBitCountsCondition ()
 
 L1GtHfBitCountsCondition (const L1GtCondition *, const L1GlobalTriggerPSB *)
 from base template condition (from event setup usually) More...
 
 L1GtHfBitCountsCondition (const L1GtHfBitCountsCondition &)
 
L1GtHfBitCountsConditionoperator= (const L1GtHfBitCountsCondition &)
 
void print (std::ostream &myCout) const
 print condition More...
 
void setGtHfBitCountsTemplate (const L1GtHfBitCountsTemplate *)
 
void setGtPSB (const L1GlobalTriggerPSB *)
 set the pointer to PSB More...
 
virtual ~L1GtHfBitCountsCondition ()
 
- 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...
 
CombinationsInCond const & getCombinationsInCond () 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 L1GtHfBitCountsCondition &cp)
 copy function for copy constructor and operator= More...
 

Private Attributes

const L1GtHfBitCountsTemplatem_gtHfBitCountsTemplate
 pointer to a L1GtHfBitCountsTemplate 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 CondHfBitCounts condition.

Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Definition at line 34 of file L1GtHfBitCountsCondition.h.

Constructor & Destructor Documentation

L1GtHfBitCountsCondition::L1GtHfBitCountsCondition ( )

constructors default

Definition at line 39 of file L1GtHfBitCountsCondition.cc.

39  :
41 
42  //empty
43 
44 }
L1GtHfBitCountsCondition::L1GtHfBitCountsCondition ( const L1GtCondition bcTemplate,
const L1GlobalTriggerPSB ptrPSB 
)

from base template condition (from event setup usually)

Definition at line 47 of file L1GtHfBitCountsCondition.cc.

References L1GtConditionEvaluation::m_condMaxNumberObjects.

48  :
50  static_cast<const L1GtHfBitCountsTemplate*> (bcTemplate)), m_gtPSB(
51  ptrPSB)
52 {
53 
54  // maximum number of objects received for the evaluation of the condition
55  // no objects, in fact, just a count
57 
58 }
const L1GtHfBitCountsTemplate * m_gtHfBitCountsTemplate
pointer to a L1GtHfBitCountsTemplate
const L1GlobalTriggerPSB * m_gtPSB
pointer to PSB, to be able to get the trigger objects
L1GtHfBitCountsCondition::L1GtHfBitCountsCondition ( const L1GtHfBitCountsCondition cp)

Definition at line 74 of file L1GtHfBitCountsCondition.cc.

References copy().

74  :
76 
77  copy(cp);
78 
79 }
void copy(const L1GtHfBitCountsCondition &cp)
copy function for copy constructor and operator=
L1GtHfBitCountsCondition::~L1GtHfBitCountsCondition ( )
virtual

Definition at line 82 of file L1GtHfBitCountsCondition.cc.

82  {
83 
84  // empty
85 
86 }

Member Function Documentation

void L1GtHfBitCountsCondition::copy ( const L1GtHfBitCountsCondition cp)
private

copy function for copy constructor and operator=

Definition at line 61 of file L1GtHfBitCountsCondition.cc.

References L1GtConditionEvaluation::condLastResult(), L1GtConditionEvaluation::condMaxNumberObjects(), L1GtConditionEvaluation::getCombinationsInCond(), gtHfBitCountsTemplate(), gtPSB(), L1GtConditionEvaluation::m_combinationsInCond, L1GtConditionEvaluation::m_condLastResult, L1GtConditionEvaluation::m_condMaxNumberObjects, m_gtHfBitCountsTemplate, m_gtPSB, and L1GtConditionEvaluation::m_verbosity.

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

61  {
62 
64  m_gtPSB = cp.gtPSB();
65 
69 
71 
72 }
bool m_condLastResult
the last result of evaluateCondition()
CombinationsInCond m_combinationsInCond
store all the object combinations evaluated to true in the condition
const L1GtHfBitCountsTemplate * gtHfBitCountsTemplate() const
get / set the pointer to a L1GtCondition
const L1GtHfBitCountsTemplate * m_gtHfBitCountsTemplate
pointer to a L1GtHfBitCountsTemplate
const L1GlobalTriggerPSB * m_gtPSB
pointer to PSB, to be able to get the trigger objects
const L1GlobalTriggerPSB * gtPSB() const
get / set the pointer to PSB
CombinationsInCond const & getCombinationsInCond() const
get all the object combinations evaluated to true in the condition
bool condLastResult() const
get the latest result for the condition
const bool L1GtHfBitCountsCondition::evaluateCondition ( ) const
virtual

the core function to check if the condition matches

Implements L1GtConditionEvaluation.

Definition at line 110 of file L1GtHfBitCountsCondition.cc.

References L1GctHFBitCounts::bitCount(), L1GtConditionEvaluation::checkThreshold(), hitfit::clear(), L1GtConditionEvaluation::combinationsInCond(), L1GtCondition::condGEq(), L1GtHfBitCountsTemplate::ObjectParameter::countIndex, L1GtHfBitCountsTemplate::ObjectParameter::countThreshold, L1GlobalTriggerPSB::getCandL1HfBitCounts(), m_gtHfBitCountsTemplate, m_gtPSB, and L1GtHfBitCountsTemplate::objectParameter().

110  {
111 
112  // number of trigger objects in the condition
113  // no objects, in fact, just a count
114  int iCondition = 0;
115 
116  // condition result condResult will be set to true if the HF bit counts
117  // passes the requirement
118  bool condResult = false;
119 
120  // store the index of the HfBitCounts object
121  // from the combination evaluated in the condition
122  SingleCombInCond objectsInComb;
123 
124  // clear the m_combinationsInCond vector
126 
127  // get the HF bit counts (event / condition)
128  const L1GctHFBitCounts* bitCounts = m_gtPSB->getCandL1HfBitCounts();
129 
130  // protection against missing HF bit counts collection
131  if (bitCounts == 0) {
132  return false;
133  }
134 
136  ( *(m_gtHfBitCountsTemplate->objectParameter()) )[iCondition];
137 
138  // FIXME ask GCT to provide a method to retrieve it
139  const unsigned int numberL1HfBitCounts = 4;
140 
141  const unsigned int cIndex = objPar.countIndex;
142  if (cIndex >= numberL1HfBitCounts) {
143 
144  edm::LogError("L1GlobalTrigger") << "\nL1GtHfBitCountsCondition error: countIndex "
145  << cIndex << "greater than GCT maximum index = " << numberL1HfBitCounts
146  << "\n ==> condResult = false " << std::endl;
147  return false;
148 
149  }
150 
151  const unsigned int countValue = bitCounts->bitCount(cIndex);
152 
153  // check countThreshold
154  if ( !checkThreshold(objPar.countThreshold, countValue, m_gtHfBitCountsTemplate->condGEq()) ) {
155 
156  return false;
157  }
158 
159  // index is always zero - the object is in fact a count
160  int indexObj = 0;
161 
162  objectsInComb.push_back(indexObj);
163  (combinationsInCond()).push_back(objectsInComb);
164 
165  // if we get here all checks were successful for this combination
166  // set the general result for evaluateCondition to "true"
167 
168  condResult = true;
169  return condResult;
170 
171 }
typedef for a single object template
CombinationsInCond & combinationsInCond() const
get all the object combinations (to fill it...)
std::vector< int > SingleCombInCond
typedefs
uint16_t bitCount(unsigned const i) const
const L1GtHfBitCountsTemplate * m_gtHfBitCountsTemplate
pointer to a L1GtHfBitCountsTemplate
L1 GCT HF ring Et sums.
void clear(CLHEP::HepGenMatrix &m)
Helper function: Reset all elements of a matrix to 0.
Definition: matutil.cc:168
const bool checkThreshold(const Type1 &threshold, const Type2 &value, const bool condGEqValue) const
const L1GctHFBitCounts * getCandL1HfBitCounts() const
pointer to HfBitCounts data list
const L1GlobalTriggerPSB * m_gtPSB
pointer to PSB, to be able to get the trigger objects
const bool condGEq() const
get / set condition GEq flag
Definition: L1GtCondition.h:99
const std::vector< ObjectParameter > * objectParameter() const
const L1GtHfBitCountsTemplate* L1GtHfBitCountsCondition::gtHfBitCountsTemplate ( ) const
inline

get / set the pointer to a L1GtCondition

Definition at line 66 of file L1GtHfBitCountsCondition.h.

References m_gtHfBitCountsTemplate.

Referenced by copy().

66  {
68  }
const L1GtHfBitCountsTemplate * m_gtHfBitCountsTemplate
pointer to a L1GtHfBitCountsTemplate
const L1GlobalTriggerPSB* L1GtHfBitCountsCondition::gtPSB ( ) const
inline

get / set the pointer to PSB

Definition at line 73 of file L1GtHfBitCountsCondition.h.

References m_gtPSB.

Referenced by copy().

73  {
74  return m_gtPSB;
75  }
const L1GlobalTriggerPSB * m_gtPSB
pointer to PSB, to be able to get the trigger objects
L1GtHfBitCountsCondition & L1GtHfBitCountsCondition::operator= ( const L1GtHfBitCountsCondition cp)

Definition at line 89 of file L1GtHfBitCountsCondition.cc.

References copy().

90 {
91  copy(cp);
92  return *this;
93 }
void copy(const L1GtHfBitCountsCondition &cp)
copy function for copy constructor and operator=
void L1GtHfBitCountsCondition::print ( std::ostream &  myCout) const
virtual

print condition

Reimplemented from L1GtConditionEvaluation.

Definition at line 173 of file L1GtHfBitCountsCondition.cc.

References m_gtHfBitCountsTemplate, L1GtHfBitCountsTemplate::print(), and L1GtConditionEvaluation::print().

Referenced by L1GlobalTriggerGTL::run().

173  {
174 
177 
178 }
virtual void print(std::ostream &myCout) const
print the condition
const L1GtHfBitCountsTemplate * m_gtHfBitCountsTemplate
pointer to a L1GtHfBitCountsTemplate
virtual void print(std::ostream &myCout) const
print condition
void L1GtHfBitCountsCondition::setGtHfBitCountsTemplate ( const L1GtHfBitCountsTemplate bcTemplate)

Definition at line 96 of file L1GtHfBitCountsCondition.cc.

References m_gtHfBitCountsTemplate.

96  {
97 
98  m_gtHfBitCountsTemplate = bcTemplate;
99 
100 }
const L1GtHfBitCountsTemplate * m_gtHfBitCountsTemplate
pointer to a L1GtHfBitCountsTemplate
void L1GtHfBitCountsCondition::setGtPSB ( const L1GlobalTriggerPSB ptrPSB)

set the pointer to PSB

Definition at line 103 of file L1GtHfBitCountsCondition.cc.

References m_gtPSB.

103  {
104 
105  m_gtPSB = ptrPSB;
106 
107 }
const L1GlobalTriggerPSB * m_gtPSB
pointer to PSB, to be able to get the trigger objects

Member Data Documentation

const L1GtHfBitCountsTemplate* L1GtHfBitCountsCondition::m_gtHfBitCountsTemplate
private
const L1GlobalTriggerPSB* L1GtHfBitCountsCondition::m_gtPSB
private

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

Definition at line 90 of file L1GtHfBitCountsCondition.h.

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