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::EnergySumZdcCondition 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 deltaEta 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 deltaPhi range More...
 
template<class Type1 >
const bool checkRangeEta (const unsigned int bitNumber, const std::vector< Type1 > &windows, const unsigned int nEtaBits) const
 
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 phi range and outside of a veto range More...
 
template<class Type1 >
const bool checkRangeTfMuonIndex (const unsigned int bitNumber, const std::vector< Type1 > &windows) const
 check if a value is in a given muon track finder index 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 43 of file ConditionEvaluation.h.

Constructor & Destructor Documentation

◆ ConditionEvaluation()

l1t::ConditionEvaluation::ConditionEvaluation ( )
inline

constructor

Definition at line 46 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 49 of file ConditionEvaluation.h.

49 {}

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 260 of file ConditionEvaluation.h.

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

260  {
261  uint64_t oneBit = 1ULL;
262 
263  if (bitNumber >= (sizeof(oneBit) * 8)) {
264  if (m_verbosity) {
265  LogTrace("L1GlobalTrigger") << " checkBit "
266  << "\n Bit number = " << bitNumber << " larger than maximum allowed "
267  << sizeof(oneBit) * 8 << std::endl;
268  }
269 
270  return false;
271  }
272 
273  oneBit <<= bitNumber;
274 
275  //LogTrace("L1GlobalTrigger") << " checkBit " << "\n mask address = " << &mask
276  // << std::dec << "\n dec: " << "mask = " << mask << " oneBit = " << oneBit
277  // << " bitNumber = " << bitNumber << std::hex << "\n hex: " << "mask = " << mask
278  // << " oneBit = " << oneBit << " bitNumber = " << bitNumber << std::dec
279  // << "\n mask & oneBit result = " << bool ( mask & oneBit ) << std::endl;
280 
281  return (mask & oneBit);
282  }
constexpr uint32_t mask
Definition: gpuClustering.h:26
#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 240 of file ConditionEvaluation.h.

References LogDebug.

242  {
243  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
244  << "\n\t indexLo = " << indexLo << "\n\t indexHi = " << indexHi << "\n\t index = " << index
245  << std::endl;
246 
247  // set condition to false if indexLo > indexHi
248  if (indexLo > indexHi) {
249  return false;
250  }
251  if (index >= indexLo && index <= indexHi) {
252  return true;
253  }
254 
255  return false;
256  }
#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 deltaEta range

Definition at line 401 of file ConditionEvaluation.h.

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

405  {
406  /* // set condition to true if beginR==endR = default -1 */
407  /* if( beginR==endR && beginR==-1 ){ */
408  /* return true; */
409  /* } */
410 
411  unsigned int compare = obj1Eta - obj2Eta;
412  bool cond = ((compare >> nEtaBits) & 1) ? false : true;
413 
414  unsigned int larger, smaller;
415  if (cond) {
416  larger = obj1Eta;
417  smaller = obj2Eta;
418  } else {
419  larger = obj2Eta;
420  smaller = obj1Eta;
421  }
422 
423  unsigned int diff = ((larger + ((~smaller + 1) & 255)) & 255);
424 
425  unsigned int diff1 = upperR - lowerR;
426  unsigned int diff2 = diff - lowerR;
427  unsigned int diff3 = upperR - diff;
428 
429  bool cond1 = ((diff1 >> nEtaBits) & 1) ? false : true;
430  bool cond2 = ((diff2 >> nEtaBits) & 1) ? false : true;
431  bool cond3 = ((diff3 >> nEtaBits) & 1) ? false : true;
432 
433  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
434  << "\n\t obj1Eta = " << obj1Eta << "\n\t obj2Eta = " << obj2Eta << "\n\t lowerR = " << lowerR
435  << "\n\t upperR = " << upperR << "\n\t compare = " << compare << "\n\t cond = " << cond
436  << "\n\t diff = " << diff << "\n\t diff1 = " << diff1 << "\n\t cond1 = " << cond1
437  << "\n\t diff2 = " << diff2 << "\n\t cond2 = " << cond2 << "\n\t diff3 = " << diff3
438  << "\n\t cond3 = " << cond3 << std::endl;
439 
440  if (cond1 && (cond2 && cond3))
441  return true;
442  else if (!cond1 && (cond2 || cond3))
443  return true;
444  else {
445  return false;
446  }
447  }
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 deltaPhi range

Definition at line 450 of file ConditionEvaluation.h.

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

