CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
l1t::ConditionEvaluation Class Referenceabstract

#include <ConditionEvaluation.h>

Inheritance diagram for l1t::ConditionEvaluation:
l1t::CaloCondition l1t::CorrCondition l1t::CorrThreeBodyCondition l1t::CorrWithOverlapRemovalCondition l1t::EnergySumCondition l1t::ExternalCondition l1t::MuCondition l1t::MuonShowerCondition

Public Member Functions

 ConditionEvaluation ()
 constructor More...
 
bool condLastResult () const
 get the latest result for the condition More...
 
int condMaxNumberObjects () const
 
virtual const bool evaluateCondition (const int bxEval) const =0
 the core function to check if the condition matches More...
 
void evaluateConditionStoreResult (const int bxEval)
 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...
 
virtual void print (std::ostream &myCout) const
 print condition More...
 
void setCondMaxNumberObjects (int condMaxNumberObjectsValue)
 
void setVerbosity (const int verbosity)
 
virtual ~ConditionEvaluation ()
 destructor More...
 

Protected Member Functions

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 >
const bool checkIndex (const Type1 &indexLo, const Type1 &indexHi, const unsigned int index) const
 check if a index is in a given range More...
 
template<class Type1 >
const bool checkRangeDeltaEta (const unsigned int obj1Eta, const unsigned int obj2Eta, const Type1 &lowerR, const Type1 &upperR, const unsigned int nEtaBits) const
 check if a value is in a given range More...
 
template<class Type1 >
const bool checkRangeDeltaPhi (const unsigned int obj1Phi, const unsigned int obj2Phi, const Type1 &lowerR, const Type1 &upperR) const
 check if a value is in a given range More...
 
template<class Type1 >
const bool checkRangeEta (const unsigned int bitNumber, const Type1 &W1beginR, const Type1 &W1endR, const Type1 &W2beginR, const Type1 &W2endR, const unsigned int nEtaBits) const
 check if a value is in a given range and outside of a veto range More...
 
template<class Type1 >
const bool checkRangePhi (const unsigned int bitNumber, const Type1 &W1beginR, const Type1 &W1endR, const Type1 &W2beginR, const Type1 &W2endR) const
 check if a value is in a given range and outside of a veto range More...
 
template<class Type1 , class Type2 >
const bool checkThreshold (const Type1 &thresholdL, const Type1 &thresholdH, const Type2 &value, bool condGEqValue) const
 
template<class Type1 , class Type2 >
const bool checkUnconstrainedPt (const Type1 &thresholdL, const Type1 &thresholdH, const Type2 &value, bool condGEqValue) const
 
CombinationsInCondcombinationsInCond () const
 get all the object combinations (to fill it...) More...
 

Protected Attributes

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

Definition at line 39 of file ConditionEvaluation.h.

Constructor & Destructor Documentation

◆ ConditionEvaluation()

l1t::ConditionEvaluation::ConditionEvaluation ( )
inline

constructor

Definition at line 42 of file ConditionEvaluation.h.

int m_verbosity
verbosity level
bool m_condLastResult
the last result of evaluateCondition()

◆ ~ConditionEvaluation()

virtual l1t::ConditionEvaluation::~ConditionEvaluation ( )
inlinevirtual

destructor

Definition at line 45 of file ConditionEvaluation.h.

45 {}

Member Function Documentation

◆ checkBit()

template<class Type1 >
const bool ConditionEvaluation::checkBit ( const Type1 &  mask,
const unsigned int  bitNumber 
) const
protected

check if a bit with a given number is set in a mask

Definition at line 253 of file ConditionEvaluation.h.

References L1TBPTX_cfi::bitNumber, LogTrace, m_verbosity, and gpuClustering::pixelStatus::mask.

253  {
254  uint64_t oneBit = 1ULL;
255 
256  if (bitNumber >= (sizeof(oneBit) * 8)) {
257  if (m_verbosity) {
258  LogTrace("L1GlobalTrigger") << " checkBit "
259  << "\n Bit number = " << bitNumber << " larger than maximum allowed "
260  << sizeof(oneBit) * 8 << std::endl;
261  }
262 
263  return false;
264  }
265 
266  oneBit <<= bitNumber;
267 
268  //LogTrace("L1GlobalTrigger") << " checkBit " << "\n mask address = " << &mask
269  // << std::dec << "\n dec: " << "mask = " << mask << " oneBit = " << oneBit
270  // << " bitNumber = " << bitNumber << std::hex << "\n hex: " << "mask = " << mask
271  // << " oneBit = " << oneBit << " bitNumber = " << bitNumber << std::dec
272  // << "\n mask & oneBit result = " << bool ( mask & oneBit ) << std::endl;
273 
274  return (mask & oneBit);
275  }
constexpr uint32_t mask
Definition: gpuClustering.h:24
#define LogTrace(id)
int m_verbosity
verbosity level
unsigned long long uint64_t
Definition: Time.h:13

