Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:11:26

0001 //-------------------------------------------------
0002 //
0003 //   Class: L1MuGMTLFSortRankPtQLUT
0004 //
0005 //
0006 //
0007 //   Author :
0008 //   H. Sakulin            HEPHY Vienna
0009 //
0010 //   Migrated to CMSSW:
0011 //   I. Mikulec
0012 //
0013 //--------------------------------------------------
0014 
0015 //-----------------------
0016 // This Class's Header --
0017 //-----------------------
0018 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFSortRankPtQLUT.h"
0019 
0020 //---------------
0021 // C++ Headers --
0022 //---------------
0023 
0024 //-------------------------------
0025 // Collaborating Class Headers --
0026 //-------------------------------
0027 
0028 //-------------------
0029 // InitParameters  --
0030 //-------------------
0031 
0032 void L1MuGMTLFSortRankPtQLUT::InitParameters() {}
0033 
0034 //--------------------------------------------------------------------------------
0035 // Sort Rank LUT, Pt-q part
0036 //
0037 // This LUT determines the dependency of the sort rank on Pt and Quality.
0038 // It gives the main contrubution to the over-all sort rank
0039 //
0040 // Inputs:  Pt(5 bit) and Quality(3 bit)
0041 // Outputs: Rank contribution 7-bit
0042 //
0043 //
0044 //--------------------------------------------------------------------------------
0045 
0046 unsigned L1MuGMTLFSortRankPtQLUT::TheLookupFunction(int idx, unsigned q, unsigned pt) const {
0047   // idx is DT, BRPC, CSC, FRPC
0048   // INPUTS:  q(3) pt(5)
0049   // OUTPUTS: rank_ptq(7)
0050   int isRPC = idx % 2;
0051   //  int isFWD = idx / 2;
0052 
0053   unsigned int quality = q;  // DT  has: 1..7
0054   if (isRPC)
0055     quality = q * 2 + 1;  // RPC has: 0,1,2,3
0056   if (idx == 2)
0057     quality = q * 3 - 2;  // CSC has: 1,2,3
0058 
0059   if (quality > 7)
0060     quality = 7;
0061 
0062   unsigned int rank_ptq = 3 * pt + quality * 5;
0063 
0064   if (rank_ptq > 127)
0065     rank_ptq = 127;
0066   return rank_ptq;
0067 }