Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:50:32

0001 // Class to store the 96-bit TkJet word for L1 Track Trigger.
0002 // Author: Benjamin Radburn-Smith (September 2022)
0003 
0004 #include "DataFormats/L1Trigger/interface/TkJetWord.h"
0005 
0006 namespace l1t {
0007   TkJetWord::TkJetWord(pt_t pt, glbeta_t eta, glbphi_t phi, z0_t z0, nt_t nt, nx_t nx, tkjetunassigned_t unassigned) {
0008     setTkJetWord(pt, eta, phi, z0, nt, nx, unassigned);
0009   }
0010 
0011   void TkJetWord::setTkJetWord(
0012       pt_t pt, glbeta_t eta, glbphi_t phi, z0_t z0, nt_t nt, nx_t nx, tkjetunassigned_t unassigned) {
0013     // pack the TkJet word
0014     unsigned int offset = 0;
0015     for (unsigned int b = offset; b < (offset + TkJetBitWidths::kPtSize); b++) {
0016       tkJetWord_.set(b, pt[b - offset]);
0017     }
0018     offset += TkJetBitWidths::kPtSize;
0019     for (unsigned int b = offset; b < (offset + TkJetBitWidths::kGlbEtaSize); b++) {
0020       tkJetWord_.set(b, eta[b - offset]);
0021     }
0022     offset += TkJetBitWidths::kGlbEtaSize;
0023     for (unsigned int b = offset; b < (offset + TkJetBitWidths::kGlbPhiSize); b++) {
0024       tkJetWord_.set(b, phi[b - offset]);
0025     }
0026     offset += TkJetBitWidths::kGlbPhiSize;
0027     for (unsigned int b = offset; b < (offset + TkJetBitWidths::kZ0Size); b++) {
0028       tkJetWord_.set(b, z0[b - offset]);
0029     }
0030     offset += TkJetBitWidths::kZ0Size;
0031     for (unsigned int b = offset; b < (offset + TkJetBitWidths::kNtSize); b++) {
0032       tkJetWord_.set(b, nt[b - offset]);
0033     }
0034     offset += TkJetBitWidths::kNtSize;
0035     for (unsigned int b = offset; b < (offset + TkJetBitWidths::kXtSize); b++) {
0036       tkJetWord_.set(b, nx[b - offset]);
0037     }
0038     offset += TkJetBitWidths::kXtSize;
0039     for (unsigned int b = offset; b < (offset + TkJetBitWidths::kUnassignedSize); b++) {
0040       tkJetWord_.set(b, unassigned[b - offset]);
0041     }
0042   }
0043 
0044 }  //namespace l1t