◆ checkIndex()

template<class Type1 >
const bool ConditionEvaluation::checkIndex ( const Type1 &  indexLo,
const Type1 &  indexHi,
const unsigned int  index 
) const
protected

check if a index is in a given range

Definition at line 233 of file ConditionEvaluation.h.

References LogDebug.

235  {
236  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
237  << "\n\t indexLo = " << indexLo << "\n\t indexHi = " << indexHi << "\n\t index = " << index
238  << std::endl;
239 
240  // set condtion to false if indexLo > indexHi
241  if (indexLo > indexHi) {
242  return false;
243  }
244  if (index >= indexLo && index <= indexHi) {
245  return true;
246  }
247 
248  return false;
249  }
#define LogDebug(id)

◆ checkRangeDeltaEta()

template<class Type1 >
const bool ConditionEvaluation::checkRangeDeltaEta ( const unsigned int  obj1Eta,
const unsigned int  obj2Eta,
const Type1 &  lowerR,
const Type1 &  upperR,
const unsigned int  nEtaBits 
) const
protected

check if a value is in a given range

Definition at line 423 of file ConditionEvaluation.h.

References change_name::diff, funct::false, and LogDebug.

427  {
428  /* // set condtion to true if beginR==endR = default -1 */
429  /* if( beginR==endR && beginR==-1 ){ */
430  /* return true; */
431  /* } */
432 
433  unsigned int compare = obj1Eta - obj2Eta;
434  bool cond = ((compare >> nEtaBits) & 1) ? false : true;
435 
436  unsigned int larger, smaller;
437  if (cond) {
438  larger = obj1Eta;
439  smaller = obj2Eta;
440  } else {
441  larger = obj2Eta;
442  smaller = obj1Eta;
443  }
444 
445  unsigned int diff = ((larger + ((~smaller + 1) & 255)) & 255);
446 
447  unsigned int diff1 = upperR - lowerR;
448  unsigned int diff2 = diff - lowerR;
449  unsigned int diff3 = upperR - diff;
450 
451  bool cond1 = ((diff1 >> nEtaBits) & 1) ? false : true;
452  bool cond2 = ((diff2 >> nEtaBits) & 1) ? false : true;
453  bool cond3 = ((diff3 >> nEtaBits) & 1) ? false : true;
454 
455  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
456  << "\n\t obj1Eta = " << obj1Eta << "\n\t obj2Eta = " << obj2Eta << "\n\t lowerR = " << lowerR
457  << "\n\t upperR = " << upperR << "\n\t compare = " << compare << "\n\t cond = " << cond
458  << "\n\t diff = " << diff << "\n\t diff1 = " << diff1 << "\n\t cond1 = " << cond1
459  << "\n\t diff2 = " << diff2 << "\n\t cond2 = " << cond2 << "\n\t diff3 = " << diff3
460  << "\n\t cond3 = " << cond3 << std::endl;
461 
462  if (cond1 && (cond2 && cond3))
463  return true;
464  else if (!cond1 && (cond2 || cond3))
465  return true;
466  else {
467  return false;
468  }
469  }
Definition: plugin.cc:23
#define LogDebug(id)

◆ checkRangeDeltaPhi()

template<class Type1 >
const bool ConditionEvaluation::checkRangeDeltaPhi ( const unsigned int  obj1Phi,
const unsigned int  obj2Phi,
const Type1 &  lowerR,
const Type1 &  upperR 
) const
protected

check if a value is in a given range

Definition at line 472 of file ConditionEvaluation.h.

References funct::abs(), SiPixelRawToDigiRegional_cfi::deltaPhi, and LogDebug.