453  {
454  int deltaPhi = abs(int(obj1Phi) - int(obj2Phi));
455  if (deltaPhi > 71)
456  deltaPhi = 143 - deltaPhi + 1; // Add +1 if the calculation is over 0
457 
458  int diff1 = upperR - lowerR;
459  int diff2 = deltaPhi - lowerR;
460  int diff3 = upperR - deltaPhi;
461 
462  bool cond1 = (diff1 < 0) ? false : true;
463  bool cond2 = (diff2 < 0) ? false : true;
464  bool cond3 = (diff3 < 0) ? false : true;
465 
466  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
467  << "\n\t obj1Phi = " << obj1Phi << "\n\t obj2Phi = " << obj2Phi
468  << "\n\t deltaPhi = " << deltaPhi << "\n\t lowerR = " << lowerR << "\n\t upperR = " << upperR
469  << "\n\t diff1 = " << diff1 << "\n\t cond1 = " << cond1 << "\n\t diff2 = " << diff2
470  << "\n\t cond2 = " << cond2 << "\n\t diff3 = " << diff3 << "\n\t cond3 = " << cond3
471  << std::endl;
472 
473  // check if value is in range
474  // for begin <= end takes [begin, end]
475  // for begin >= end takes [begin, end] over zero angle!
476  if (cond1 && (cond2 && cond3))
477  return true;
478  else if (!cond1 && (cond2 || cond3))
479  return true;
480  else {
481  return false;
482  }
483  }
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 std::vector< Type1 > &  windows,
const unsigned int  nEtaBits 
) const
protected

check if a value is in a given eta range and outside of a veto range Up to five eta cuts are allowed in L1 algorithms. Three eta cuts are used for the DoubleMu seeds with upt requirement implemented for Run 3 (2023)

Definition at line 288 of file ConditionEvaluation.h.

References L1TBPTX_cfi::bitNumber, funct::false, LogDebug, and svgfig::window().

290  {
291  if (windows.empty()) {
292  return true;
293  }
294 
295  for (const auto& window : windows) {
296  const unsigned int diff1 = window.upper - window.lower;
297  const unsigned int diff2 = bitNumber - window.lower;
298  const unsigned int diff3 = window.upper - bitNumber;
299 
300  const bool cond1 = ((diff1 >> nEtaBits) & 1) ? false : true;
301  const bool cond2 = ((diff2 >> nEtaBits) & 1) ? false : true;
302  const bool cond3 = ((diff3 >> nEtaBits) & 1) ? false : true;
303 
304  // check if value is in range
305  // for begin <= end takes [begin, end]
306  // for begin >= end takes [begin, end] over zero angle!
307  bool passWindow = false;
308  if (cond1 && (cond2 && cond3))
309  passWindow = true;
310  else if (!cond1 && (cond2 || cond3))
311  passWindow = true;
312  else
313  passWindow = false;
314 
315  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
316  << "\n\t bitNumber = " << bitNumber << "\n\t window.lower = " << window.lower
317  << "\n\t window.upper = " << window.upper << "\n\t diff1 = " << diff1
318  << "\n\t cond1 = " << cond1 << "\n\t diff2 = " << diff2 << "\n\t cond2 = " << cond2
319  << "\n\t diff3 = " << diff3 << "\n\t cond3 = " << cond3
320  << "\n\t passWindow = " << passWindow << std::endl;
321 
322  if (passWindow) {
323  return true;
324  }
325  }
326 
327  return false;
328  }
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
Definition: svgfig.py:643
#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 phi range and outside of a veto range

Definition at line 332 of file ConditionEvaluation.h.

References L1TBPTX_cfi::bitNumber, and LogDebug.

336  {
337  // set condition to true if beginR==endR = default -1
338  if (W1beginR == W1endR && W1beginR == (Type1)-1) {
339  return true;
340  }
341 
342  int W1diff1 = W1endR - W1beginR;
343  int W1diff2 = bitNumber - W1beginR;
344  int W1diff3 = W1endR - bitNumber;
345 
346  bool W1cond1 = (W1diff1 < 0) ? false : true;
347  bool W1cond2 = (W1diff2 < 0) ? false : true;
348  bool W1cond3 = (W1diff3 < 0) ? false : true;
349 
350  // check if value is in range
351  // for begin <= end takes [begin, end]
352  // for begin >= end takes [begin, end] over zero angle!
353  bool passWindow1 = false;
354  if (W1cond1 && (W1cond2 && W1cond3))
355  passWindow1 = true;
356  else if (!W1cond1 && (W1cond2 || W1cond3))
357  passWindow1 = true;
358  else {
359  passWindow1 = false;
360  }
361 
362  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
363  << "\n\t bitNumber = " << bitNumber << "\n\t W1beginR = " << W1beginR
364  << "\n\t W1endR = " << W1endR << "\n\t W1diff1 = " << W1diff1
365  << "\n\t W1cond1 = " << W1cond1 << "\n\t W1diff2 = " << W1diff2
366  << "\n\t W1cond2 = " << W1cond2 << "\n\t W1diff3 = " << W1diff3
367  << "\n\t W1cond3 = " << W1cond3 << std::endl;
368 
369  if (W2beginR == W2endR && W2beginR == (Type1)-1) {
370  return passWindow1;
371  }
372 
373  int W2diff1 = W2endR - W2beginR;
374  int W2diff2 = bitNumber - W2beginR;
375  int W2diff3 = W2endR - bitNumber;
376 
377  bool W2cond1 = (W2diff1 < 0) ? false : true;
378  bool W2cond2 = (W2diff2 < 0) ? false : true;
379  bool W2cond3 = (W2diff3 < 0) ? false : true;
380 
381  // check if value is in range
382  // for begin <= end takes [begin, end]
383  // for begin >= end takes [begin, end] over zero angle!
384  bool passWindow2 = false;
385  if (W2cond1 && (W2cond2 && W2cond3))
386  passWindow2 = true;
387  else if (!W2cond1 && (W2cond2 || W2cond3))
388  passWindow2 = true;
389  else {
390  passWindow2 = false;
391  }
392 
393  if (passWindow1 || passWindow2) {
394  return true;
395  } else {
396  return false;
397  }
398  }
#define LogDebug(id)

