Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
/**
 * \class GlobalObjectMapRecord
 * 
 * 
 * Description: see header file.  
 *
 * Implementation:
 *    <TODO: enter implementation details>
 *   
 * \author: Vasile Mihai Ghete - HEPHY Vienna
 * 
 *
 */

// this class header
#include "DataFormats/L1TGlobal/interface/GlobalObjectMapRecord.h"

// system include files

#include <algorithm>

// user include files
#include "FWCore/MessageLogger/interface/MessageLogger.h"

// forward declarations

// methods

/// return the object map for the algorithm algoNameVal
const GlobalObjectMap* GlobalObjectMapRecord::getObjectMap(const std::string& algoNameVal) const {
  for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
       ++itObj) {
    if (itObj->algoName() == algoNameVal) {
      return &((*itObj));
    }
  }

  // no algoName found, return zero pointer!
  edm::LogError("GlobalObjectMapRecord") << "\n\n  ERROR: The requested algorithm name = " << algoNameVal
                                         << "\n  does not exists in the trigger menu."
                                         << "\n  Returning zero pointer for getObjectMap\n\n"
                                         << std::endl;

  return nullptr;
}

/// return the object map for the algorithm with bit number const int algoBitNumberVal
const GlobalObjectMap* GlobalObjectMapRecord::getObjectMap(const int algoBitNumberVal) const {
  for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
       ++itObj) {
    if (itObj->algoBitNumber() == algoBitNumberVal) {
      return &((*itObj));
    }
  }

  // no algoBitNumberVal found, return zero pointer!
  edm::LogError("GlobalObjectMapRecord") << "\n\n  ERROR: The requested algorithm with bit number = "
                                         << algoBitNumberVal << "\n  does not exists in the trigger menu."
                                         << "\n  Returning zero pointer for getObjectMap\n\n"
                                         << std::endl;

  return nullptr;
}

// return all the combinations passing the requirements imposed in condition condNameVal
// from algorithm algoNameVal
const CombinationsWithBxInCond* GlobalObjectMapRecord::getCombinationsInCond(const std::string& algoNameVal,
                                                                             const std::string& condNameVal) const {
  for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
       ++itObj) {
    if (itObj->algoName() == algoNameVal) {
      return itObj->getCombinationsInCond(condNameVal);
    }
  }

  // no (algoName, condName) found, return zero pointer!
  edm::LogError("GlobalObjectMapRecord") << "\n\n  ERROR: The requested \n    (algorithm name, condition name) = ("
                                         << algoNameVal << ", " << condNameVal
                                         << ") \n  does not exists in the trigger menu."
                                         << "\n  Returning zero pointer for getCombinationsInCond\n\n"
                                         << std::endl;

  return nullptr;
}

// return all the combinations passing the requirements imposed in condition condNameVal
// from algorithm with bit number algoBitNumberVal
const CombinationsWithBxInCond* GlobalObjectMapRecord::getCombinationsInCond(const int algoBitNumberVal,
                                                                             const std::string& condNameVal) const {
  for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
       ++itObj) {
    if (itObj->algoBitNumber() == algoBitNumberVal) {
      return itObj->getCombinationsInCond(condNameVal);
    }
  }

  // no (algoBitNumber, condName) found, return zero pointer!
  edm::LogError("GlobalObjectMapRecord")
      << "\n\n  ERROR: The requested \n    (algorithm bit number, condition name) = (" << algoBitNumberVal << ", "
      << condNameVal << ") \n  does not exists in the trigger menu."
      << "\n  Returning zero pointer for getCombinationsInCond\n\n"
      << std::endl;

  return nullptr;
}

// return the result for the condition condNameVal
// from algorithm with name algoNameVal
bool GlobalObjectMapRecord::getConditionResult(const std::string& algoNameVal, const std::string& condNameVal) const {
  for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
       ++itObj) {
    if (itObj->algoName() == algoNameVal) {
      return itObj->getConditionResult(condNameVal);
    }
  }

  // no (algoName, condName) found, return false!
  edm::LogError("GlobalObjectMapRecord") << "\n\n  ERROR: The requested \n    (algorithm name, condition name) = ("
                                         << algoNameVal << ", " << condNameVal
                                         << ") \n  does not exists in the trigger menu."
                                         << "\n  Returning false for condition result! Unknown result, in fact!\n\n"
                                         << std::endl;

  return false;
}

// return the result for the condition condNameVal
// from algorithm with bit number algoBitNumberVal
bool GlobalObjectMapRecord::getConditionResult(const int algoBitNumberVal, const std::string& condNameVal) const {
  for (std::vector<GlobalObjectMap>::const_iterator itObj = m_gtObjectMap.begin(); itObj != m_gtObjectMap.end();
       ++itObj) {
    if (itObj->algoBitNumber() == algoBitNumberVal) {
      return itObj->getConditionResult(condNameVal);
    }
  }

  // no (algoBitNumber, condName) found, return false!
  edm::LogError("GlobalObjectMapRecord")
      << "\n\n  ERROR: The requested \n    (algorithm bit number, condition name) = (" << algoBitNumberVal << ", "
      << condNameVal << ") \n  does not exists in the trigger menu."
      << "\n  Returning false for condition result! Unknown result, in fact!\n\n"
      << std::endl;

  return false;
}