CMS 3D CMS Logo

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

#include <L1GlobalTriggerObjectMap.h>

Public Member Functions

int algoBitNumber () const
 get / set bit number for algorithm in the object map More...
 
bool algoGtlResult () const
 
const std::string & algoName () const
 get / set name for algorithm in the object map More...
 
const std::vector< CombinationsInCond > & combinationVector () const
 
const CombinationsInCondgetCombinationsInCond (const std::string &condNameVal) const
 return all the combinations passing the requirements imposed in condition condNameVal More...
 
const CombinationsInCondgetCombinationsInCond (const int condNumberVal) const
 return all the combinations passing the requirements imposed in condition condNumberVal More...
 
const bool getConditionResult (const std::string &condNameVal) const
 return the result for the condition condNameVal More...
 
 L1GlobalTriggerObjectMap ()
 constructor(s) More...
 
const std::vector< ObjectTypeInCond > & objectTypeVector () const
 
const std::vector< L1GtLogicParser::OperandToken > & operandTokenVector () const
 
void print (std::ostream &myCout) const
 print the full object map More...
 
void reset ()
 reset the object map More...
 
void setAlgoBitNumber (int algoBitNumberValue)
 
void setAlgoGtlResult (bool algoGtlResultValue)
 
void setAlgoName (const std::string &algoNameValue)
 
void setCombinationVector (const std::vector< CombinationsInCond > &combinationVectorValue)
 
void setObjectTypeVector (const std::vector< ObjectTypeInCond > &objectTypeVectorValue)
 
void setOperandTokenVector (const std::vector< L1GtLogicParser::OperandToken > &operandTokenVectorValue)
 
void swapCombinationVector (std::vector< CombinationsInCond > &combinationVectorValue)
 
void swapObjectTypeVector (std::vector< ObjectTypeInCond > &objectTypeVectorValue)
 
void swapOperandTokenVector (std::vector< L1GtLogicParser::OperandToken > &operandTokenVectorValue)
 
 ~L1GlobalTriggerObjectMap ()
 destructor More...
 

Private Attributes

int m_algoBitNumber
 
bool m_algoGtlResult
 
std::string m_algoName
 
std::vector< CombinationsInCondm_combinationVector
 
std::vector< ObjectTypeInCondm_objectTypeVector
 
std::vector< L1GtLogicParser::OperandTokenm_operandTokenVector
 

Detailed Description

Description: map trigger objects to an algorithm and the conditions therein.
Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

Description: group typedefs used by L1GlobalTriggerObjectMap.
Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

Description: see header file.
Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

Definition at line 33 of file L1GlobalTriggerObjectMap.h.

Constructor & Destructor Documentation

◆ L1GlobalTriggerObjectMap()

L1GlobalTriggerObjectMap::L1GlobalTriggerObjectMap ( )
inline

constructor(s)

Definition at line 36 of file L1GlobalTriggerObjectMap.h.

36 {}

◆ ~L1GlobalTriggerObjectMap()

L1GlobalTriggerObjectMap::~L1GlobalTriggerObjectMap ( )
inline

destructor

Definition at line 39 of file L1GlobalTriggerObjectMap.h.

39 {}

Member Function Documentation

◆ algoBitNumber()

int L1GlobalTriggerObjectMap::algoBitNumber ( ) const
inline

get / set bit number for algorithm in the object map

Definition at line 48 of file L1GlobalTriggerObjectMap.h.

References m_algoBitNumber.

Referenced by ConvertObjectMapRecord::produce().

◆ algoGtlResult()

bool L1GlobalTriggerObjectMap::algoGtlResult ( ) const
inline

get / set the GTL result for algorithm NOTE: FDL can mask an algorithm!

Definition at line 54 of file L1GlobalTriggerObjectMap.h.

References m_algoGtlResult.

Referenced by CompareToObjectMapRecord::analyze(), and ConvertObjectMapRecord::produce().

◆ algoName()

const std::string& L1GlobalTriggerObjectMap::algoName ( ) const
inline

get / set name for algorithm in the object map

Definition at line 43 of file L1GlobalTriggerObjectMap.h.

References m_algoName.

Referenced by CompareToObjectMapRecord::analyze(), and ConvertObjectMapRecord::produce().

43 { return m_algoName; }

◆ combinationVector()

const std::vector<CombinationsInCond>& L1GlobalTriggerObjectMap::combinationVector ( ) const
inline

get / set the vector of combinations for the algorithm return a constant reference to the vector of combinations for the algorithm

Definition at line 60 of file L1GlobalTriggerObjectMap.h.

References m_combinationVector.

