CMS 3D CMS Logo

Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
L1TkHTMissEmulatorProducer.h File Reference
#include <ap_int.h>
#include <cmath>
#include <cstdint>
#include <filesystem>
#include <fstream>
#include <iostream>
#include <numeric>
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "DataFormats/L1Trigger/interface/TkJetWord.h"

Go to the source code of this file.

Classes

struct  l1tmhtemu::EtMiss
 

Namespaces

 l1tmhtemu
 

Typedefs

typedef ap_int< kHTSize > l1tmhtemu::Et_t
 
typedef ap_int< kInternalEtaWidth > l1tmhtemu::eta_t
 
typedef ap_ufixed< kMHTSize, kMHTIntSize > l1tmhtemu::MHT_t
 
typedef ap_uint< kMHTPhiSize > l1tmhtemu::MHTphi_t
 
typedef ap_uint< 5 > l1tmhtemu::ntracks_t
 
typedef ap_int< kInternalPhiWidth > l1tmhtemu::phi_t
 
typedef ap_uint< kInternalPtWidth > l1tmhtemu::pt_t
 

Enumerations

enum  l1tmhtemu::BitLocations {
  l1tmhtemu::kValidLSB = 0, l1tmhtemu::kValidMSB = kValidLSB + kValidSize - 1, l1tmhtemu::kMHTLSB = kValidMSB + 1, l1tmhtemu::kMHTMSB = kMHTLSB + kMHTSize - 1,
  l1tmhtemu::kMHTPhiLSB = kMHTMSB + 1, l1tmhtemu::kMHTPhiMSB = kMHTPhiLSB + kMHTPhiSize - 1, l1tmhtemu::kHTLSB = kMHTPhiMSB + 1, l1tmhtemu::kHTMSB = kHTLSB + kHTSize - 1,
  l1tmhtemu::kUnassignedLSB = kHTMSB + 1, l1tmhtemu::kUnassignedMSB = kUnassignedLSB + kUnassignedSize - 1
}
 

Functions

EtMiss l1tmhtemu::cordicSqrt (Et_t x, Et_t y, int cordicSteps, std::vector< l1tmhtemu::MHTphi_t > atanLUT, std::vector< Et_t > magNormalisationLUT)
 
template<typename T >
T l1tmhtemu::digitizeSignedValue (double value, unsigned int nBits, double lsb)
 
std::vector< MHTphi_t > l1tmhtemu::generateaTanLUT (int cordicSteps)
 
std::vector< phi_t > l1tmhtemu::generateCosLUT (unsigned int size)
 
std::vector< Et_t > l1tmhtemu::generatemagNormalisationLUT (int cordicSteps)
 

Variables

const unsigned int l1tmhtemu::kEtExtra {10}
 
const unsigned int l1tmhtemu::kHTSize {kInternalPtWidth + kEtExtra}
 
const unsigned int l1tmhtemu::kInternalEtaWidth {l1t::TkJetWord::TkJetBitWidths::kGlbEtaSize}
 
const unsigned int l1tmhtemu::kInternalPhiWidth {l1t::TkJetWord::TkJetBitWidths::kGlbPhiSize}
 
const unsigned int l1tmhtemu::kInternalPtWidth {l1t::TkJetWord::TkJetBitWidths::kPtSize}
 
const float l1tmhtemu::kMaxCosLUTPhi {M_PI}
 
const float l1tmhtemu::kMaxMHT {2048}
 
const float l1tmhtemu::kMaxMHTPhi {2 * M_PI}
 
const unsigned int l1tmhtemu::kMHTBins = 1 << kMHTSize
 
const unsigned int l1tmhtemu::kMHTIntSize {11}
 
const unsigned int l1tmhtemu::kMHTPhiBins = 1 << kMHTPhiSize
 
const unsigned int l1tmhtemu::kMHTPhiSize {13}
 
const unsigned int l1tmhtemu::kMHTSize {16}
 
const unsigned int l1tmhtemu::kPhiBins = 1 << kInternalPhiWidth
 
const double l1tmhtemu::kStepEta {M_PI / (720)}
 
const double l1tmhtemu::kStepMHT = (l1tmhtemu::kMaxMHT / l1tmhtemu::kMHTBins)
 
const double l1tmhtemu::kStepMHTPhi = (l1tmhtemu::kMaxMHTPhi / l1tmhtemu::kMHTPhiBins)
 
const double l1tmhtemu::kStepPhi {M_PI / (720)}
 
const double l1tmhtemu::kStepPt {0.25}
 
const unsigned int l1tmhtemu::kUnassignedSize {64 - (kHTSize + kMHTSize + kMHTPhiSize + kValidSize)}
 
const unsigned int l1tmhtemu::kValidSize {1}