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::AXOL1TLCondition 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 , class Type2 >
const bool checkCut (const Type1 &cutL, const Type2 &value, bool condGEqValue) const
 
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 45 of file ConditionEvaluation.h.

Constructor & Destructor Documentation

◆ ConditionEvaluation()

l1t::ConditionEvaluation::ConditionEvaluation ( )
inline

constructor

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

51 {}

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

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

289  {
290  uint64_t oneBit = 1ULL;
291 
292  if (bitNumber >= (sizeof(oneBit) * 8)) {
293  if (m_verbosity) {
294  LogTrace("L1GlobalTrigger") << " checkBit "
295  << "\n Bit number = " << bitNumber << " larger than maximum allowed "
296  << sizeof(oneBit) * 8 << std::endl;
297  }
298 
299  return false;
300  }
301 
302  oneBit <<= bitNumber;
303 
304  //LogTrace("L1GlobalTrigger") << " checkBit " << "\n mask address = " << &mask
305  // << std::dec << "\n dec: " << "mask = " << mask << " oneBit = " << oneBit
306  // << " bitNumber = " << bitNumber << std::hex << "\n hex: " << "mask = " << mask
307  // << " oneBit = " << oneBit << " bitNumber = " << bitNumber << std::dec
308  // << "\n mask & oneBit result = " << bool ( mask & oneBit ) << std::endl;
309 
310  return (mask & oneBit);
311  }
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

◆ checkCut()

template<class Type1 , class Type2 >
const bool ConditionEvaluation::checkCut ( const Type1 &  cutL,
const Type2 &  value,
bool  condGEqValue 
) const
protected

check if a value is greater than a cut or greater-or-equal depending on the value of the condGEqValue flag no upper limit applied, added for AXOL1TL condition

Definition at line 211 of file ConditionEvaluation.h.

References TauDecayModes::dec, and LogTrace.

211  {
212  if (value > 0) {
213  LogTrace("L1GlobalTrigger") << " checkCut check for condGEqValue = " << condGEqValue << "\n hex: " << std::hex
214  << "cut = " << cutL << " value = " << value << "\n dec: " << std::dec
215  << "cut = " << cutL << " value = " << value << std::endl;
216  }
217 
218  if (condGEqValue) {
219  if (value >= (Type2)cutL) {
220  return true;
221  }
222 
223  return false;
224 
225  } else {
226  if (value == (Type2)cutL) {
227  return true;
228  }
229 
230  return false;
231  }
232  }
#define LogTrace(id)
Definition: value.py:1

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

References LogDebug.

271  {
272  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
273  << "\n\t indexLo = " << indexLo << "\n\t indexHi = " << indexHi << "\n\t index = " << index
274  << std::endl;
275 
276  // set condition to false if indexLo > indexHi
277  if (indexLo > indexHi) {
278  return false;
279  }
280  if (index >= indexLo && index <= indexHi) {
281  return true;
282  }
283 
284  return false;
285  }
#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 430 of file ConditionEvaluation.h.

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

434  {
435  /* // set condition to true if beginR==endR = default -1 */
436  /* if( beginR==endR && beginR==-1 ){ */
437  /* return true; */
438  /* } */
439 
440  unsigned int compare = obj1Eta - obj2Eta;
441  bool cond = ((compare >> nEtaBits) & 1) ? false : true;
442 
443  unsigned int larger, smaller;
444  if (cond) {
445  larger = obj1Eta;
446  smaller = obj2Eta;
447  } else {
448  larger = obj2Eta;
449  smaller = obj1Eta;
450  }
451 
452  unsigned int diff = ((larger + ((~smaller + 1) & 255)) & 255);
453 
454  unsigned int diff1 = upperR - lowerR;
455  unsigned int diff2 = diff - lowerR;
456  unsigned int diff3 = upperR - diff;
457 
458  bool cond1 = ((diff1 >> nEtaBits) & 1) ? false : true;
459  bool cond2 = ((diff2 >> nEtaBits) & 1) ? false : true;
460  bool cond3 = ((diff3 >> nEtaBits) & 1) ? false : true;
461 
462  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
463  << "\n\t obj1Eta = " << obj1Eta << "\n\t obj2Eta = " << obj2Eta << "\n\t lowerR = " << lowerR
464  << "\n\t upperR = " << upperR << "\n\t compare = " << compare << "\n\t cond = " << cond
465  << "\n\t diff = " << diff << "\n\t diff1 = " << diff1 << "\n\t cond1 = " << cond1
466  << "\n\t diff2 = " << diff2 << "\n\t cond2 = " << cond2 << "\n\t diff3 = " << diff3
467  << "\n\t cond3 = " << cond3 << std::endl;
468 
469  if (cond1 && (cond2 && cond3))
470  return true;
471  else if (!cond1 && (cond2 || cond3))
472  return true;
473  else {
474  return false;
475  }
476  }
#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 479 of file ConditionEvaluation.h.

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