60 { return m_combinationVector; }
std::vector< CombinationsInCond > m_combinationVector

◆ getCombinationsInCond() [1/2]

const CombinationsInCond * L1GlobalTriggerObjectMap::getCombinationsInCond ( const std::string &  condNameVal) const

return all the combinations passing the requirements imposed in condition condNameVal

Definition at line 34 of file L1GlobalTriggerObjectMap.cc.

References mps_fire::i, m_combinationVector, and m_operandTokenVector.

Referenced by CompareToObjectMapRecord::analyze(), ConvertObjectMapRecord::produce(), and HLTLevel1GTSeed::seedsL1TriggerObjectMaps().

34  {
35  for (size_t i = 0; i < m_operandTokenVector.size(); ++i) {
36  if ((m_operandTokenVector[i]).tokenName == condNameVal) {
37  return &(m_combinationVector.at((m_operandTokenVector[i]).tokenNumber));
38  }
39  }
40 
41  // return a null address - should not arrive here
42  edm::LogError("L1GlobalTriggerObjectMap") << "\n\n ERROR: The requested condition with tokenName = " << condNameVal
43  << "\n does not exists in the operand token vector."
44  << "\n Returning zero pointer for getCombinationsInCond\n\n"
45  << std::endl;
46 
47  return nullptr;
48 }
Log< level::Error, false > LogError
std::vector< L1GtLogicParser::OperandToken > m_operandTokenVector
std::vector< CombinationsInCond > m_combinationVector

◆ getCombinationsInCond() [2/2]

const CombinationsInCond * L1GlobalTriggerObjectMap::getCombinationsInCond ( const int  condNumberVal) const

return all the combinations passing the requirements imposed in condition condNumberVal

Definition at line 51 of file L1GlobalTriggerObjectMap.cc.

References mps_fire::i, m_combinationVector, and m_operandTokenVector.

51  {
52  for (size_t i = 0; i < m_operandTokenVector.size(); ++i) {
53  if ((m_operandTokenVector[i]).tokenNumber == condNumberVal) {
54  return &(m_combinationVector.at((m_operandTokenVector[i]).tokenNumber));
55  }
56  }
57 
58  // return a null address - should not arrive here
59  edm::LogError("L1GlobalTriggerObjectMap")
60  << "\n\n ERROR: The requested condition with tokenNumber = " << condNumberVal
61  << "\n does not exists in the operand token vector."
62  << "\n Returning zero pointer for getCombinationsInCond\n\n"
63  << std::endl;
64 
65  return nullptr;
66 }
Log< level::Error, false > LogError
std::vector< L1GtLogicParser::OperandToken > m_operandTokenVector
std::vector< CombinationsInCond > m_combinationVector

◆ getConditionResult()

const bool L1GlobalTriggerObjectMap::getConditionResult ( const std::string &  condNameVal) const

return the result for the condition condNameVal

Definition at line 68 of file L1GlobalTriggerObjectMap.cc.

References mps_fire::i, and m_operandTokenVector.

68  {
69  for (size_t i = 0; i < m_operandTokenVector.size(); ++i) {
70  if ((m_operandTokenVector[i]).tokenName == condNameVal) {
71  return (m_operandTokenVector[i]).tokenResult;
72  }
73  }
74 
75  // return false - should not arrive here
76  edm::LogError("L1GlobalTriggerObjectMap") << "\n\n ERROR: The requested condition with name = " << condNameVal
77  << "\n does not exists in the operand token vector."
78  << "\n Returning false for getConditionResult\n\n"
79  << std::endl;
80  return false;
81 }
Log< level::Error, false > LogError
std::vector< L1GtLogicParser::OperandToken > m_operandTokenVector

◆ objectTypeVector()

const std::vector<ObjectTypeInCond>& L1GlobalTriggerObjectMap::objectTypeVector ( ) const
inline

get / set the vector of object types return a constant reference to the vector of operand tokens

Definition at line 82 of file L1GlobalTriggerObjectMap.h.

References m_objectTypeVector.

82 { return m_objectTypeVector; }
std::vector< ObjectTypeInCond > m_objectTypeVector

◆ operandTokenVector()

const std::vector<L1GtLogicParser::OperandToken>& L1GlobalTriggerObjectMap::operandTokenVector ( ) const
inline

get / set the vector of operand tokens return a constant reference to the vector of operand tokens

Definition at line 71 of file L1GlobalTriggerObjectMap.h.

References m_operandTokenVector.

Referenced by CompareToObjectMapRecord::analyze(), ConvertObjectMapRecord::produce(), and HLTLevel1GTSeed::seedsL1TriggerObjectMaps().

