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
/**
 * \class L1GtTechnicalTriggerRecord
 * 
 * 
 * Description: technical trigger input record for L1 Global Trigger.  
 *
 * Implementation:
 *    <TODO: enter implementation details>
 *   
 * \author: Vasile Mihai Ghete - HEPHY Vienna
 * 
 *
 */

// this class header
#include "DataFormats/L1GlobalTrigger/interface/L1GtTechnicalTriggerRecord.h"

// system include files

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

// forward declarations

// constructor(s)
L1GtTechnicalTriggerRecord::L1GtTechnicalTriggerRecord() {
  // empty
}

// destructor
L1GtTechnicalTriggerRecord::~L1GtTechnicalTriggerRecord() {
  // empty
}

// methods

// return the technical trigger with ttName and bxInEvent
const L1GtTechnicalTrigger* L1GtTechnicalTriggerRecord::getTechnicalTrigger(const std::string& ttName,
                                                                            const int bxInEventVal) const {
  for (std::vector<L1GtTechnicalTrigger>::const_iterator itObj = m_gtTechnicalTrigger.begin();
       itObj != m_gtTechnicalTrigger.end();
       ++itObj) {
    if ((itObj->gtTechnicalTriggerName() == ttName) && (itObj->bxInEvent() == bxInEventVal)) {
      return &((*itObj));
    }
  }

  // no ttName found, return zero pointer!
  edm::LogError("L1GtTechnicalTriggerRecord") << "\n\n  ERROR: The requested technical trigger name = " << ttName
                                              << " with bxInEvent = " << bxInEventVal << "\n  does not exist."
                                              << "\n  Returning zero pointer for getTechnicalTrigger\n\n"
                                              << std::endl;

  return nullptr;
}

/// return the technical trigger for ttBitNumber and bxInEvent
const L1GtTechnicalTrigger* L1GtTechnicalTriggerRecord::getTechnicalTrigger(const unsigned int ttBitNumber,
                                                                            const int bxInEventVal) const {
  for (std::vector<L1GtTechnicalTrigger>::const_iterator itObj = m_gtTechnicalTrigger.begin();
       itObj != m_gtTechnicalTrigger.end();
       ++itObj) {
    if ((itObj->gtTechnicalTriggerBitNumber() == ttBitNumber) && (itObj->bxInEvent() == bxInEventVal)) {
      return &((*itObj));
    }
  }

  // no ttBitNumber && bxInEventVal found, return zero pointer!
  edm::LogError("L1GtTechnicalTriggerRecord")
      << "\n\n  ERROR: The requested technical trigger with bit number = " << ttBitNumber
      << " and with bxInEvent = " << bxInEventVal << "\n  does not exist."
      << "\n  Returning zero pointer for getTechnicalTrigger\n\n"
      << std::endl;

  return nullptr;
}