482  {
483  int deltaPhi = abs(int(obj1Phi) - int(obj2Phi));
484  if (deltaPhi > 71)
485  deltaPhi = 143 - deltaPhi + 1; // Add +1 if the calculation is over 0
486 
487  int diff1 = upperR - lowerR;
488  int diff2 = deltaPhi - lowerR;
489  int diff3 = upperR - deltaPhi;
490 
491  bool cond1 = (diff1 < 0) ? false : true;
492  bool cond2 = (diff2 < 0) ? false : true;
493  bool cond3 = (diff3 < 0) ? false : true;
494 
495  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
496  << "\n\t obj1Phi = " << obj1Phi << "\n\t obj2Phi = " << obj2Phi
497  << "\n\t deltaPhi = " << deltaPhi << "\n\t lowerR = " << lowerR << "\n\t upperR = " << upperR
498  << "\n\t diff1 = " << diff1 << "\n\t cond1 = " << cond1 << "\n\t diff2 = " << diff2
499  << "\n\t cond2 = " << cond2 << "\n\t diff3 = " << diff3 << "\n\t cond3 = " << cond3
500  << std::endl;
501 
502  // check if value is in range
503  // for begin <= end takes [begin, end]
504  // for begin >= end takes [begin, end] over zero angle!
505  if (cond1 && (cond2 && cond3))
506  return true;
507  else if (!cond1 && (cond2 || cond3))
508  return true;
509  else {
510  return false;
511  }
512  }
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 317 of file ConditionEvaluation.h.

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

319  {
320  if (windows.empty()) {
321  return true;
322  }
323 
324  for (const auto& window : windows) {
325  const unsigned int diff1 = window.upper - window.lower;
326  const unsigned int diff2 = bitNumber - window.lower;
327  const unsigned int diff3 = window.upper - bitNumber;
328 
329  const bool cond1 = ((diff1 >> nEtaBits) & 1) ? false : true;
330  const bool cond2 = ((diff2 >> nEtaBits) & 1) ? false : true;
331  const bool cond3 = ((diff3 >> nEtaBits) & 1) ? false : true;
332 
333  // check if value is in range
334  // for begin <= end takes [begin, end]
335  // for begin >= end takes [begin, end] over zero angle!
336  bool passWindow = false;
337  if (cond1 && (cond2 && cond3))
338  passWindow = true;
339  else if (!cond1 && (cond2 || cond3))
340  passWindow = true;
341  else
342  passWindow = false;
343 
344  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
345  << "\n\t bitNumber = " << bitNumber << "\n\t window.lower = " << window.lower
346  << "\n\t window.upper = " << window.upper << "\n\t diff1 = " << diff1
347  << "\n\t cond1 = " << cond1 << "\n\t diff2 = " << diff2 << "\n\t cond2 = " << cond2
348  << "\n\t diff3 = " << diff3 << "\n\t cond3 = " << cond3
349  << "\n\t passWindow = " << passWindow << std::endl;
350 
351  if (passWindow) {
352  return true;
353  }
354  }
355 
356  return false;
357  }
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 361 of file ConditionEvaluation.h.

References L1TBPTX_cfi::bitNumber, and LogDebug.

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

References LogDebug, and svgfig::window().

516  {
517  if (windows.empty()) {
518  return true;
519  }
520 
521  for (const auto& window : windows) {
522  if ((window.lower <= value) and (value <= window.upper)) {
523  return true;
524  LogDebug("l1t|Global") << "\n l1t::ConditionEvaluation"
525  << "\n\t window.lower = " << window.lower << "\n\t window.upper = " << window.upper
526  << "Passed TfMuonIndex window" << std::endl;
527  }
528  }
529 
530  return false;
531  }
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 180 of file ConditionEvaluation.h.

References TauDecayModes::dec, and LogTrace.

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

References TauDecayModes::dec, and LogTrace.

243  {
244  if (value > 0) {
245  LogTrace("L1GlobalTrigger") << " checkUnconstrainedPt check for condGEqValue = " << condGEqValue
246  << "\n hex: " << std::hex << "threshold = " << thresholdL << " - " << thresholdH
247  << " value = " << value << "\n dec: " << std::dec << "threshold = " << thresholdL
248  << " - " << thresholdH << " value = " << value << std::endl;
249  }
250  if (thresholdH > 0) // Only evaluate cut if threshold window is valid
251  {
252  if (condGEqValue) {
253  if (value >= (Type2)thresholdL && (Type1)value <= thresholdH) {
254  return true;
255  }
256  return false;
257  } else {
258  if (value == (Type2)thresholdL) {
259  return true;
260  }
261  return false;
262  }
263  } else // If invalid threshold window, do not evaluate cut (ie. pass through)
264  return true;
265  }
#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 90 of file ConditionEvaluation.h.

References m_combinationsInCond.

90 { 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 63 of file ConditionEvaluation.h.

References m_condLastResult.

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

63 { 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 56 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 66 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 81 of file ConditionEvaluation.h.

References m_combinationsInCond.

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

81 { 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 72 of file ConditionEvaluation.h.

References m_condLastResult.

72  {
73  if (m_condLastResult) {
74  return "1";
75  } else {
76  return "0";
77  }
78  }
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, l1t::MuonShowerCondition, and l1t::AXOL1TLCondition.

Definition at line 32 of file ConditionEvaluation.cc.

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

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

References m_condMaxNumberObjects.

58  {
59  m_condMaxNumberObjects = condMaxNumberObjectsValue;
60  }

◆ setVerbosity()

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

Definition at line 86 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 169 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 172 of file ConditionEvaluation.h.

Referenced by checkBit(), and setVerbosity().