71 { return m_operandTokenVector; }
std::vector< L1GtLogicParser::OperandToken > m_operandTokenVector

◆ print()

void L1GlobalTriggerObjectMap::print ( std::ostream &  myCout) const

print the full object map

Definition at line 100 of file L1GlobalTriggerObjectMap.cc.

References filterCSVwithJSON::copy, mps_fire::i, m_algoBitNumber, m_algoGtlResult, m_algoName, m_combinationVector, m_operandTokenVector, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by L1GlobalTriggerGTL::run().

100  {
101  myCout << "L1GlobalTriggerObjectMap: print " << std::endl;
102 
103  myCout << " Algorithm name: " << m_algoName << std::endl;
104  myCout << " Bit number: " << m_algoBitNumber << std::endl;
105  myCout << " GTL result: " << m_algoGtlResult << std::endl;
106 
107  int operandTokenVectorSize = m_operandTokenVector.size();
108 
109  myCout << " Operand token vector size: " << operandTokenVectorSize;
110 
111  if (operandTokenVectorSize == 0) {
112  myCout << " - not properly initialized! " << std::endl;
113  } else {
114  myCout << std::endl;
115 
116  for (int i = 0; i < operandTokenVectorSize; ++i) {
117  myCout << " " << std::setw(5) << (m_operandTokenVector[i]).tokenNumber << "\t" << std::setw(25)
118  << (m_operandTokenVector[i]).tokenName << "\t" << (m_operandTokenVector[i]).tokenResult << std::endl;
119  }
120  }
121 
122  myCout << " CombinationVector size: " << m_combinationVector.size() << std::endl;
123 
124  myCout << " conditions: " << std::endl;
125 
126  std::vector<CombinationsInCond>::const_iterator itVVV;
127  int iCond = 0;
128  for (itVVV = m_combinationVector.begin(); itVVV != m_combinationVector.end(); itVVV++) {
129  std::string condName = (m_operandTokenVector[iCond]).tokenName;
130  bool condResult = (m_operandTokenVector[iCond]).tokenResult;
131 
132  myCout << " Condition " << condName << " evaluated to " << condResult << std::endl;
133 
134  myCout << " List of combinations passing all requirements for this condition:" << std::endl;
135 
136  myCout << " ";
137 
138  if ((*itVVV).empty()) {
139  myCout << "(none)";
140  } else {
141  CombinationsInCond::const_iterator itVV;
142  for (itVV = (*itVVV).begin(); itVV != (*itVVV).end(); itVV++) {
143  myCout << "( ";
144 
145  std::copy((*itVV).begin(), (*itVV).end(), std::ostream_iterator<int>(myCout, " "));
146 
147  myCout << "); ";
148  }
149  }
150  iCond++;
151  myCout << "\n\n";
152  }
153 }
std::vector< L1GtLogicParser::OperandToken > m_operandTokenVector
std::vector< CombinationsInCond > m_combinationVector

◆ reset()

void L1GlobalTriggerObjectMap::reset ( void  )

reset the object map

Definition at line 83 of file L1GlobalTriggerObjectMap.cc.

References m_algoBitNumber, m_algoGtlResult, m_algoName, m_combinationVector, and m_operandTokenVector.

83  {
84  // name of the algorithm
85  m_algoName.clear();
86 
87  // bit number for algorithm
88  m_algoBitNumber = -1;
89 
90  // GTL result of the algorithm
91  m_algoGtlResult = false;
92 
93  // vector of operand tokens for an algorithm
94  m_operandTokenVector.clear();
95 
96  // vector of combinations for all conditions in an algorithm
97  m_combinationVector.clear();
98 }
std::vector< L1GtLogicParser::OperandToken > m_operandTokenVector
std::vector< CombinationsInCond > m_combinationVector

◆ setAlgoBitNumber()

void L1GlobalTriggerObjectMap::setAlgoBitNumber ( int  algoBitNumberValue)
inline

Definition at line 50 of file L1GlobalTriggerObjectMap.h.

References m_algoBitNumber.

Referenced by L1GlobalTriggerGTL::run().

50 { m_algoBitNumber = algoBitNumberValue; }

◆ setAlgoGtlResult()

void L1GlobalTriggerObjectMap::setAlgoGtlResult ( bool  algoGtlResultValue)
inline

Definition at line 56 of file L1GlobalTriggerObjectMap.h.

References m_algoGtlResult.

Referenced by L1GlobalTriggerGTL::run().

56 { m_algoGtlResult = algoGtlResultValue; }

