CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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

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

Definition at line 70 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().

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