CMS 3D CMS Logo

Classes | Functions
L1GctGlobalHfSumAlgos.h File Reference
#include "L1Trigger/GlobalCaloTrigger/interface/L1GctProcessor.h"
#include "L1Trigger/GlobalCaloTrigger/interface/L1GctJetFinderBase.h"
#include "L1Trigger/GlobalCaloTrigger/interface/L1GctHfEtSumsLut.h"
#include <vector>
#include <map>

Go to the source code of this file.

Classes

class  L1GctGlobalHfSumAlgos
 Emulates the GCT summing and packing of Hf Et sums and tower-over-threshold counts. More...
 

Functions

std::ostream & operator<< (std::ostream &os, const L1GctGlobalHfSumAlgos &fpga)
 

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  os,
const L1GctGlobalHfSumAlgos fpga 
)

Definition at line 66 of file L1GctGlobalHfSumAlgos.cc.

References L1GctProcessor::bxMin(), TauDecayModes::dec, L1GctJetFinderBase::hfTowerSumsType::etSum0, L1GctJetFinderBase::hfTowerSumsType::etSum1, L1GctGlobalHfSumAlgos::hfSumsWord(), L1GctGlobalHfSumAlgos::m_hfInputSumsMinusWheel, L1GctGlobalHfSumAlgos::m_hfInputSumsPlusWheel, L1GctGlobalHfSumAlgos::m_minusWheelJetFpga, L1GctGlobalHfSumAlgos::m_plusWheelJetFpga, L1GctJetFinderBase::hfTowerSumsType::nOverThreshold0, L1GctJetFinderBase::hfTowerSumsType::nOverThreshold1, and L1GctProcessor::numOfBx().

66  {
67  os << "===L1GctGlobalHfSumAlgos===" << std::endl;
68  os << "WheelJetFpga* plus = " << fpga.m_plusWheelJetFpga << std::endl;
69  os << "Plus wheel inputs:" << std::endl;
70  os << "Bit counts ring 1: " << fpga.m_hfInputSumsPlusWheel.nOverThreshold0
71  << ", ring 2: " << fpga.m_hfInputSumsPlusWheel.nOverThreshold1 << std::endl;
72  os << "Et sums ring 1: " << fpga.m_hfInputSumsPlusWheel.etSum0 << ", ring 2: " << fpga.m_hfInputSumsPlusWheel.etSum1
73  << std::endl;
74  os << "WheelJetFpga* minus = " << fpga.m_minusWheelJetFpga << std::endl;
75  os << "Minus wheel inputs:" << std::endl;
76  os << "Bit counts ring 1: " << fpga.m_hfInputSumsMinusWheel.nOverThreshold0
77  << ", ring 2: " << fpga.m_hfInputSumsMinusWheel.nOverThreshold1 << std::endl;
78  os << "Et sums ring 1: " << fpga.m_hfInputSumsMinusWheel.etSum0 << ", ring 2: " << fpga.m_hfInputSumsMinusWheel.etSum1
79  << std::endl;
80 
81  int bxZero = -fpga.bxMin();
82  if (bxZero >= 0 && bxZero < fpga.numOfBx()) {
83  os << "Output word " << std::hex << fpga.hfSumsWord().at(bxZero) << std::dec << std::endl;
84  }
85 
86  return os;
87 }
int numOfBx() const
L1GctWheelJetFpga * m_minusWheelJetFpga
L1GctJetCount< kHfCountBits > nOverThreshold1
hfTowerSumsType m_hfInputSumsPlusWheel
L1GctJetCount< kHfEtSumBits > etSum1
hfTowerSumsType m_hfInputSumsMinusWheel
int bxMin() const
Support for multiple beam crossing operation.
L1GctWheelJetFpga * m_plusWheelJetFpga
L1GctJetCount< kHfCountBits > nOverThreshold0
std::vector< unsigned > hfSumsWord() const
L1GctJetCount< kHfEtSumBits > etSum0