CMS 3D CMS Logo

L1MuGMTLFEtaConvLUT Class Reference

LFEtaConv look-up table. More...

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

Inheritance diagram for L1MuGMTLFEtaConvLUT:

L1MuGMTLUT

List of all members.

Public Types

enum  { DT, bRPC, CSC, fRPC }

Public Member Functions

 L1MuGMTLFEtaConvLUT ()
 constuctor using function-lookup
virtual unsigned LookupFunctionPacked (int idx, unsigned address) const
 access to lookup function with packed input and output
unsigned SpecificLookup (int idx, unsigned eta_regional) const
 specific lookup function for entire output field
unsigned SpecificLookup_eta_gmt (int idx, unsigned eta_regional) const
 specific lookup function for eta_gmt
virtual ~L1MuGMTLFEtaConvLUT ()
 destructor

Private Member Functions

void InitParameters ()
 Initialize scales, configuration parameters, alignment constants, ...
unsigned TheLookupFunction (int idx, unsigned eta_regional) const
 The lookup function - here the functionality of the LUT is implemented.


Detailed Description

LFEtaConv look-up table.

this class was automatically generated by L1MuGMTLUT::MakeSubClass()

Definition at line 43 of file L1MuGMTLFEtaConvLUT.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
DT 
bRPC 
CSC 
fRPC 

Definition at line 46 of file L1MuGMTLFEtaConvLUT.h.

00046 {DT, bRPC, CSC, fRPC};


Constructor & Destructor Documentation

L1MuGMTLFEtaConvLUT::L1MuGMTLFEtaConvLUT (  )  [inline]

constuctor using function-lookup

Definition at line 49 of file L1MuGMTLFEtaConvLUT.h.

References InitParameters().

00049                         : L1MuGMTLUT("LFEtaConv", 
00050                                        "DT bRPC CSC fRPC",
00051                                        "eta_regional(6)",
00052                                        "eta_gmt(6)", 6, true) {
00053     InitParameters();
00054   } ;

virtual L1MuGMTLFEtaConvLUT::~L1MuGMTLFEtaConvLUT (  )  [inline, virtual]

destructor

Definition at line 57 of file L1MuGMTLFEtaConvLUT.h.

00057 {};


Member Function Documentation

void L1MuGMTLFEtaConvLUT::InitParameters (  )  [private]

Initialize scales, configuration parameters, alignment constants, ...

Definition at line 38 of file L1MuGMTLFEtaConvLUT.cc.

Referenced by L1MuGMTLFEtaConvLUT().

00038                                          {
00039 }

virtual unsigned L1MuGMTLFEtaConvLUT::LookupFunctionPacked ( int  idx,
unsigned  address 
) const [inline, virtual]

access to lookup function with packed input and output

Reimplemented from L1MuGMTLUT.

Definition at line 77 of file L1MuGMTLFEtaConvLUT.h.

References addr, L1MuGMTLUT::m_Inputs, TheLookupFunction(), and L1MuGMTLUT::u2vec().

00077                                                                           {
00078     std::vector<unsigned> addr = u2vec(address, m_Inputs);
00079     return TheLookupFunction(idx ,addr[0]);
00080 
00081   };

unsigned L1MuGMTLFEtaConvLUT::SpecificLookup ( int  idx,
unsigned  eta_regional 
) const [inline]

specific lookup function for entire output field

Definition at line 67 of file L1MuGMTLFEtaConvLUT.h.

References addr, and L1MuGMTLUT::LookupPacked().

00067                                                                  {
00068     std::vector<unsigned> addr(1);
00069     addr[0] = eta_regional;
00070     return LookupPacked(idx, addr);
00071   };

unsigned L1MuGMTLFEtaConvLUT::SpecificLookup_eta_gmt ( int  idx,
unsigned  eta_regional 
) const [inline]

specific lookup function for eta_gmt

Definition at line 60 of file L1MuGMTLFEtaConvLUT.h.

References addr, and L1MuGMTLUT::Lookup().

Referenced by L1MuGMTMerger::convertedEta().

00060                                                                          {
00061     std::vector<unsigned> addr(1);
00062     addr[0] = eta_regional;
00063     return Lookup(idx, addr) [0];
00064   };

unsigned L1MuGMTLFEtaConvLUT::TheLookupFunction ( int  idx,
unsigned  eta_regional 
) const [private]

The lookup function - here the functionality of the LUT is implemented.

Definition at line 48 of file L1MuGMTLFEtaConvLUT.cc.

References L1MuScale::getCenter(), L1MuTriggerScales::getGMTEtaScale(), L1MuScale::getPacked(), L1MuTriggerScales::getRegionalEtaScale(), and L1MuGMTConfig::getTriggerScales().

Referenced by LookupFunctionPacked().

00048                                                                                      {
00049   // idx is DT, bRPC, CSC, fRPC
00050   // INPUTS:  eta_regional(6)
00051   // OUTPUTS: eta_gmt(6) 
00052  
00053   const L1MuTriggerScales* theTriggerScales = L1MuGMTConfig::getTriggerScales();
00054 
00055   int isRPC = idx % 2;
00056   //  int isFWD = idx / 2;
00057   
00058   float etaValue = theTriggerScales->getRegionalEtaScale(idx)->getCenter( eta_regional );
00059 
00060   if ( fabs(etaValue) > 2.4 ) etaValue = 2.39 * ((etaValue)>0?1.:-1.);
00061 
00062   // this is the only trick needed ...
00063   if (isRPC) {
00064     // etaValue() is center. make eta=0 and |eta|=1.3 non-ambiguous, when converting to GMT bins
00065     etaValue += (etaValue>0.01? -1. : 1.) * 0.001;
00066   }
00067   
00068   unsigned eta_gmt = theTriggerScales->getGMTEtaScale()->getPacked( etaValue );
00069 
00070   return eta_gmt;
00071 }


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