ATLAS Offline Software
KalmanMETCorrectionConstants.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 // KalmanMETCorrectionConstants.h
5 // TopoCore
6 // Created by Ralf Gugel on 04/11/24.
7 
8 #ifndef __TopoCore__KalmanMETCorrectionConstants__
9 #define __TopoCore__KalmanMETCorrectionConstants__
10 
11 #include <map>
12 
13 namespace TCS {
14  namespace KFMET {
15  // Number of menu-defined words needed for the compactified representation of the KFMET LUT values
16  constexpr size_t nWeightWords {49};
17  // Number of eta bins for the LUT of the KalmanMETCorrection algorithm (including one excess bin for jets not in any valid eta range)
18  constexpr unsigned nEtaBins {30};
19  // Number of Et bins for the LUT of the KalmanMETCorrection algorithm.
20  constexpr unsigned nLogEtBins {6};
21  // Bit width for the correction factors of the KalmanMETCorrection algorithm
22  constexpr unsigned correctionDecimalBitWidth {7}; // 1 sign bit, 1 integer bit
23  constexpr unsigned correctionBitWidth {9};
24  // ignore LSBs below this bit in determining logET bin
25  constexpr int jetEtBinOffset {5};
26  // large-ish lookup table mapping Topo-internal eta coordinates to eta bin indices in the 2D KFMET LUT
27  // while the former is also hardcoded in firmware, the latter is menu-configurable
28  constexpr size_t lookupEtaBinFallback {nEtaBins-1};
29  const std::map<unsigned, size_t> lookupEtaBin {
30  {0 , 0},
31  {1 , 0},
32  {2 , 0},
33  {3 , 0},
34  {4 , 1},
35  {5 , 1},
36  {6 , 1},
37  {7 , 1},
38  {8 , 2},
39  {9 , 2},
40  {10 , 2},
41  {11 , 2},
42  {12 , 3},
43  {13 , 3},
44  {14 , 3},
45  {15 , 3},
46  {16 , 4},
47  {17 , 4},
48  {18 , 4},
49  {19 , 4},
50  {20 , 5},
51  {21 , 5},
52  {22 , 5},
53  {23 , 5},
54  {24 , 6},
55  {25 , 6},
56  {26 , 6},
57  {27 , 6},
58  {28 , 7},
59  {29 , 7},
60  {30 , 7},
61  {31 , 7},
62  {32 , 8},
63  {33 , 8},
64  {34 , 8},
65  {35 , 8},
66  {36 , 9},
67  {37 , 9},
68  {38 , 9},
69  {39 , 9},
70  {40 , 10},
71  {41 , 10},
72  {42 , 10},
73  {43 , 10},
74  {44 , 11},
75  {45 , 11},
76  {46 , 11},
77  {47 , 11},
78  {48 , 12},
79  {49 , 12},
80  {50 , 12},
81  {51 , 12},
82  {52 , 13},
83  {53 , 13},
84  {54 , 13},
85  {55 , 13},
86  {56 , 14},
87  {57 , 14},
88  {58 , 14},
89  {59 , 14},
90  {60 , 15},
91  {61 , 15},
92  {62 , 15},
93  {63 , 15},
94  {64 , 16},
95  {65 , 16},
96  {66 , 16},
97  {67 , 16},
98  {68 , 17},
99  {69 , 17},
100  {70 , 17},
101  {71 , 17},
102  {72 , 18},
103  {73 , 18},
104  {74 , 18},
105  {75 , 18},
106  {76 , 19},
107  {77 , 19},
108  {78 , 19},
109  {79 , 19},
110  {80 , 20},
111  {81 , 20},
112  {82 , 20},
113  {83 , 20},
114  {84 , 21},
115  {85 , 21},
116  {86 , 21},
117  {87 , 21},
118  {88 , 22},
119  {89 , 22},
120  {90 , 22},
121  {91 , 22},
122  {92 , 23},
123  {93 , 23},
124  {94 , 23},
125  {95 , 23},
126  {96 , 24},
127  {97 , 24},
128  {98 , 24},
129  {99 , 24},
130  {100 , 25},
131  {101 , 25},
132  {102 , 25},
133  {103 , 25},
134  {104 , 25},
135  {105 , 25},
136  {106 , 25},
137  {107 , 25},
138  {108 , 26},
139  {109 , 26},
140  {110 , 26},
141  {111 , 26},
142  {112 , 26},
143  {113 , 26},
144  {114 , 26},
145  {115 , 26},
146  {116 , 27},
147  {117 , 27},
148  {118 , 27},
149  {119 , 27},
150  {120 , 27},
151  {121 , 27},
152  {122 , 27},
153  {123 , 27},
154  {124 , 27},
155  {125 , 27},
156  {126 , 27},
157  {127 , 27},
158  {128 , 28},
159  {129 , 28},
160  {130 , 28},
161  {131 , 28},
162  {132 , 28},
163  {133 , 28},
164  {134 , 28},
165  {135 , 28},
166  {136 , 28},
167  {137 , 28},
168  {138 , 28},
169  {139 , 28},
170  {140 , 28},
171  {141 , 28},
172  {142 , 28},
173  {143 , 28},
174  {144 , 28},
175  {145 , 28},
176  {146 , 28},
177  {147 , 28},
178  {148 , 28},
179  {149 , 28},
180  {150 , 28},
181  {151 , 28},
182  {152 , 28},
183  {153 , 28},
184  {154 , 28},
185  {155 , 28},
186  {156 , 28},
187  {157 , 28},
188  {158 , 28},
189  {159 , 28},
190  {160 , 28},
191  {161 , 28},
192  {162 , 28},
193  {163 , 28},
194  {164 , 28},
195  {165 , 28},
196  {166 , 28},
197  {167 , 28},
198  {168 , 28},
199  {169 , 28},
200  {170 , 28},
201  {171 , 28},
202  {172 , 28},
203  {173 , 28},
204  {174 , 28},
205  {175 , 28},
206  {176 , 28},
207  {177 , 28},
208  {178 , 28},
209  {179 , 28},
210  {180 , 28},
211  {181 , 28},
212  {182 , 28},
213  {183 , 28},
214  {184 , 28},
215  {185 , 28},
216  {186 , 28},
217  {187 , 28},
218  {188 , 28},
219  {189 , 28},
220  {190 , 28},
221  {191 , 28},
222  {192 , 28},
223  {193 , 28},
224  {194 , 28},
225  {195 , 28}
226  };
227 
228 
229  }
230 }
231 
232 #endif
TCS::KFMET::nEtaBins
constexpr unsigned nEtaBins
Definition: KalmanMETCorrectionConstants.h:18
TCS::KFMET::correctionBitWidth
constexpr unsigned correctionBitWidth
Definition: KalmanMETCorrectionConstants.h:23
TCS::KFMET::nLogEtBins
constexpr unsigned nLogEtBins
Definition: KalmanMETCorrectionConstants.h:20
TCS::KFMET::correctionDecimalBitWidth
constexpr unsigned correctionDecimalBitWidth
Definition: KalmanMETCorrectionConstants.h:22
TCS::KFMET::lookupEtaBinFallback
constexpr size_t lookupEtaBinFallback
Definition: KalmanMETCorrectionConstants.h:28
TCS::KFMET::lookupEtaBin
const std::map< unsigned, size_t > lookupEtaBin
Definition: KalmanMETCorrectionConstants.h:29
TCS::KFMET::nWeightWords
constexpr size_t nWeightWords
Definition: KalmanMETCorrectionConstants.h:16
TCS::KFMET::jetEtBinOffset
constexpr int jetEtBinOffset
Definition: KalmanMETCorrectionConstants.h:25
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18