475  {
476  int deltaPhi = abs(int(obj1Phi) - int(obj2Phi));
477  if (deltaPhi > 71)
478  deltaPhi = 143 - deltaPhi + 1; // Add +1 if the calculation is over 0
479 
480  int diff1 = upperR - lowerR;
481  int diff2 = deltaPhi - lowerR;
482  int diff3 = upperR - deltaPhi;
483 
484  bool cond1 = (diff1 < 0) ? false : true;
485  bool cond2 = (diff2 < 0) ? false : true;
486  bool cond3 = (diff3 < 0) ? false : true;
487 
488  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
489  << "\n\t obj1Phi = " << obj1Phi << "\n\t obj2Phi = " << obj2Phi
490  << "\n\t deltaPhi = " << deltaPhi << "\n\t lowerR = " << lowerR << "\n\t upperR = " << upperR
491  << "\n\t diff1 = " << diff1 << "\n\t cond1 = " << cond1 << "\n\t diff2 = " << diff2
492  << "\n\t cond2 = " << cond2 << "\n\t diff3 = " << diff3 << "\n\t cond3 = " << cond3
493  << std::endl;
494 
495  // check if value is in range
496  // for begin <= end takes [begin, end]
497  // for begin >= end takes [begin, end] over zero angle!
498  if (cond1 && (cond2 && cond3))
499  return true;
500  else if (!cond1 && (cond2 || cond3))
501  return true;
502  else {
503  return false;
504  }
505  }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
#define LogDebug(id)

◆ checkRangeEta()

template<class Type1 >
const bool ConditionEvaluation::checkRangeEta ( const unsigned int  bitNumber,
const Type1 &  W1beginR,
const Type1 &  W1endR,
const Type1 &  W2beginR,
const Type1 &  W2endR,
const unsigned int  nEtaBits 
) const
protected

check if a value is in a given range and outside of a veto range

Definition at line 279 of file ConditionEvaluation.h.

References L1TBPTX_cfi::bitNumber, funct::false, and LogDebug.

284  {
285  // set condtion to true if beginR==endR = default -1
286  if (W1beginR == W1endR && W1beginR == (Type1)-1) {
287  return true;
288  }
289 
290  unsigned int W1diff1 = W1endR - W1beginR;
291  unsigned int W1diff2 = bitNumber - W1beginR;
292  unsigned int W1diff3 = W1endR - bitNumber;
293 
294  bool W1cond1 = ((W1diff1 >> nEtaBits) & 1) ? false : true;
295  bool W1cond2 = ((W1diff2 >> nEtaBits) & 1) ? false : true;
296  bool W1cond3 = ((W1diff3 >> nEtaBits) & 1) ? false : true;
297 
298  // check if value is in range
299  // for begin <= end takes [begin, end]
300  // for begin >= end takes [begin, end] over zero angle!
301  bool passWindow1 = false;
302  if (W1cond1 && (W1cond2 && W1cond3))
303  passWindow1 = true;
304  else if (!W1cond1 && (W1cond2 || W1cond3))
305  passWindow1 = true;
306  else {
307  passWindow1 = false;
308  }
309 
310  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
311  << "\n\t bitNumber = " << bitNumber << "\n\t W1beginR = " << W1beginR
312  << "\n\t W1endR = " << W1endR << "\n\t W1diff1 = " << W1diff1
313  << "\n\t W1cond1 = " << W1cond1 << "\n\t W1diff2 = " << W1diff2
314  << "\n\t W1cond2 = " << W1cond2 << "\n\t W1diff3 = " << W1diff3
315  << "\n\t W1cond3 = " << W1cond3 << "\n\t passWindow1 = " << passWindow1 << std::endl;
316 
317  if (W2beginR == W2endR && W2beginR == (Type1)-1) {
318  return passWindow1;
319  }
320 
321  unsigned int W2diff1 = W2endR - W2beginR;
322  unsigned int W2diff2 = bitNumber - W2beginR;
323  unsigned int W2diff3 = W2endR - bitNumber;
324 
325  bool W2cond1 = ((W2diff1 >> nEtaBits) & 1) ? false : true;
326  bool W2cond2 = ((W2diff2 >> nEtaBits) & 1) ? false : true;
327  bool W2cond3 = ((W2diff3 >> nEtaBits) & 1) ? false : true;
328 
329  bool passWindow2 = false;
330  if (W2cond1 && (W2cond2 && W2cond3))
331  passWindow2 = true;
332  else if (!W2cond1 && (W2cond2 || W2cond3))
333  passWindow2 = true;
334  else {
335  passWindow2 = false;
336  }
337 
338  LogDebug("l1t|Global") << "\n\t W2beginR = " << W2beginR << "\n\t W2endR = " << W2endR
339  << "\n\t W2diff1 = " << W2diff1 << "\n\t W2cond1 = " << W2cond1
340  << "\n\t W2diff2 = " << W2diff2 << "\n\t W2cond2 = " << W2cond2
341  << "\n\t W2diff3 = " << W2diff3 << "\n\t W2cond3 = " << W2cond3
342  << "\n\t passWindow2 = " << passWindow2
343  << "\n\t pass W1 || W2 = " << (passWindow1 || passWindow2) << std::endl;
344 
345  if (passWindow1 || passWindow2) {
346  return true;
347  } else {
348  return false;
349  }
350  }
#define LogDebug(id)