◆ checkRangeTfMuonIndex()

template<class Type1 >
const bool ConditionEvaluation::checkRangeTfMuonIndex ( const unsigned int  bitNumber,
const std::vector< Type1 > &  windows 
) const
protected

check if a value is in a given muon track finder index range

Definition at line 486 of file ConditionEvaluation.h.

References LogDebug, and svgfig::window().

487  {
488  if (windows.empty()) {
489  return true;
490  }
491 
492  for (const auto& window : windows) {
493  if ((window.lower <= value) and (value <= window.upper)) {
494  return true;
495  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
496  << "\n\t window.lower = " << window.lower << "\n\t window.upper = " << window.upper
497  << "Passed TfMuonIndex window" << std::endl;
498  }
499  }
500 
501  return false;
502  }
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
Definition: svgfig.py:643
Definition: value.py:1
#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 172 of file ConditionEvaluation.h.

References TauDecayModes::dec, and LogTrace.

175  {
176  if (value > 0) {
177  LogTrace("L1GlobalTrigger") << " checkThreshold check for condGEqValue = " << condGEqValue
178  << "\n hex: " << std::hex << "threshold = " << thresholdL << " - " << thresholdH
179  << " value = " << value << "\n dec: " << std::dec << "threshold = " << thresholdL
180  << " - " << thresholdH << " value = " << value << std::endl;
181  }
182 
183  if (condGEqValue) {
184  if (value >= (Type2)thresholdL && (Type1)value < thresholdH) {
185  //LogTrace("L1GlobalTrigger") << " condGEqValue: value >= threshold"
186  // << std::endl;
187 
188  return true;
189  }
190 
191  return false;
192 
193  } else {
194  if (value == (Type2)thresholdL) {
195  //LogTrace("L1GlobalTrigger") << " condGEqValue: value = threshold"
196  // << std::endl;
197 
198  return true;
199  }
200 
201  return false;
202  }
203  }
#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 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 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 211 of file ConditionEvaluation.h.

References TauDecayModes::dec, and LogTrace.

214  {
215  if (value > 0) {
216  LogTrace("L1GlobalTrigger") << " checkUnconstrainedPt check for condGEqValue = " << condGEqValue
217  << "\n hex: " << std::hex << "threshold = " << thresholdL << " - " << thresholdH
218  << " value = " << value << "\n dec: " << std::dec << "threshold = " << thresholdL
219  << " - " << thresholdH << " value = " << value << std::endl;
220  }
221  if (thresholdH > 0) // Only evaluate cut if threshold window is valid
222  {
223  if (condGEqValue) {
224  if (value >= (Type2)thresholdL && (Type1)value <= thresholdH) {
225  return true;
226  }
227  return false;
228  } else {
229  if (value == (Type2)thresholdL) {
230  return true;
231  }
232  return false;
233  }
234  } else // If invalid threshold window, do not evaluate cut (ie. pass through)
235  return true;
236  }
#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 88 of file ConditionEvaluation.h.

References m_combinationsInCond.

88 { 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 61 of file ConditionEvaluation.h.

References m_condLastResult.

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

61 { 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 54 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 64 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 79 of file ConditionEvaluation.h.

References m_combinationsInCond.

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

79 { 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 70 of file ConditionEvaluation.h.

References m_condLastResult.

70  {
71  if (m_condLastResult) {
72  return "1";
73  } else {
74  return "0";
75  }
76  }
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::EnergySumZdcCondition, l1t::ExternalCondition, l1t::MuCondition, and l1t::MuonShowerCondition.

Definition at line 32 of file ConditionEvaluation.cc.

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

Referenced by l1t::MuonShowerCondition::print(), l1t::EnergySumCondition::print(), l1t::MuCondition::print(), l1t::ExternalCondition::print(), l1t::EnergySumZdcCondition::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 56 of file ConditionEvaluation.h.

References m_condMaxNumberObjects.

56  {
57  m_condMaxNumberObjects = condMaxNumberObjectsValue;
58  }

◆ setVerbosity()

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

Definition at line 84 of file ConditionEvaluation.h.

References m_verbosity, and verbosity.

Referenced by l1t::GlobalBoard::runGTL().

const int verbosity
int m_verbosity
verbosity level

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 161 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 164 of file ConditionEvaluation.h.

Referenced by checkBit(), and setVerbosity().