CMS 3D CMS Logo

DeepTauScaling.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_RecoTau_DeepTauScaling_h
2 #define RecoTauTag_RecoTau_DeepTauScaling_h
3 
4 #include <vector>
5 #include <map>
6 #include <cmath>
7 #include <limits>
8 #include <algorithm>
9 
10 namespace deep_tau {
11  namespace Scaling {
13  enum class FeatureT {
14  TauFlat,
15  GridGlobal,
21  Electron,
22  Muon
23  };
24 
25  struct ScalingParams {
26  std::vector<float> mean_;
27  std::vector<float> std_;
28  std::vector<float> lim_min_;
29  std::vector<float> lim_max_;
30 
31  template <typename T>
32  float scale(T value, int var_index) const {
33  if (std::isfinite(value)) {
34  const float mean = mean_.at(var_index);
35  const float std = std_.at(var_index);
36  const float lim_min = lim_min_.at(var_index);
37  const float lim_max = lim_max_.at(var_index);
38  const float norm_value = (static_cast<float>(value) - mean) / std;
39  return std::clamp(norm_value, lim_min, lim_max);
40  } else
41  return 0.f;
42  };
43  };
44 
45  const std::map<std::pair<FeatureT, bool>, ScalingParams> scalingParamsMap_v2p1 = {
46  {std::make_pair(FeatureT::TauFlat, false),
47  {
48  // mean_
49  {21.49, 20.0, 0.0, 0., 0.6669, 1., 0, 1, 0, 47.78, 0, 9.029,
50  57.59, 0, 0, 0, 1.731, 22.38, -0.0241, 0.0675, 0.7973, 0, 0.0018, 2.26,
51  0, 0.0026, 2.928, 0., 0, 4.717, -0.0003, -0.0009, -0.0022, 0., 0., 0.,
52  0.0052, 0., 1.538, 0, 0., 0, 0., 2.95, 0.0, 0, 0.0042},
53 
54  // std_
55  {9.713,
56  980.0,
57  2.3,
58  3.141592653589793,
59  0.6553,
60  4.2,
61  1,
62  2,
63  2,
64  123.5,
65  1,
66  26.42,
67  155.3,
68  1,
69  1,
70  1,
71  6.846,
72  16.34,
73  0.0074,
74  0.0128,
75  3.456,
76  1,
77  0.0085,
78  4.191,
79  1,
80  0.0114,
81  4.466,
82  0.0190,
83  1,
84  11.78,
85  0.7362,
86  0.7354,
87  1.993,
88  1,
89  1.,
90  1,
91  0.01433,
92  1.,
93  4.401,
94  1,
95  1,
96  1,
97  3.141592653589793,
98  3.927,
99  1.,
100  1.0,
101  0.0323},
102 
103  // lim_min_
104  {-5, 0., -1.0, -1., -5, 0, -inf, 0, 0, -5, -inf, -5, -5, -inf, -inf, -inf,
105  -5, -5, -5, -5, -5, -inf, -5, -5, -inf, -5, -5, -5, -inf, -5, -5, -5,
106  -5, -inf, 0, 0, -5, 0, -5, -inf, 0, -inf, 0, -5, -1.0, -inf, -5},
107 
108  // lim_max_
109  {5, 1., 1.0, 1., 5, 1, inf, 1, 1, 5, inf, 5, 5, inf, inf, inf, 5, 5, 5, 5, 5, inf, 5, 5,
110  inf, 5, 5, 5, inf, 5, 5, 5, 5, inf, 1, 1, 5, 1, 5, inf, 1, inf, 1, 5, 1.0, inf, 5},
111  }}, // end TauFlat
112 
113  {std::make_pair(FeatureT::GridGlobal, false),
114  {
115  // mean_
116  {21.49, 20.0, 0.0, 0},
117  // std_
118  {9.713, 980.0, 2.3, 1},
119  // lim_min_
120  {-5, 0., -1.0, -inf},
121  // lim_max_
122  {5., 1., 1.0, inf},
123  }}, // end GridGlobal
124 
125  {std::make_pair(FeatureT::PfCand_electron, false),
126  {// mean_
127  {0, 0.304, 0.0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0.001, 0, 0.0003, 0, 0, 0., 1.634, 0.001, 24.56, 2.272, 15.18},
128 
129  // std_
130  {1, 1.845, 0.5, 0.5, 7., 1, 1, 1, 10.0, 0.1221, 0.1226,
131  1.024, 0.3411, 0.3385, 1.307, 1, 0.171, 6.45, 1.02, 210.4, 8.439, 3.203},
132 
133  // lim_min_
134  {-inf, -5, -1.0, -1.0, 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
135 
136  // lim_max_
137  {inf, 5, 1.0, 1.0, 1., inf, inf, inf, 1., 5, 5,
138  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5}}}, // end PfCand_electron, is_innner=false
139 
140  {std::make_pair(FeatureT::PfCand_electron, true),
141  {// mean_
142  {0, 0.9792, 0.0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0.001, 0, 0.0003, 0, 0, 0., 1.634, 0.001, 24.56, 2.272, 15.18},
143 
144  // std_
145  {1, 0.5383, 0.1, 0.1, 7., 1, 1, 1, 10.0, 0.1221, 0.1226,
146  1.024, 0.3411, 0.3385, 1.307, 1, 0.171, 6.45, 1.02, 210.4, 8.439, 3.203},
147 
148  // lim_min_
149  {-inf, -5, -1.0, -1.0, 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
150 
151  // lim_max_
152  {inf, 5, 1.0, 1.0, 1., inf, inf, inf, 1., 5, 5,
153  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5}}}, // end PfCand_electron, is_innner=true
154 
155  {std::make_pair(FeatureT::PfCand_gamma, false),
156  {
157  // mean
158  {0, 0.02576, 0.0, 0.0, 0, 0, 0, 0, 0, 0., 0., 0.,
159  0., 0.001, 0.0008, 0.0038, 0, 0.0004, 4.271, 0.0071, 162.1, 4.268, 12.25},
160 
161  // std
162  {1, 0.3833, 0.5, 0.5, 7., 3., 1, 1, 1, 7., 0.0067, 0.0069,
163  0.0578, 0.9565, 0.9592, 2.154, 1, 0.882, 63.78, 5.285, 622.4, 15.47, 4.774},
164 
165  // lim_min
166  {-inf, -5, -1.0, -1.0, 0., 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
167 
168  // lim_max
169  {inf, 5, 1.0, 1.0, 1., 1., inf, inf, inf, 1., 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
170 
171  }}, // end PfCand_gamma, is_innner=false
172 
173  {std::make_pair(FeatureT::PfCand_gamma, true),
174  {
175  // mean
176  {0, 0.6048, 0.0, 0.0, 0, 0, 0, 0, 0, 0., 0., 0.,
177  0., 0.001, 0.0008, 0.0038, 0, 0.0004, 4.271, 0.0071, 162.1, 4.268, 12.25},
178 
179  // std
180  {1, 1.669, 0.1, 0.1, 7., 3., 1, 1, 1, 7., 0.0067, 0.0069,
181  0.0578, 0.9565, 0.9592, 2.154, 1, 0.882, 63.78, 5.285, 622.4, 15.47, 4.774},
182 
183  // lim_min
184  {-inf, -5, -1.0, -1.0, 0., 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
185 
186  // lim_max
187  {inf, 5, 1.0, 1.0, 1., 1., inf, inf, inf, 1., 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
188 
189  }}, // end PfCand_gamma, is_innner=true
190 
191  {std::make_pair(FeatureT::Electron, false),
192  {
193  // mean
194  {0, 0.5111, 0.0, 0.0, 0, 1.729, 0.1439, 1.794, 1.531, 1.531, 0.7735, 0.7735, 1.625,
195  1.993, 70.25, 2.432, 2.034, 6.64, 4.183, 0., -0.0001, -0.0001, 0.0002, 0.0001, 0.0004, 0,
196  0, 0.0008, 14.04, 0.0099, 3.049, 16.52, 1.355, 5.046, 0, 2.411, 15.16},
197 
198  // std
199  {1, 2.765, 0.5, 0.5, 1, 1.644, 0.3284, 2.079, 1.424, 1.424, 0.935, 0.935, 1.581,
200  1.308, 58.16, 15.13, 13.96, 36.8, 20.63, 0.0363, 0.0512, 0.0541, 0.0553, 0.0523, 0.0777, 1,
201  1, 0.0052, 69.48, 0.0851, 10.39, 2.806, 16.81, 3.119, 1, 6.98, 5.26},
202 
203  // lim_min
204  {-inf, -5, -1.0, -1.0, -inf, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
205  -5, -5, -5, -5, -5, -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
206 
207  // lim_max
208  {inf, 5, 1.0, 1.0, inf, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
209  5, 5, 5, 5, 5, 5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
210  }}, // end Electron, is_innner=false
211 
212  {std::make_pair(FeatureT::Electron, true),
213  {
214  // mean
215  {0, 1.067, 0.0, 0.0, 0, 1.729, 0.1439, 1.794, 1.531, 1.531, 0.7735, 0.7735, 1.625,
216  1.993, 70.25, 2.432, 2.034, 6.64, 4.183, 0., -0.0001, -0.0001, 0.0002, 0.0001, 0.0004, 0,
217  0, 0.0008, 14.04, 0.0099, 3.049, 16.52, 1.355, 5.046, 0, 2.411, 15.16},
218 
219  // std
220  {1, 1.521, 0.1, 0.1, 1, 1.644, 0.3284, 2.079, 1.424, 1.424, 0.935, 0.935, 1.581,
221  1.308, 58.16, 15.13, 13.96, 36.8, 20.63, 0.0363, 0.0512, 0.0541, 0.0553, 0.0523, 0.0777, 1,
222  1, 0.0052, 69.48, 0.0851, 10.39, 2.806, 16.81, 3.119, 1, 6.98, 5.26},
223 
224  // lim_min
225  {-inf, -5, -1.0, -1.0, -inf, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
226  -5, -5, -5, -5, -5, -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
227 
228  // lim_max
229  {inf, 5, 1.0, 1.0, inf, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
230  5, 5, 5, 5, 5, 5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
231  }}, // end Electron, is_innner=true
232 
233  {std::make_pair(FeatureT::PfCand_muon, false),
234  {
235  // mean
236  {0, 0.0861, 0.0, 0.0, 0, 0, 0, 0, 0, 0., -0.0007, 0.0001,
237  -0.0117, -0.0001, 0.0004, -0.0118, 0, -0.0045, 4.575, -0.0117, 80.37, 0.69, 17.5},
238 
239  // std
240  {1, 0.4065, 0.5, 0.5, 7., 3., 1., 1., 1., 11., 0.6869, 0.6784,
241  4.097, 0.8642, 0.8561, 4.405, 1, 0.9655, 42.36, 4.097, 343.3, 1.711, 5.11},
242 
243  // lim_min
244  {-inf, -5, -1.0, -1.0, 0., 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
245 
246  // lim_max
247  {inf, 5, 1.0, 1.0, 1., 1., inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
248 
249  }}, // end PfCand_muon, is_innner=false
250 
251  {std::make_pair(FeatureT::PfCand_muon, true),
252  {
253  // mean
254  {0, 0.9509, 0.0, 0.0, 0, 0, 0, 0, 0, 0., -0.0007, 0.0001,
255  -0.0117, -0.0001, 0.0004, -0.0118, 0, -0.0045, 4.575, -0.0117, 80.37, 0.69, 17.5},
256 
257  // std
258  {1, 0.4294, 0.1, 0.1, 7., 3., 1., 1., 1., 11., 0.6869, 0.6784,
259  4.097, 0.8642, 0.8561, 4.405, 1, 0.9655, 42.36, 4.097, 343.3, 1.711, 5.11},
260 
261  // lim_min
262  {-inf, -5, -1.0, -1.0, 0., 0., -inf, -inf, -inf, 0., -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
263 
264  // lim_max
265  {inf, 5, 1.0, 1.0, 1., 1., inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
266 
267  }}, // end PfCand_muon, is_innner=true
268 
269  {std::make_pair(FeatureT::Muon, false),
270  {
271  // mean
272  {0, 0.2678, 0.0, 0.0, 0.0019, 8.98, 0, 21.52, 21.84, 0, 0, 0, 0.2273, 0., 0., 0., 0., 0., 0.,
273  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.},
274 
275  // std
276  {1, 3.592, 0.5, 0.5, 1.039, 71.17, 1, 265.8, 10.59, 1, 1, 1, 0.4865,
277  2.0, 2.0, 2.0, 2.0, 6.0, 2.0, 2.0, 2.0, 7., 6.0, 4.0, 4.0, 12.0,
278  12.0, 12.0, 8.0, 24.0, 12.0, 12.0, 12.0, 4.0, 4.0, 2.0, 2.0},
279 
280  // lim_min
281  {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5, 0., 0., 0., 0., 0., 0.,
282  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.},
283 
284  // lim_max
285  {inf, 5, 1.0, 1.0, 5, 5, inf, 5, 5, inf, inf, inf, 5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
286  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
287 
288  }}, // end Muon, is_innner=false
289 
290  {std::make_pair(FeatureT::Muon, true),
291  {
292  // mean
293  {0, 0.7966, 0.0, 0.0, 0.0019, 8.98, 0, 21.52, 21.84, 0, 0, 0, 0.2273, 0., 0., 0., 0., 0., 0.,
294  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.},
295 
296  // std
297  {1, 3.402, 0.1, 0.1, 1.039, 71.17, 1, 265.8, 10.59, 1, 1, 1, 0.4865,
298  2.0, 2.0, 2.0, 2.0, 6.0, 2.0, 2.0, 2.0, 7., 6.0, 4.0, 4.0, 12.0,
299  12.0, 12.0, 8.0, 24.0, 12.0, 12.0, 12.0, 4.0, 4.0, 2.0, 2.0},
300 
301  // lim_min
302  {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5, 0., 0., 0., 0., 0., 0.,
303  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.},
304 
305  // lim_max
306  {inf, 5, 1.0, 1.0, 5, 5, inf, 5, 5, inf, inf, inf, 5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
307  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
308 
309  }}, // end Muon, is_innner=true
310 
311  {std::make_pair(FeatureT::PfCand_chHad, false),
312  {
313  // mean
314  {0, 0.0194, 0.0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0., 0.0005, -0.0008,
315  -0.0201, -0.0014, 0.0022, -0.0138, 0, -0.012, 6.417, -0.0246, 301.3, 0.7876, 13.92, 0, 0.},
316 
317  // std
318  {1, 0.1865, 0.5, 0.5, 1, 7, 3, 1, 1, 1, 1, 12.0, 1.735, 1.752,
319  8.333, 1.93, 1.948, 8.622, 1, 2.386, 36.28, 7.618, 491.1, 3.694, 6.581, 1, 2.6},
320 
321  // lim_min
322  {-inf, -5, -1.0, -1.0, -inf, 0., 0., -inf, -inf, -inf, -inf, 0., -5, -5,
323  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5, -inf, 0.},
324 
325  // lim_max
326  {inf, 5, 1.0, 1.0, inf, 1., 1., inf, inf, inf, inf, 1.0, 5, 5,
327  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5, inf, 1.0},
328  }}, // end PfCand_chHad, is_innner=false
329 
330  {std::make_pair(FeatureT::PfCand_chHad, true),
331  {
332  // mean
333  {0, 0.2564, 0.0, 0.0, 0, 0, 0, 0, 0, 0, 0, 0., 0.0005, -0.0008,
334  -0.0201, -0.0014, 0.0022, -0.0138, 0, -0.012, 6.417, -0.0246, 301.3, 0.7876, 13.92, 0, 0.},
335 
336  // std
337  {1, 0.8607, 0.1, 0.1, 1, 7, 3, 1, 1, 1, 1, 12.0, 1.735, 1.752,
338  8.333, 1.93, 1.948, 8.622, 1, 2.386, 36.28, 7.618, 491.1, 3.694, 6.581, 1, 2.6},
339 
340  // lim_min
341  {-inf, -5, -1.0, -1.0, -inf, 0., 0., -inf, -inf, -inf, -inf, 0., -5, -5,
342  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5, -inf, 0.},
343 
344  // lim_max
345  {inf, 5, 1.0, 1.0, inf, 1., 1., inf, inf, inf, inf, 1.0, 5, 5,
346  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5, inf, 1.0},
347  }}, // end PfCand_chHad, is_innner=true
348 
349  {std::make_pair(FeatureT::PfCand_nHad, false),
350  {
351  // mean
352  {0, 0.0502, 0.0, 0.0, 0, 0, 0},
353 
354  // std
355  {1, 0.4266, 0.5, 0.5, 1, 1, 1},
356 
357  // lim_min
358  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
359 
360  // lim_max
361  {inf, 5, 1.0, 1.0, inf, inf, inf},
362 
363  }}, // end PfCand_nHad, is_innner=false
364 
365  {std::make_pair(FeatureT::PfCand_nHad, true),
366  {
367  // mean
368  {0, 0.3163, 0.0, 0.0, 0, 0, 0},
369 
370  // std
371  {1, 0.2769, 0.1, 0.1, 1, 1, 1},
372 
373  // lim_min
374  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
375 
376  // lim_max
377  {inf, 5, 1.0, 1.0, inf, inf, inf},
378 
379  }}, // end PfCand_nHad, is_innner=true
380 
381  }; // end scalingParamsMap_v2p1
382 
383  const std::map<std::pair<FeatureT, bool>, ScalingParams> scalingParamsMap_v2p5 = {
384  {std::make_pair(FeatureT::TauFlat, false),
385  {
386  // mean_
387  {25.0, 510.0, 0.0,
388  0.5762, 1.967, 0,
389  1, 0, 14.32,
390  0, 2.213, 11.36,
391  0, 0, 0,
392  1.202, 22.17, 0,
393  0.002281, 2.392, 0,
394  0.00318, 2.991, 3.212e-05,
395  0, 16.75, -0.0008515,
396  -0.0001629, -0.0007875, -5.564,
397  0.5, 0.5, 0.007766,
398  0.5, 1.672, 0,
399  0.5, 0, 1.5707963267948966,
400  2.256, 0.0, 0,
401  0.0002029},
402 
403  // std_
404  {25.0, 490.0, 2.3,
405  0.5293, 1.133, 1,
406  1, 1, 44.8,
407  1, 6.783, 48.09,
408  1, 1, 1,
409  3.739, 13.68, 1,
410  0.009705, 4.187, 1,
411  0.01452, 4.527, 0.4518,
412  1, 191.7, 0.4016,
413  0.4041, 1.157, 8.72,
414  0.5, 0.5, 0.01834,
415  0.5, 5.058, 1,
416  0.5, 1, 1.5707963267948966,
417  2.943, 1.0, 1,
418  0.03612},
419 
420  // lim_min_
421  {-1.0, -1.0, -1.0, -5, -5, -inf, -inf, -inf, -5, -inf, -5, -5, -inf, -inf, -inf,
422  -5, -5, -inf, -5, -5, -inf, -5, -5, -5, -inf, -5, -5, -5, -5, -5,
423  -1.0, -1.0, -5, -1.0, -5, -inf, -1.0, -inf, -1.0, -5, -1.0, -inf, -5},
424 
425  // lim_max_
426  {1.0, 1.0, 1.0, 5, 5, inf, inf, inf, 5, inf, 5, 5, inf, inf, inf, 5, 5, inf, 5, 5, inf, 5,
427  5, 5, inf, 5, 5, 5, 5, 5, 1.0, 1.0, 5, 1.0, 5, inf, 1.0, inf, 1.0, 5, 1.0, inf, 5},
428  }}, // end TauFlat
429 
430  {std::make_pair(FeatureT::GridGlobal, false),
431  {
432  // mean_
433  {
434  25.0,
435  510.0,
436  0.0,
437  0,
438  },
439  // std_
440  {
441  25.0,
442  490.0,
443  2.3,
444  1,
445  },
446  // lim_min_
447  {-1.0, -1.0, -1.0, -inf},
448  // lim_max_
449  {1.0, 1.0, 1.0, inf},
450  }}, // end GridGlobal
451 
452  {std::make_pair(FeatureT::PfCand_electron, false),
453  {// mean_
454  {0, 0.3457, 0.0, 0.0, 0, 0, 0, 0, 5.0, -0.0008022, -2.653e-05,
455  0.00382, 0.002371, 0.0003833, 0.0004431, 0, 0.000397, 3.409, 0.003507, 169.6, 4.561, 12.6},
456 
457  // std_
458  {1, 1.164, 0.5, 0.5, 1, 1, 1, 1, 5.0, 0.4081, 0.4056,
459  3.329, 0.6623, 0.6648, 3.548, 1, 0.5572, 16.07, 3.3, 486.1, 14.8, 3.729},
460 
461  // lim_min_
462  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -1.0, -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
463 
464  // lim_max_
465  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, 1.0, 5, 5,
466  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5}}}, // end PfCand_electron, is_inner=false
467 
468  {std::make_pair(FeatureT::PfCand_electron, true),
469  {// mean_
470  {0, 0.9558, 0.0, 0.0, 0, 0, 0, 0, 5.0, -2.888e-06, 7.215e-06,
471  0.0002156, 0.0002385, 6.221e-05, 0.0003546, 0, 3.333e-05, 1.412, 0.0002181, 21.72, 2.387, 14.73},
472 
473  // std_
474  {1, 0.2323, 0.1, 0.1, 1, 1, 1, 1, 5.0, 0.03703, 0.03682,
475  0.5552, 0.1855, 0.1867, 0.749, 1, 0.05183, 3.111, 0.5551, 230.5, 8.818, 3.125},
476 
477  // lim_min_
478  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -1.0, -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
479 
480  // lim_max_
481  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, 1.0, 5, 5,
482  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5}}}, // end PfCand_electron, is_inner=true
483 
484  {std::make_pair(FeatureT::PfCand_gamma, false),
485  {
486  // mean
487  {0, 0.02024, 0.0, 0.0, 0, 0, 0, 0, 0, 3.5, 2.364e-08, -1.355e-07,
488  5.947e-07, 0.001155, -3.88e-05, 0.001081, 0, 0.003532, 4.09, 0.02207, 175.0, 4.798, 12.18},
489 
490  // std
491  {1, 0.1801, 0.5, 0.5, 1, 1, 1, 1, 1, 3.5, 0.003674, 0.00371,
492  0.02345, 0.4628, 0.4667, 1.057, 1, 1.006, 11.45, 4.517, 546.1, 16.85, 4.741},
493 
494  // lim_min
495  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
496  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
497 
498  // lim_max
499  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
500 
501  }}, // end PfCand_gamma, is_inner=false
502 
503  {std::make_pair(FeatureT::PfCand_gamma, true),
504  {
505  // mean
506  {0, 0.2681, 0.0, 0.0, 0, 0, 0, 0,
507  0, 3.5, -6.701e-06, 4.799e-06, 3.08e-05, 0.0009319, -0.0001133, 0.0007838,
508  0, -0.0003009, 3.826, 0.01115, 114.2, 4.218, 12.27},
509 
510  // std
511  {1, 0.5467, 0.1, 0.1, 1, 1, 1, 1, 1, 3.5, 0.02348, 0.02357,
512  0.2203, 0.4899, 0.4941, 1.284, 1, 0.633, 20.83, 4.191, 439.3, 15.84, 4.562},
513 
514  // lim_min
515  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
516  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
517 
518  // lim_max
519  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
520 
521  }}, // end PfCand_gamma, is_inner=true
522 
523  {std::make_pair(FeatureT::Electron, false),
524  {
525  // mean
526  {0, 0.3827, 0.0, 0.0, 0, 1.37, 0.3215, 1.793, 1.093, 1.093,
527  1.013, 1.013, 1.063, 1.445, 13.07, 3.797, 2.624, 5.68, 2.231, -0.0001921,
528  -0.0009969, -0.0008593, -0.0008999, -0.001147, -0.001182, 0, 0, 0.001218, 31.5, 0.05644,
529  6.344, 14.65, 1.917, 6.866, 0, 1.862, 12.15},
530 
531  // std
532  {1, 1.272, 0.5, 0.5, 1, 8.381, 0.5275, 2.419, 82.69, 82.69, 673.8, 673.8, 5.614,
533  2.021, 27.8, 21.65, 19.0, 41.93, 21.58, 0.1324, 0.1474, 0.1548, 0.1514, 0.1452, 0.1966, 1,
534  1, 0.00775, 82.72, 0.2343, 292.7, 3.103, 229.2, 5.051, 1, 5.64, 5.557},
535 
536  // lim_min
537  {-inf, -5, -1.0, -1.0, -inf, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
538  -5, -5, -5, -5, -5, -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
539 
540  // lim_max
541  {inf, 5, 1.0, 1.0, inf, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
542  5, 5, 5, 5, 5, 5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
543  }}, // end Electron, is_inner=false
544 
545  {std::make_pair(FeatureT::Electron, true),
546  {
547  // mean
548  {0, 0.9372, 0.0, 0.0, 0, 1.654, 0.1878, 2.055, 2.593, 2.593,
549  1.006, 1.006, 1.749, 2.0, 59.55, 1.748, 1.404, 5.054, 3.078, -4.413e-06,
550  -1.477e-05, 9.209e-07, 0.0001262, 8.781e-05, 0.0003861, 0, 0, 0.000632, 15.88, 0.005635,
551  3.163, 16.15, 1.669, 5.276, 0, 2.813, 14.46},
552 
553  // std
554  {1, 0.4817, 0.1, 0.1, 1, 1.104, 0.3595, 2.141, 1183.0, 1183.0, 233.5, 233.5, 88.75,
555  1.278, 44.9, 2.591, 2.199, 14.8, 10.23, 0.0119, 0.02151, 0.02331, 0.03042, 0.03347, 0.05816, 1,
556  1, 0.004139, 50.36, 0.05148, 15.01, 2.752, 431.6, 2.463, 1, 8.186, 5.149},
557 
558  // lim_min
559  {-inf, -5, -1.0, -1.0, -inf, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
560  -5, -5, -5, -5, -5, -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
561 
562  // lim_max
563  {inf, 5, 1.0, 1.0, inf, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
564  5, 5, 5, 5, 5, 5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
565  }}, // end Electron, is_inner=true
566 
567  {std::make_pair(FeatureT::PfCand_muon, false),
568  {
569  // mean
570  {0, 0.142, 0.0, 0.0, 0, 0, 0, 0,
571  0, 5.5, -9.307e-05, -0.0008956, -0.01717, 0.001419, -0.0001845, -0.01638,
572  0, -0.008642, 10.87, -0.01718, 296.6, 0.7838, 17.99},
573 
574  // std
575  {1, 0.618, 0.5, 0.5, 1, 1, 1, 1, 1, 5.5, 1.123, 1.108,
576  6.913, 1.229, 1.216, 7.147, 1, 1.578, 58.34, 6.915, 515.9, 2.933, 6.317},
577 
578  // lim_min
579  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
580  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
581 
582  // lim_max
583  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
584 
585  }}, // end PfCand_muon, is_inner=false
586 
587  {std::make_pair(FeatureT::PfCand_muon, true),
588  {
589  // mean
590  {0, 0.9561, 0.0, 0.0, 0, 0, 0, 0,
591  0, 5.5, -9.493e-06, 2.109e-06, -0.005042, 0.0001233, -1.605e-06, -0.004842,
592  0, -2.842e-05, 1.391, -0.005043, 10.48, 0.5868, 17.11},
593 
594  // std
595  {1, 0.1959, 0.1, 0.1, 1, 1, 1, 1, 1, 5.5, 0.0752, 0.07712,
596  0.8103, 0.2137, 0.2138, 0.9617, 1, 0.1077, 7.796, 0.8103, 155.9, 1.003, 4.29},
597 
598  // lim_min
599  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
600  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
601 
602  // lim_max
603  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
604 
605  }}, // end PfCand_muon, is_inner=true
606 
607  {std::make_pair(FeatureT::Muon, false),
608  {
609  // mean
610  {0, 0.3645, 0.0, 0.0, 0.00344, 17.54, 0, 24.78, 17.92, 0, 0, 0, 0.3221,
611  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
612  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
613 
614  // std
615  {1, 85.0, 0.5, 0.5, 1.557, 97.45, 1, 2022.0, 6.573, 1, 1, 1, 0.6166,
616  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
617  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
618 
619  // lim_min
620  {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5,
621  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
622  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
623 
624  // lim_max
625  {inf, 5, 1.0, 1.0, 5, 5, inf, 5, 5, inf, inf, inf, 5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
626  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
627 
628  }}, // end Muon, is_inner=false
629 
630  {std::make_pair(FeatureT::Muon, true),
631  {
632  // mean
633  {0, 1.033, 0.0, 0.0, 0.001217, 5.403, 0, 7.2, 18.58, 0, 0, 0, 0.09762,
634  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
635  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
636 
637  // std
638  {1, 65.51, 0.1, 0.1, 0.2033, 36.07, 1, 263.3, 5.019, 1, 1, 1, 0.3956,
639  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
640  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
641 
642  // lim_min
643  {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5,
644  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
645  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
646 
647  // lim_max
648  {inf, 5, 1.0, 1.0, 5, 5, inf, 5, 5, inf, inf, inf, 5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
649  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
650 
651  }}, // end Muon, is_inner=true
652 
653  {std::make_pair(FeatureT::PfCand_chHad, false),
654  {
655  // mean
656  {0, 0.02191, 0.0, 0.0, 0, 0, 0, 0, 0,
657  0, 0, 6.0, 0.00106, -0.001523, -0.008181, 0.004498, 4.287e-06, -0.007022,
658  0, -0.01495, 6.04, -0.01381, 323.5, 0.753, 13.6, 0, 1.3},
659 
660  // std
661  {1, 0.08964, 0.5, 0.5, 1, 1, 1, 1, 1, 1, 1, 6.0, 1.732, 1.741,
662  8.372, 1.783, 1.792, 8.447, 1, 2.481, 33.16, 8.026, 443.9, 3.439, 6.624, 1, 1.3},
663 
664  // lim_min
665  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
666  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5, -inf, -1.0},
667 
668  // lim_max
669  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5, 5,
670  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5, inf, 1.0},
671  }}, // end PfCand_chHad, is_inner=false
672 
673  {std::make_pair(FeatureT::PfCand_chHad, true),
674  {
675  // mean
676  {0, 0.2482, 0.0, 0.0, 0, 0, 0, 0, 0,
677  0, 0, 6.0, 0.0003524, -0.0003693, -0.002133, 0.003532, 0.000612, -0.0003197,
678  0, -0.001701, 4.04, -0.002282, 61.12, 0.9004, 14.73, 0, 1.3},
679 
680  // std
681  {1, 0.3601, 0.1, 0.1, 1, 1, 1, 1, 1, 1, 1, 6.0, 0.8533, 0.8569,
682  4.132, 1.033, 1.039, 4.436, 1, 1.001, 16.62, 3.254, 244.4, 4.37, 5.599, 1, 1.3},
683 
684  // lim_min
685  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
686  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5, -inf, -1.0},
687 
688  // lim_max
689  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5, 5,
690  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5, inf, 1.0},
691  }}, // end PfCand_chHad, is_inner=true
692 
693  {std::make_pair(FeatureT::PfCand_nHad, false),
694  {
695  // mean
696  {0, 0.05398, 0.0, 0.0, 0, 0, 0},
697 
698  // std
699  {1, 0.2929, 0.5, 0.5, 1, 1, 1},
700 
701  // lim_min
702  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
703 
704  // lim_max
705  {inf, 5, 1.0, 1.0, inf, inf, inf},
706 
707  }}, // end PfCand_nHad, is_inner=false
708 
709  {std::make_pair(FeatureT::PfCand_nHad, true),
710  {
711  // mean
712  {0, 0.2553, 0.0, 0.0, 0, 0, 0},
713 
714  // std
715  {1, 0.2687, 0.1, 0.1, 1, 1, 1},
716 
717  // lim_min
718  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
719 
720  // lim_max
721  {inf, 5, 1.0, 1.0, inf, inf, inf},
722 
723  }}, // end PfCand_nHad, is_inner=true
724 
725  }; // end scalingParamsMap_v2p5
726 
727  const std::map<std::pair<FeatureT, bool>, ScalingParams> scalingParamsMap_PhaseIIv2p5 = {
728  {std::make_pair(FeatureT::TauFlat, false),
729  {
730  // mean_
731  {100.0, 510.0, 0.0,
732  0.5718, 2.181, 0,
733  1, 0, 14.32,
734  0, 2.243, 12.67,
735  0, 0, 0,
736  0.4827, 101.3, 0,
737  0.001571, 3.935, 0,
738  0.002075, 4.328, 0.001592,
739  0, 93.74, 0.0003602,
740  -1.718e-05, -0.001134, -2.712,
741  0.5, 0.5, 0.007457,
742  0.5, 1.072, 0,
743  0.5, 0, 1.5707963267948966,
744  4.13, 0.0, 0,
745  -0.0008631},
746 
747  // std_
748  {100.0, 490.0, 3.0,
749  0.5081, 1.593, 1,
750  1, 1, 41.7,
751  1, 6.779, 39.88,
752  1, 1, 1,
753  2.298, 32.93, 1,
754  0.008156, 8.897, 1,
755  0.01112, 8.502, 0.8673,
756  1, 862.9, 0.3587,
757  0.3585, 1.599, 19.88,
758  0.5, 0.5, 0.01698,
759  0.5, 0.5388, 1,
760  0.5, 1, 1.5707963267948966,
761  3.313, 1.0, 1,
762  0.9046},
763 
764  // lim_min_
765  {-1.0, -1.0, -1.0, -5, -5, -inf, -inf, -inf, -5, -inf, -5, -5, -inf, -inf, -inf,
766  -5, -5, -inf, -5, -5, -inf, -5, -5, -5, -inf, -5, -5, -5, -5, -5,
767  -1.0, -1.0, -5, -1.0, -5, -inf, -1.0, -inf, -1.0, -5, -1.0, -inf, -5},
768 
769  // lim_max_
770  {1.0, 1.0, 1.0, 5, 5, inf, inf, inf, 5, inf, 5, 5, inf, inf, inf, 5, 5, inf, 5, 5, inf, 5,
771  5, 5, inf, 5, 5, 5, 5, 5, 1.0, 1.0, 5, 1.0, 5, inf, 1.0, inf, 1.0, 5, 1.0, inf, 5},
772  }}, // end TauFlat
773 
774  {std::make_pair(FeatureT::GridGlobal, false),
775  {
776  // mean_
777  {100.0, 510.0, 0.0, 0},
778  // std_
779  {100.0, 490.0, 3.0, 1},
780  // lim_min_
781  {-1.0, -1.0, -1.0, -inf},
782  // lim_max_
783  {1.0, 1.0, 1.0, inf},
784  }}, // end GridGlobal
785 
786  {std::make_pair(FeatureT::PfCand_electron, false),
787  {
788  // mean_
789  {0, 0.1106, 0.0, 0.0, 0, 0, 0, 0, 7.5, -0.000121, 5.664e-06,
790  0.002146, -0.001255, -0.0001182, 0.003788, 0, 0.0008399, 6.696, 0.02434, 827.1, 2.902, 11.96},
791 
792  // std_
793  {1, 1.069, 0.5, 0.5, 1, 1, 1, 1, 7.5, 0.11, 0.1115,
794  5.572, 0.4267, 0.4208, 6.163, 1, 0.09652, 10.57, 5.509, 1507.0, 11.02, 6.747},
795 
796  // lim_min_
797  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -1.0, -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
798 
799  // lim_max_
800  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
801  }}, // end PfCand_electron, is_inner=false
802 
803  {std::make_pair(FeatureT::PfCand_electron, true),
804  {
805  // mean_
806  {0, 0.8424, 0.0, 0.0, 0, 0, 0, 0, 7.5, -1.594e-05, -1.615e-05,
807  0.001503, -0.0001738, -0.00201, 0.008298, 0, 3.245e-05, 2.908, 0.001685, 105.5, 1.305, 11.81},
808 
809  // std_
810  {1, 0.6145, 0.1, 0.1, 1, 1, 1, 1, 7.5, 0.01716, 0.01745,
811  1.209, 0.5551, 0.5364, 3.608, 1, 0.02022, 6.137, 1.189, 877.8, 5.948, 6.481},
812 
813  // lim_min_
814  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -1.0, -5, -5, -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
815 
816  // lim_max_
817  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
818  }}, // end PfCand_electron, is_inner=true
819 
820  {std::make_pair(FeatureT::PfCand_gamma, false),
821  {
822  // mean
823  {0, 0.01285, 0.0, 0.0, 0, 0, 0, 0, 0, 3.5, 4.308e-06, 1.919e-06,
824  -0.0005881, -0.0009704, 0.000131, 0.001519, 0, 0.007348, 12.2, 4.698, 3080.0, 32.8, 5.8},
825 
826  // std
827  {1, 0.07524, 0.5, 0.5, 1, 1, 1, 1, 1, 3.5, 0.003429, 0.003318,
828  0.5228, 0.4157, 0.4125, 2.441, 1, 0.03917, 8.802, 5.297, 4449.0, 38.05, 1.6},
829 
830  // lim_min
831  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
832  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
833 
834  // lim_max
835  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
836 
837  }}, // end PfCand_gamma, is_inner=false
838 
839  {std::make_pair(FeatureT::PfCand_gamma, true),
840  {
841  // mean
842  {0, 0.1594, 0.0, 0.0, 0, 0, 0, 0,
843  0, 3.5, 1.295e-05, -8.435e-06, -0.001344, -0.0006508, -0.0004855, 0.004292,
844  0, 0.001246, 7.58, -0.4247, 1903.0, 18.11, 7.873},
845 
846  // std
847  {1, 0.4276, 0.1, 0.1, 1, 1, 1, 1, 1, 3.5, 0.004268, 0.003182,
848  0.6095, 0.3957, 0.394, 2.006, 1, 0.02973, 10.0, 6.273, 3515.0, 39.42, 1.51},
849 
850  // lim_min
851  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
852  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
853 
854  // lim_max
855  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
856 
857  }}, // end PfCand_gamma, is_inner=true
858 
859  {std::make_pair(FeatureT::Electron, false),
860  {
861  // mean
862  {0, 0.3915, 0.0, 0.0, 0, 0.978, 0.4455, 1.803, 2.508, 2.508,
863  1.726, 1.726, 1.957, 2.223, 10.34, 2.985, 1.6, 1.761, 1.041, 0.0001027,
864  -0.0002442, -0.0002209, 5.576e-05, -0.0004276, -0.0004178, 0, 0, 0.0002244, 3.137, 0.01031,
865  52.28, 8.907, 2.1, 7.053, 0, 1.288, 15.6},
866 
867  // std
868  {1, 1.379, 0.5, 0.5, 1, 2.605, 0.6392, 2.079, 102.2, 102.2, 99.4, 99.4, 41.23,
869  1.889, 12.54, 10.94, 9.838, 4.864, 2.771, 0.04308, 0.04422, 0.0429, 0.06296, 0.133, 0.1179, 1,
870  1, 0.001352, 13.06, 0.0315, 1867.0, 1.421, 77.27, 6.956, 1, 1.081, 6.592},
871 
872  // lim_min
873  {-inf, -5, -1.0, -1.0, -inf, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
874  -5, -5, -5, -5, -5, -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
875 
876  // lim_max
877  {inf, 5, 1.0, 1.0, inf, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
878  5, 5, 5, 5, 5, 5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
879  }}, // end Electron, is_inner=false
880 
881  {std::make_pair(FeatureT::Electron, true),
882  {
883  // mean
884  {0, 1.005, 0.0, 0.0, 0, 1.219, 0.1747, 2.046, 2.11, 2.11,
885  1.784, 1.784, 2.07, 2.439, 45.29, 2.077, 1.602, 2.207, 1.535, 6.492e-06,
886  -3.824e-06, -5.448e-06, 4.593e-05, 9.523e-05, 4.193e-05, 0, 0, 0.0002632, 2.268, 0.003118,
887  4.976, 9.803, 1.455, 6.346, 0, 1.241, 15.65},
888 
889  // std
890  {1, 1.014, 0.1, 0.1, 1, 0.5406, 0.3296, 1.92, 20.89, 20.89,
891  23.88, 23.88, 5.072, 1.783, 39.63, 3.758, 3.153, 4.36, 2.753, 0.01403,
892  0.01394, 0.01382, 0.02341, 0.04605, 0.0464, 1, 1, 0.001201, 10.6, 0.004481,
893  35.88, 1.185, 36.29, 3.076, 1, 0.726, 5.13},
894 
895  // lim_min
896  {-inf, -5, -1.0, -1.0, -inf, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
897  -5, -5, -5, -5, -5, -5, -inf, -inf, -5, -5, -5, -5, -5, -5, -5, -inf, -5, -5},
898 
899  // lim_max
900  {inf, 5, 1.0, 1.0, inf, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
901  5, 5, 5, 5, 5, 5, inf, inf, 5, 5, 5, 5, 5, 5, 5, inf, 5, 5},
902  }}, // end Electron, is_inner=true
903 
904  {std::make_pair(FeatureT::PfCand_muon, false),
905  {
906  // mean
907  {0, 0.06569, 0.0, 0.0, 0, 0, 0, 0,
908  0, 5.5, -7.842e-05, -0.0001811, 0.0152, 1.847e-05, -0.002452, 0.01452,
909  0, -0.0003077, 4.264, 0.01624, 652.1, 0.8343, 21.51},
910 
911  // std
912  {1, 0.8174, 0.5, 0.5, 1, 1, 1, 1, 1, 5.5, 0.06539, 0.06323,
913  6.064, 0.4649, 0.4612, 6.464, 1, 0.0908, 25.46, 6.063, 832.1, 0.8017, 5.72},
914 
915  // lim_min
916  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
917  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
918 
919  // lim_max
920  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
921 
922  }}, // end PfCand_muon, is_inner=false
923 
924  {std::make_pair(FeatureT::PfCand_muon, true),
925  {
926  // mean
927  {0, 0.9535, 0.0, 0.0, 0, 0, 0, 0,
928  0, 5.5, -3.664e-05, 1.199e-05, -0.001638, -0.0003709, 0.0004101, -0.0002903,
929  0, 4.724e-05, 2.692, -0.0007676, 69.4, 0.4363, 18.07},
930 
931  // std
932  {1, 0.6853, 0.1, 0.1, 1, 1, 1, 1, 1, 5.5, 0.02, 0.02026,
933  1.248, 0.188, 0.1894, 1.374, 1, 0.02816, 17.5, 1.248, 742.1, 0.6667, 4.928},
934 
935  // lim_min
936  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
937  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5},
938 
939  // lim_max
940  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, 1.0, 5, 5, 5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5},
941 
942  }}, // end PfCand_muon, is_inner=true
943 
944  {std::make_pair(FeatureT::Muon, false),
945  {
946  // mean
947  {0, 0.1419, 0.0, 0.0, -7.344e-05, 7.819, 0, 35.42, 17.91, 0, 0, 0, 0.05448,
948  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
949  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
950 
951  // std
952  {1, 5.958, 0.5, 0.5, 0.1345, 49.28, 1, 274.6, 5.823, 1, 1, 1, 0.2388,
953  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
954  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
955 
956  // lim_min
957  {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5,
958  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
959  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
960 
961  // lim_max
962  {inf, 5, 1.0, 1.0, 5, 5, inf, 5, 5, inf, inf, inf, 5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
963  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
964 
965  }}, // end Muon, is_inner=false
966 
967  {std::make_pair(FeatureT::Muon, true),
968  {
969  // mean
970  {0, 1.153, 0.0, 0.0, -1.624e-05, 21.24, 0, 15.0, 18.63, 0, 0, 0, 0.05187,
971  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
972  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
973 
974  // std
975  {1, 35.54, 0.1, 0.1, 0.16, 105.2, 1, 269.2, 4.874, 1, 1, 1, 0.2431,
976  1.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 3.5, 3.0, 2.0, 2.0, 6.0,
977  6.0, 6.0, 4.0, 12.0, 6.0, 6.0, 6.0, 2.0, 2.0, 1.0, 1.0},
978 
979  // lim_min
980  {-inf, -5, -1.0, -1.0, -5, -5, -inf, -5, -5, -inf, -inf, -inf, -5,
981  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
982  -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0},
983 
984  // lim_max
985  {inf, 5, 1.0, 1.0, 5, 5, inf, 5, 5, inf, inf, inf, 5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
986  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
987 
988  }}, // end Muon, is_inner=true
989 
990  {std::make_pair(FeatureT::PfCand_chHad, false),
991  {
992  // mean
993  {0, 0.02063, 0.0, 0.0, 0, 0, 0, 0, 0,
994  0, 0, 6.0, 7.994e-06, 1.326e-05, 0.00378, -0.0005101, -2.036e-05, 0.004647,
995  0, 0.0002569, 1.772, 0.004969, 695.1, 0.6393, 15.17, 0, 1.3},
996 
997  // std
998  {1, 0.06009, 0.5, 0.5, 1, 1, 1, 1, 1, 1, 1, 6.0, 0.04616, 0.04631,
999  5.925, 0.3523, 0.3541, 6.099, 1, 0.04398, 5.968, 5.843, 756.6, 0.8879, 6.185, 1, 1.3},
1000 
1001  // lim_min
1002  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
1003  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5, -inf, -1.0},
1004 
1005  // lim_max
1006  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5, 5,
1007  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5, inf, 1.0},
1008  }}, // end PfCand_chHad, is_inner=false
1009 
1010  {std::make_pair(FeatureT::PfCand_chHad, true),
1011  {
1012  // mean
1013  {0, 0.1902, 0.0, 0.0, 0, 0, 0, 0, 0,
1014  0, 0, 6.0, -3.22e-05, 1.892e-05, 0.001798, -0.0005992, 0.0003633, 0.004573,
1015  0, 8.158e-05, 4.518, 0.006913, 287.4, 0.5699, 16.18, 0, 1.3},
1016 
1017  // std
1018  {1, 0.3578, 0.1, 0.1, 1, 1, 1, 1, 1, 1, 1, 6.0, 0.0326, 0.03277,
1019  4.021, 0.413, 0.4153, 4.324, 1, 0.03025, 11.8, 3.547, 728.6, 0.8056, 5.736, 1, 1.3},
1020 
1021  // lim_min
1022  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -1.0, -5, -5,
1023  -5, -5, -5, -5, -inf, -5, -5, -5, -5, -5, -5, -inf, -1.0},
1024 
1025  // lim_max
1026  {inf, 5, 1.0, 1.0, inf, inf, inf, inf, inf, inf, inf, 1.0, 5, 5,
1027  5, 5, 5, 5, inf, 5, 5, 5, 5, 5, 5, inf, 1.0},
1028  }}, // end PfCand_chHad, is_inner=true
1029 
1030  {std::make_pair(FeatureT::PfCand_nHad, false),
1031  {
1032  // mean
1033  {0, 0.01414, 0.0, 0.0, 0, 0, 0},
1034 
1035  // std
1036  {1, 0.05509, 0.5, 0.5, 1, 1, 1},
1037 
1038  // lim_min
1039  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
1040 
1041  // lim_max
1042  {inf, 5, 1.0, 1.0, inf, inf, inf},
1043 
1044  }}, // end PfCand_nHad, is_inner=false
1045 
1046  {std::make_pair(FeatureT::PfCand_nHad, true),
1047  {
1048  // mean
1049  {0, 0.1149, 0.0, 0.0, 0, 0, 0},
1050 
1051  // std
1052  {1, 0.2151, 0.1, 0.1, 1, 1, 1},
1053 
1054  // lim_min
1055  {-inf, -5, -1.0, -1.0, -inf, -inf, -inf},
1056 
1057  // lim_max
1058  {inf, 5, 1.0, 1.0, inf, inf, inf},
1059 
1060  }}, // end PfCand_nHad, is_inner=true
1061 
1062  }; // end scalingParamsMap_PhaseIIv2p5
1063 
1064  }; // namespace Scaling
1065 }; // namespace deep_tau
1066 
1067 #endif
std::vector< float > lim_min_
const std::map< std::pair< FeatureT, bool >, ScalingParams > scalingParamsMap_v2p5
Definition: Muon.py:1
const double infinity
constexpr float inf
Definition: value.py:1
const std::map< std::pair< FeatureT, bool >, ScalingParams > scalingParamsMap_v2p1
std::vector< float > lim_max_
long double T
const std::map< std::pair< FeatureT, bool >, ScalingParams > scalingParamsMap_PhaseIIv2p5
float scale(T value, int var_index) const