◆ checkRangePhi()

template<class Type1 >
const bool ConditionEvaluation::checkRangePhi ( const unsigned int  bitNumber,
const Type1 &  W1beginR,
const Type1 &  W1endR,
const Type1 &  W2beginR,
const Type1 &  W2endR 
) const
protected

check if a value is in a given range and outside of a veto range

Definition at line 354 of file ConditionEvaluation.h.

References L1TBPTX_cfi::bitNumber, and LogDebug.

358  {
359  // set condtion to true if beginR==endR = default -1
360  if (W1beginR == W1endR && W1beginR == (Type1)-1) {
361  return true;
362  }
363 
364  int W1diff1 = W1endR - W1beginR;
365  int W1diff2 = bitNumber - W1beginR;
366  int W1diff3 = W1endR - bitNumber;
367 
368  bool W1cond1 = (W1diff1 < 0) ? false : true;
369  bool W1cond2 = (W1diff2 < 0) ? false : true;
370  bool W1cond3 = (W1diff3 < 0) ? false : true;
371 
372  // check if value is in range
373  // for begin <= end takes [begin, end]
374  // for begin >= end takes [begin, end] over zero angle!
375  bool passWindow1 = false;
376  if (W1cond1 && (W1cond2 && W1cond3))
377  passWindow1 = true;
378  else if (!W1cond1 && (W1cond2 || W1cond3))
379  passWindow1 = true;
380  else {
381  passWindow1 = false;
382  }
383 
384  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
385  << "\n\t bitNumber = " << bitNumber << "\n\t W1beginR = " << W1beginR
386  << "\n\t W1endR = " << W1endR << "\n\t W1diff1 = " << W1diff1
387  << "\n\t W1cond1 = " << W1cond1 << "\n\t W1diff2 = " << W1diff2
388  << "\n\t W1cond2 = " << W1cond2 << "\n\t W1diff3 = " << W1diff3
389  << "\n\t W1cond3 = " << W1cond3 << std::endl;
390 
391  if (W2beginR == W2endR && W2beginR == (Type1)-1) {
392  return passWindow1;
393  }
394 
395  int W2diff1 = W2endR - W2beginR;
396  int W2diff2 = bitNumber - W2beginR;
397  int W2diff3 = W2endR - bitNumber;
398 
399  bool W2cond1 = (W2diff1 < 0) ? false : true;
400  bool W2cond2 = (W2diff2 < 0) ? false : true;
401  bool W2cond3 = (W2diff3 < 0) ? false : true;
402 
403  // check if value is in range
404  // for begin <= end takes [begin, end]
405  // for begin >= end takes [begin, end] over zero angle!
406  bool passWindow2 = false;
407  if (W2cond1 && (W2cond2 && W2cond3))
408  passWindow2 = true;
409  else if (!W2cond1 && (W2cond2 || W2cond3))
410  passWindow2 = true;
411  else {
412  passWindow2 = false;
413  }
414 
415  if (passWindow1 || passWindow2) {
416  return true;
417  } else {
418  return false;
419  }
420  }
#define LogDebug(id)

◆ checkThreshold()

template<class Type1 , class Type2 >
const bool ConditionEvaluation::checkThreshold ( const Type1 &  thresholdL,
const Type1 &  thresholdH,
const Type2 &  value,
bool  condGEqValue 
) const
protected

check if a value is greater than a threshold or greater-or-equal depending on the value of the condGEqValue flag

Definition at line 165 of file ConditionEvaluation.h.

References TauDecayModes::dec, and LogTrace.