◆ setAlgoName()

void L1GlobalTriggerObjectMap::setAlgoName ( const std::string &  algoNameValue)
inline

Definition at line 45 of file L1GlobalTriggerObjectMap.h.

References m_algoName.

Referenced by L1GlobalTriggerGTL::run().

45 { m_algoName = algoNameValue; }

◆ setCombinationVector()

void L1GlobalTriggerObjectMap::setCombinationVector ( const std::vector< CombinationsInCond > &  combinationVectorValue)
inline

Definition at line 62 of file L1GlobalTriggerObjectMap.h.

References m_combinationVector.

62  {
63  m_combinationVector = combinationVectorValue;
64  }
std::vector< CombinationsInCond > m_combinationVector

◆ setObjectTypeVector()

void L1GlobalTriggerObjectMap::setObjectTypeVector ( const std::vector< ObjectTypeInCond > &  objectTypeVectorValue)
inline

Definition at line 83 of file L1GlobalTriggerObjectMap.h.

References m_objectTypeVector.

83  {
84  m_objectTypeVector = objectTypeVectorValue;
85  }
std::vector< ObjectTypeInCond > m_objectTypeVector

◆ setOperandTokenVector()

void L1GlobalTriggerObjectMap::setOperandTokenVector ( const std::vector< L1GtLogicParser::OperandToken > &  operandTokenVectorValue)
inline

Definition at line 73 of file L1GlobalTriggerObjectMap.h.

References m_operandTokenVector.

73  {
74  m_operandTokenVector = operandTokenVectorValue;
75  }
std::vector< L1GtLogicParser::OperandToken > m_operandTokenVector

◆ swapCombinationVector()

void L1GlobalTriggerObjectMap::swapCombinationVector ( std::vector< CombinationsInCond > &  combinationVectorValue)
inline

Definition at line 65 of file L1GlobalTriggerObjectMap.h.

References m_combinationVector.

Referenced by L1GlobalTriggerGTL::run().

65  {
66  m_combinationVector.swap(combinationVectorValue);
67  }
std::vector< CombinationsInCond > m_combinationVector

◆ swapObjectTypeVector()

void L1GlobalTriggerObjectMap::swapObjectTypeVector ( std::vector< ObjectTypeInCond > &  objectTypeVectorValue)
inline

Definition at line 86 of file L1GlobalTriggerObjectMap.h.

References m_objectTypeVector.

86  {
87  m_objectTypeVector.swap(objectTypeVectorValue);
88  }
std::vector< ObjectTypeInCond > m_objectTypeVector

◆ swapOperandTokenVector()

void L1GlobalTriggerObjectMap::swapOperandTokenVector ( std::vector< L1GtLogicParser::OperandToken > &  operandTokenVectorValue)
inline

Definition at line 76 of file L1GlobalTriggerObjectMap.h.

References m_operandTokenVector.

Referenced by L1GlobalTriggerGTL::run().

76  {
77  m_operandTokenVector.swap(operandTokenVectorValue);
78  }
std::vector< L1GtLogicParser::OperandToken > m_operandTokenVector

Member Data Documentation

◆ m_algoBitNumber

int L1GlobalTriggerObjectMap::m_algoBitNumber
private

Definition at line 112 of file L1GlobalTriggerObjectMap.h.

Referenced by algoBitNumber(), print(), reset(), and setAlgoBitNumber().

◆ m_algoGtlResult

bool L1GlobalTriggerObjectMap::m_algoGtlResult
private

Definition at line 115 of file L1GlobalTriggerObjectMap.h.

Referenced by algoGtlResult(), print(), reset(), and setAlgoGtlResult().

◆ m_algoName

std::string L1GlobalTriggerObjectMap::m_algoName
private

Definition at line 109 of file L1GlobalTriggerObjectMap.h.

Referenced by algoName(), print(), reset(), and setAlgoName().

◆ m_combinationVector

std::vector<CombinationsInCond> L1GlobalTriggerObjectMap::m_combinationVector
private

◆ m_objectTypeVector

std::vector<ObjectTypeInCond> L1GlobalTriggerObjectMap::m_objectTypeVector
private

◆ m_operandTokenVector

std::vector<L1GtLogicParser::OperandToken> L1GlobalTriggerObjectMap::m_operandTokenVector
private

vector of operand tokens for an algorithm (condition name, condition index, condition result)

Definition at line 119 of file L1GlobalTriggerObjectMap.h.

Referenced by getCombinationsInCond(), getConditionResult(), operandTokenVector(), print(), reset(), setOperandTokenVector(), and swapOperandTokenVector().