CMS 3D CMS Logo

L1MuGMTSortRankUnit Class Reference

L1 Global Muon Trigger Sort Rank Unit. More...

#include <L1Trigger/GlobalMuonTrigger/src/L1MuGMTSortRankUnit.h>

List of all members.

Public Member Functions

 L1MuGMTSortRankUnit ()
 constructor
virtual ~L1MuGMTSortRankUnit ()
 destructor

Static Public Member Functions

static unsigned getVeryLowQualityLevel (const L1MuRegionalCand *)
 Very low quality bits.
static bool isDisabled (const L1MuRegionalCand *)
 Diable bit.
static unsigned sort_rank (const L1MuRegionalCand *)
 Sort Rank Table.


Detailed Description

L1 Global Muon Trigger Sort Rank Unit.

Return sort rank based on look-up-tables.

Definition at line 45 of file L1MuGMTSortRankUnit.h.


Constructor & Destructor Documentation

L1MuGMTSortRankUnit::L1MuGMTSortRankUnit (  ) 

constructor

virtual L1MuGMTSortRankUnit::~L1MuGMTSortRankUnit (  )  [virtual]

destructor


Member Function Documentation

unsigned L1MuGMTSortRankUnit::getVeryLowQualityLevel ( const L1MuRegionalCand muon  )  [static]

Very low quality bits.

Definition at line 75 of file L1MuGMTSortRankUnit.cc.

References L1MuRegionalCand::empty(), eta, L1MuRegionalCand::eta_packed(), L1MuGMTConfig::getLFSortRankEtaQLUT(), L1MuRegionalCand::quality_packed(), L1MuGMTLFSortRankEtaQLUT::SpecificLookup_vlq(), and L1MuRegionalCand::type_idx().

Referenced by L1MuGMTMerger::createDTCSCCand(), and L1MuGMTMerger::createRPCCand().

00075                                                                                  {
00076 
00077   if ( muon == 0 || muon->empty() ) return 0;
00078 
00079   unsigned lut_idx= muon->type_idx();
00080   
00081   // obtain inputs as coded in HW
00082   unsigned eta = muon->eta_packed();
00083   unsigned q = muon->quality_packed();
00084 
00085   // lookup eta-q
00086   L1MuGMTLFSortRankEtaQLUT* etaq_lut = L1MuGMTConfig::getLFSortRankEtaQLUT();
00087   return  etaq_lut->SpecificLookup_vlq (lut_idx, eta, q);
00088 }

bool L1MuGMTSortRankUnit::isDisabled ( const L1MuRegionalCand muon  )  [static]

Diable bit.

Definition at line 90 of file L1MuGMTSortRankUnit.cc.

References L1MuRegionalCand::empty(), eta, L1MuRegionalCand::eta_packed(), L1MuGMTConfig::getLFSortRankEtaPhiLUT(), phi, L1MuRegionalCand::phi_packed(), L1MuGMTLFSortRankEtaPhiLUT::SpecificLookup_rank_etaphi(), and L1MuRegionalCand::type_idx().

Referenced by L1MuGMTMatcher::lookup_mq(), and L1MuGMTMerger::merge().

00090                                                                  {
00091 
00092   if ( muon == 0 || muon->empty() ) return 1;
00093 
00094   unsigned lut_idx= muon->type_idx();
00095   
00096   // obtain inputs as coded in HW
00097   unsigned eta = muon->eta_packed();
00098   unsigned phi = muon->phi_packed();
00099 
00100   // lookup eta-q
00101   L1MuGMTLFSortRankEtaPhiLUT* etaphi_lut = L1MuGMTConfig::getLFSortRankEtaPhiLUT();
00102 
00103   return  etaphi_lut->SpecificLookup_rank_etaphi (lut_idx, eta, phi) == 3;
00104 }

unsigned L1MuGMTSortRankUnit::sort_rank ( const L1MuRegionalCand muon  )  [static]

Sort Rank Table.

Definition at line 44 of file L1MuGMTSortRankUnit.cc.

References L1MuRegionalCand::empty(), eta, L1MuRegionalCand::eta_packed(), L1MuGMTConfig::getLFSortRankCombineLUT(), L1MuGMTConfig::getLFSortRankEtaPhiLUT(), L1MuGMTConfig::getLFSortRankEtaQLUT(), L1MuGMTConfig::getLFSortRankPtQLUT(), phi, L1MuRegionalCand::phi_packed(), L1MuRegionalCand::pt_packed(), L1MuRegionalCand::quality_packed(), L1MuGMTLFSortRankEtaPhiLUT::SpecificLookup_rank_etaphi(), L1MuGMTLFSortRankEtaQLUT::SpecificLookup_rank_etaq(), L1MuGMTLFSortRankPtQLUT::SpecificLookup_rank_ptq(), L1MuGMTLFSortRankCombineLUT::SpecificLookup_sort_rank(), and L1MuRegionalCand::type_idx().

Referenced by L1MuGMTMerger::createDTCSCCand(), L1MuGMTMerger::createMergedCand(), and L1MuGMTMerger::createRPCCand().

00044                                                                     {
00045 
00046   if ( muon == 0 || muon->empty() ) return 0;
00047 
00048   unsigned lut_idx= muon->type_idx();
00049   
00050   // obtain inputs as coded in HW
00051   unsigned eta = muon->eta_packed();
00052   unsigned q = muon->quality_packed();
00053   unsigned pt  = muon->pt_packed();
00054   unsigned phi = muon->phi_packed();
00055 
00056   // lookup eta-q
00057   L1MuGMTLFSortRankEtaQLUT* etaq_lut = L1MuGMTConfig::getLFSortRankEtaQLUT();
00058   unsigned rank_etaq = etaq_lut->SpecificLookup_rank_etaq (lut_idx, eta, q);
00059   
00060   // lookup pt-q
00061   L1MuGMTLFSortRankPtQLUT* ptq_lut = L1MuGMTConfig::getLFSortRankPtQLUT();
00062   unsigned rank_ptq = ptq_lut->SpecificLookup_rank_ptq (lut_idx, q, pt);
00063   
00064   // lookup etaphi
00065   L1MuGMTLFSortRankEtaPhiLUT* etaphi_lut = L1MuGMTConfig::getLFSortRankEtaPhiLUT();
00066   unsigned rank_etaphi = etaphi_lut->SpecificLookup_rank_etaphi (lut_idx, eta, phi);
00067   
00068   // combine
00069   L1MuGMTLFSortRankCombineLUT* combine_lut = L1MuGMTConfig::getLFSortRankCombineLUT();
00070   unsigned rank = combine_lut->SpecificLookup_sort_rank (lut_idx, rank_etaq, rank_ptq, rank_etaphi);
00071 
00072   return rank;
00073 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:26:56 2009 for CMSSW by  doxygen 1.5.4