168  {
169  if (value > 0) {
170  LogTrace("L1GlobalTrigger") << " checkThreshold check for condGEqValue = " << condGEqValue
171  << "\n hex: " << std::hex << "threshold = " << thresholdL << " - " << thresholdH
172  << " value = " << value << "\n dec: " << std::dec << "threshold = " << thresholdL
173  << " - " << thresholdH << " value = " << value << std::endl;
174  }
175 
176  if (condGEqValue) {
177  if (value >= (Type2)thresholdL && (Type1)value < thresholdH) {
178  //LogTrace("L1GlobalTrigger") << " condGEqValue: value >= threshold"
179  // << std::endl;
180 
181  return true;
182  }
183 
184  return false;
185 
186  } else {
187  if (value == (Type2)thresholdL) {
188  //LogTrace("L1GlobalTrigger") << " condGEqValue: value = threshold"
189  // << std::endl;
190 
191  return true;
192  }
193 
194  return false;
195  }
196  }
#define LogTrace(id)
Definition: value.py:1

◆ checkUnconstrainedPt()

template<class Type1 , class Type2 >
const bool ConditionEvaluation::checkUnconstrainedPt ( const Type1 &  thresholdL,
const Type1 &  thresholdH,
const Type2 &  value,
bool  condGEqValue 
) const
protected

check if a value is greater than a threshold or greater-or-equal depending on the value of the condGEqValue flag Added by Rick Cavanaugh for Displaced Muons: Above checkThreshold fails when value overflows or threshold window is invalid Below checkUnconstrainedPt allows value to overflow and only evaluates cut if threshold window is valid

Added by Rick Cavanaugh for Displaced Muons: Above checkThreshold fails when value overflows or threshold window is invalid Below checkUnconstrainedPt allows value to overflow and only evaluates cut if threshold window is valid

Definition at line 204 of file ConditionEvaluation.h.

References TauDecayModes::dec, and LogTrace.

207  {
208  if (value > 0) {
209  LogTrace("L1GlobalTrigger") << " checkUnconstrainedPt check for condGEqValue = " << condGEqValue
210  << "\n hex: " << std::hex << "threshold = " << thresholdL << " - " << thresholdH
211  << " value = " << value << "\n dec: " << std::dec << "threshold = " << thresholdL
212  << " - " << thresholdH << " value = " << value << std::endl;
213  }
214  if (thresholdH > 0) // Only evaluate cut if threshold window is valid
215  {
216  if (condGEqValue) {
217  if (value >= (Type2)thresholdL && (Type1)value <= thresholdH) {
218  return true;
219  }
220  return false;
221  } else {
222  if (value == (Type2)thresholdL) {
223  return true;
224  }
225  return false;
226  }
227  } else // If invalid threshold window, do not evaluate cut (ie. pass through)
228  return true;
229  }
#define LogTrace(id)
Definition: value.py:1

◆ combinationsInCond()

CombinationsInCond& l1t::ConditionEvaluation::combinationsInCond ( ) const
inlineprotected

get all the object combinations (to fill it...)

Definition at line 84 of file ConditionEvaluation.h.

References m_combinationsInCond.

84 { return m_combinationsInCond; }
CombinationsInCond m_combinationsInCond
store all the object combinations evaluated to true in the condition

◆ condLastResult()

bool l1t::ConditionEvaluation::condLastResult ( ) const
inline

get the latest result for the condition

Definition at line 57 of file ConditionEvaluation.h.

References m_condLastResult.

Referenced by l1t::CorrCondition::evaluateCondition(), l1t::CorrThreeBodyCondition::evaluateCondition(), and l1t::CorrWithOverlapRemovalCondition::evaluateCondition().

57 { return m_condLastResult; }
bool m_condLastResult
the last result of evaluateCondition()

◆ condMaxNumberObjects()

int l1t::ConditionEvaluation::condMaxNumberObjects ( ) const
inline

get / set the maximum number of objects received for the evaluation of the condition

Definition at line 50 of file ConditionEvaluation.h.

References m_condMaxNumberObjects.

◆ evaluateCondition()

virtual const bool l1t::ConditionEvaluation::evaluateCondition ( const int  bxEval) const
pure virtual

◆ evaluateConditionStoreResult()

void l1t::ConditionEvaluation::evaluateConditionStoreResult ( const int  bxEval)
inline

call evaluateCondition and save last result

Definition at line 60 of file ConditionEvaluation.h.

References evaluateCondition(), and m_condLastResult.

Referenced by l1t::CorrCondition::evaluateCondition(), l1t::CorrThreeBodyCondition::evaluateCondition(), l1t::CorrWithOverlapRemovalCondition::evaluateCondition(), and l1t::GlobalBoard::runGTL().

