Go to the documentation of this file.00001
00002
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTMIAUEtaProLUT_h
00021 #define L1TriggerGlobalMuonTrigger_L1MuGMTMIAUEtaProLUT_h
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLUT.h"
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 class L1MuGMTMIAUEtaProLUT : public L1MuGMTLUT {
00043
00044 public:
00045 enum {MIP_DT, MIP_BRPC, ISO_DT, ISO_BRPC, MIP_CSC, MIP_FRPC, ISO_CSC, ISO_FRPC};
00046
00048 L1MuGMTMIAUEtaProLUT() : L1MuGMTLUT("MIAUEtaPro",
00049 "MIP_DT MIP_BRPC ISO_DT ISO_BRPC MIP_CSC MIP_FRPC ISO_CSC ISO_FRPC",
00050 "eta(6) pt(5) charge(1)",
00051 "eta_sel(10)", 12, false) {
00052 InitParameters();
00053 } ;
00054
00056 virtual ~L1MuGMTMIAUEtaProLUT() {};
00057
00059 unsigned SpecificLookup_eta_sel (int idx, unsigned eta, unsigned pt, unsigned charge) const {
00060 std::vector<unsigned> addr(3);
00061 addr[0] = eta;
00062 addr[1] = pt;
00063 addr[2] = charge;
00064 return Lookup(idx, addr) [0];
00065 };
00066
00068 unsigned SpecificLookup (int idx, unsigned eta, unsigned pt, unsigned charge) const {
00069 std::vector<unsigned> addr(3);
00070 addr[0] = eta;
00071 addr[1] = pt;
00072 addr[2] = charge;
00073 return LookupPacked(idx, addr);
00074 };
00075
00076
00077
00079
00080 virtual unsigned LookupFunctionPacked (int idx, unsigned address) const {
00081 std::vector<unsigned> addr = u2vec(address, m_Inputs);
00082 return TheLookupFunction(idx ,addr[0] ,addr[1] ,addr[2]);
00083
00084 };
00085
00086 private:
00088 void InitParameters();
00089
00091 unsigned TheLookupFunction (int idx, unsigned eta, unsigned pt, unsigned charge) const;
00092
00094 int m_IsolationCellSizeEta;
00095 static float caloEtaBounds[15];
00096 };
00097 #endif
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116