#include <L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFEtaConvLUT.h>
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. |
this class was automatically generated by L1MuGMTLUT::MakeSubClass()
Definition at line 43 of file L1MuGMTLFEtaConvLUT.h.
anonymous enum |
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] |
void L1MuGMTLFEtaConvLUT::InitParameters | ( | ) | [private] |
Initialize scales, configuration parameters, alignment constants, ...
Definition at line 38 of file L1MuGMTLFEtaConvLUT.cc.
Referenced by L1MuGMTLFEtaConvLUT().
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 }