bool m_condLastResult
the last result of evaluateCondition()
virtual const bool evaluateCondition(const int bxEval) const =0
the core function to check if the condition matches

◆ getCombinationsInCond()

CombinationsInCond const& l1t::ConditionEvaluation::getCombinationsInCond ( ) const
inline

get all the object combinations evaluated to true in the condition

Definition at line 75 of file ConditionEvaluation.h.

References m_combinationsInCond.

Referenced by l1t::CorrCondition::evaluateCondition(), l1t::CorrThreeBodyCondition::evaluateCondition(), and l1t::CorrWithOverlapRemovalCondition::evaluateCondition().

75 { return m_combinationsInCond; }
CombinationsInCond m_combinationsInCond
store all the object combinations evaluated to true in the condition

◆ getNumericExpression()

virtual std::string l1t::ConditionEvaluation::getNumericExpression ( ) const
inlinevirtual

get numeric expression

Definition at line 66 of file ConditionEvaluation.h.

References m_condLastResult.

66  {
67  if (m_condLastResult) {
68  return "1";
69  } else {
70  return "0";
71  }
72  }
bool m_condLastResult
the last result of evaluateCondition()

◆ print()

void ConditionEvaluation::print ( std::ostream &  myCout) const
virtual

print condition

Reimplemented in l1t::CorrWithOverlapRemovalCondition, l1t::CorrThreeBodyCondition, l1t::CaloCondition, l1t::CorrCondition, l1t::EnergySumCondition, l1t::ExternalCondition, l1t::MuCondition, and l1t::MuonShowerCondition.

Definition at line 32 of file ConditionEvaluation.cc.

References filterCSVwithJSON::copy, mps_fire::end, m_combinationsInCond, m_condLastResult, and m_condMaxNumberObjects.

Referenced by l1t::MuonShowerCondition::print(), l1t::EnergySumCondition::print(), l1t::MuCondition::print(), l1t::ExternalCondition::print(), l1t::CorrCondition::print(), l1t::CaloCondition::print(), l1t::CorrThreeBodyCondition::print(), and l1t::CorrWithOverlapRemovalCondition::print().

32  {
33  myCout << "\n ConditionEvaluation print...\n" << std::endl;
34  myCout << " Maximum number of objects in condition: " << m_condMaxNumberObjects << std::endl;
35  myCout << " Condition result: " << m_condLastResult << std::endl;
36 
37  CombinationsInCond::const_iterator itVV;
38  std::ostringstream myCout1;
39 
40  for (itVV = (m_combinationsInCond).begin(); itVV != (m_combinationsInCond).end(); itVV++) {
41  myCout1 << "( ";
42 
43  std::copy((*itVV).begin(), (*itVV).end(), std::ostream_iterator<int>(myCout1, " "));
44 
45  myCout1 << "); ";
46  }
47 
48  myCout << "\n List of combinations passing all requirements for this condition: \n " << myCout1.str() << " \n"
49  << std::endl;
50 }
CombinationsInCond m_combinationsInCond
store all the object combinations evaluated to true in the condition
bool m_condLastResult
the last result of evaluateCondition()

◆ setCondMaxNumberObjects()

void l1t::ConditionEvaluation::setCondMaxNumberObjects ( int  condMaxNumberObjectsValue)
inline

Definition at line 52 of file ConditionEvaluation.h.

References m_condMaxNumberObjects.

52  {
53  m_condMaxNumberObjects = condMaxNumberObjectsValue;
54  }

◆ setVerbosity()

void l1t::ConditionEvaluation::setVerbosity ( const int  verbosity)
inline

Member Data Documentation

◆ m_combinationsInCond

CombinationsInCond l1t::ConditionEvaluation::m_combinationsInCond
mutableprotected

store all the object combinations evaluated to true in the condition

Definition at line 154 of file ConditionEvaluation.h.

Referenced by combinationsInCond(), getCombinationsInCond(), and print().

◆ m_condLastResult

bool l1t::ConditionEvaluation::m_condLastResult
protected

◆ m_condMaxNumberObjects

int l1t::ConditionEvaluation::m_condMaxNumberObjects
protected

◆ m_verbosity

int l1t::ConditionEvaluation::m_verbosity
protected

verbosity level

Definition at line 157 of file ConditionEvaluation.h.

Referenced by checkBit(), and setVerbosity().