-
Notifications
You must be signed in to change notification settings - Fork 0
/
printjet.cc
456 lines (402 loc) · 38 KB
/
printjet.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
#include <cstdio>
#include <cmath>
#include <TFile.h>
#include <TTree.h>
#include <TSystem.h>
namespace {
void q_g_discr_raw(float *jet_multiplicity,
float *jet_multiplicity_charged,
float *jet_multiplicity_neutral,
float *jet_sigma_1, float *jet_sigma_2,
float *jet_ptd, float *jet_pull,
float *jet_fraction_max,
const float *jet_pseudorapidity,
const float *jet_azimuth, const size_t njet,
const int *pf_id, const float *pf_perp,
const float *pf_pseudorapidity,
const float *pf_azimuth, const size_t npf,
const float jet_r)
{
for (size_t i = 0; i < njet; i++) {
jet_multiplicity[i] = 0;
jet_multiplicity_charged[i] = 0;
jet_multiplicity_neutral[i] = 0;
float sum_pf_perp = 0;
float sum_pf_perp_square = 0;
float m11 = 0;
float m22 = 0;
float m12 = 0;
float sum_r_pseudorapidity = 0;
float sum_r_azimuth = 0;
float max_pf_perp = 0;
for (size_t j = 0; j < npf; j++) {
const float dpseudorapidity =
pf_pseudorapidity[j] - jet_pseudorapidity[i];
const float dazimuth = pf_azimuth[j] - jet_azimuth[i];
const float dpseudorapidity_square =
dpseudorapidity * dpseudorapidity;
const float dazimuth_square = dazimuth * dazimuth;
const float dr_square =
dpseudorapidity_square + dazimuth_square;
if (dr_square < jet_r * jet_r) {
const float pf_perp_square =
pf_perp[j] * pf_perp[j];
jet_multiplicity[i]++;
if (pf_id[j] >= 1 && pf_id[j] <= 3) {
jet_multiplicity_charged[i]++;
}
else {
jet_multiplicity_neutral[i]++;
}
sum_pf_perp += pf_perp[j];
sum_pf_perp_square += pf_perp_square;
m11 += pf_perp_square * dpseudorapidity_square;
m22 += pf_perp_square * dazimuth_square;
m12 += -pf_perp_square * dpseudorapidity * dazimuth;
const float dr = sqrt(dr_square);
sum_r_pseudorapidity +=
pf_perp_square * dr * dpseudorapidity;
sum_r_azimuth += pf_perp_square * dr * dazimuth;
max_pf_perp = std::max(max_pf_perp, pf_perp[j]);
}
}
const float b = m11 + m22;
const float c = m11 * m22 - m12 * m12;
const float q = 0.5F * (b + copysign(sqrt(std::max(
0.0F, b * b - 4.0F * c)), b));
// Note that by construction, b >= 0, in Vieta's form,
// lambda_2 = c / q
const float lambda_1 = q;
const float lambda_2 = q == 0 ? 0.0F : c / q;
jet_sigma_1[i] = sum_pf_perp_square > 0 ?
sqrt(std::max(0.0F, lambda_1) / sum_pf_perp_square) :
0;
jet_sigma_2[i] = sum_pf_perp_square > 0 ?
sqrt(std::max(0.0F, lambda_2) / sum_pf_perp_square) :
0;
jet_ptd[i] = sum_pf_perp > 0 ?
sqrt(sum_pf_perp_square) / sum_pf_perp :
0;
jet_pull[i] = sum_pf_perp_square > 0 ?
sqrt(sum_r_pseudorapidity * sum_r_pseudorapidity +
sum_r_azimuth * sum_r_azimuth) /
sum_pf_perp_square :
0;
jet_fraction_max[i] = sum_pf_perp > 0 ?
max_pf_perp / sum_pf_perp : 0;
}
}
void q_g_discr_calib(float *jet_q_g_likelihood,
float *jet_multiplicity,
float *jet_multiplicity_charged,
float *jet_multiplicity_neutral,
float *jet_sigma_1, float *jet_sigma_2,
float *jet_ptd, float *jet_pull,
float *jet_fraction_max,
const float *jet_perp,
const float *jet_pseudorapidity,
const float *jet_azimuth, const size_t njet,
const int *pf_id, const float *pf_perp,
const float *pf_pseudorapidity,
const float *pf_azimuth, const size_t npf,
const float jet_r)
{
q_g_discr_raw(jet_multiplicity, jet_multiplicity_charged,
jet_multiplicity_neutral, jet_sigma_1,
jet_sigma_2, jet_ptd, jet_pull,
jet_fraction_max, jet_pseudorapidity,
jet_azimuth, njet, pf_id, pf_perp,
pf_pseudorapidity, pf_azimuth, npf, jet_r);
const size_t nbin_pseudorapidity = 73 - 8 + 1;
// Calibration data for 2.76 TeV PYTHIA tune Z2
static const float calib_data[73 - 8 + 1][4 * 6 + 2] = {
/* 8 */ { -3.664, -3.489, -1.12107466e+02, -2.17462049e+01, -2.61659935e+00, 4.98918958e-01, 5.71394977e-01, 3.09890035e-01, 3.16512705e+01, 4.91161910e+00, 3.76218033e-01, -1.47049842e-01, -1.04871250e-01, -4.54215624e-02, 1.02712637e+01, 1.58500719e+00, 1.17477639e-01, -4.95214989e-02, -3.46602135e-02, -1.49457800e-02, 4.47952894e+00, 6.90693175e-01, 5.09378395e-02, -2.17148129e-02, -1.51574380e-02, -6.53186456e-03 },
/* 9 */ { -3.489, -3.314, -2.17476015e+01, 1.72478127e+00, 1.27592119e+00, 2.90040016e-01, 8.32533016e-03, -2.67816316e-02, -4.23267972e+00, -4.85821089e-01, 7.63506194e-02, 7.09684153e-02, 2.38397505e-02, 1.90867108e-03, 3.82751331e+01, -1.25772765e+00, -3.05836780e+00, -1.11589677e+00, -1.21337873e-01, 1.36649556e-01, 2.91041528e+01, -2.35153852e+00, -2.26936970e+00, -6.41155789e-01, -3.53963009e-02, 7.71005904e-02 },
/* 10 */ { -3.314, -3.139, 2.26846264e+00, -3.28679461e-01, -2.04152287e-01, -4.95345668e-02, -2.00115529e-03, 5.21282283e-03, -3.36197481e-01, -7.12579034e-02, -1.04064441e-02, 9.35472377e-04, 1.77928768e-03, 1.08695176e-03, -2.37351826e+01, 2.26089468e+00, 1.88197676e+00, 4.85187833e-01, 1.92384900e-02, -5.20978239e-02, -1.35677067e+01, 1.36056691e+00, 1.06808610e+00, 2.70143710e-01, 9.82840261e-03, -2.94708743e-02 },
/* 11 */ { -3.139, -2.964, -2.58584509e+02, 8.84019090e+01, 1.43669147e+01, -3.17215723e+00, -1.47530248e+00, 2.50760321e-01, -1.48101506e+02, 1.25301899e+00, 8.79399656e+00, 3.09376162e+00, 3.58049399e-01, -2.69187718e-01, 3.36113225e+01, 3.18246565e-01, -1.29617907e+00, -4.30701249e-01, -5.21847227e-02, 2.80917357e-02, -7.60728595e+03, 2.69008962e+03, 4.27393629e+02, -1.00318475e+02, -4.91222401e+01, 8.79047145e+00 },
/* 12 */ { -2.964, -2.853, -2.89139514e+00, 3.86755936e-02, 8.65561808e-02, 1.93591466e-02, 4.44772570e-04, -1.61976867e-03, 1.11275766e+01, -1.37763530e+00, -9.07041019e-01, -2.13196561e-01, -1.70307466e-03, 2.72621665e-02, 1.44222911e+01, -1.29702999e+00, -1.04519380e+00, -2.42362605e-01, -3.70834406e-03, 2.41564083e-02, 1.80585342e+01, -1.79665387e+00, -1.14942938e+00, -2.50542572e-01, -4.98368106e-03, 2.40114765e-02 },
/* 13 */ { -2.853, -2.65, -1.10455635e+02, 4.19501001e+01, 5.19026997e+00, -1.65435037e+00, -6.24015905e-01, 1.20543081e-01, -3.97100501e+00, 2.83207207e-01, 2.25579547e-01, 5.34234460e-02, 3.17171621e-03, -3.64153887e-03, -4.44851542e+00, 1.57010203e-01, 2.91014173e-01, 8.76089850e-02, 6.62075164e-03, -7.59522420e-03, -7.15085570e+00, 2.25704211e-01, 4.47361881e-01, 1.39582468e-01, 1.24259308e-02, -1.21185960e-02 },
/* 14 */ { -2.65, -2.5, 1.03305773e+01, -4.85914129e+00, -8.30855428e-01, 2.13500482e-01, 1.09562013e-01, -2.00913239e-02, -7.23369466e+01, 3.01281239e+01, 4.24010602e+00, -1.37770504e+00, -5.85882161e-01, 1.20360814e-01, 3.03723644e+00, -1.26638951e-01, -1.70755016e-01, -4.79280079e-02, -3.21083935e-03, 4.68839775e-03, -2.98259447e+00, -9.30671117e-02, 1.12800246e-01, 4.24963072e-02, 6.08959263e-03, -2.18273231e-03 },
/* 15 */ { -2.5, -2.322, -6.78400379e+00, 1.34060341e+00, 1.41029403e-01, -1.80416311e-02, -5.75687069e-03, 3.66571155e-04, 1.76959521e+03, -1.44042237e+03, 2.66345268e+02, 6.45466032e+01, -2.66898851e+01, 2.37598531e+00, 1.82266273e+03, -1.53821597e+03, 3.42690230e+02, 3.29960877e+01, -2.01323394e+01, 1.84508798e+00, -3.50380906e+01, 1.35166425e+01, 8.71175758e-01, -4.62388114e-01, -9.86435709e-02, 2.17344277e-02 },
/* 16 */ { -2.322, -2.172, 1.79227758e+00, -1.77014912e+00, -1.80260331e-01, 8.45090707e-02, 2.73640048e-02, -5.52949587e-03, -2.00400439e+01, 6.52515547e+00, 1.47997690e+00, -2.11039174e-01, -1.46561693e-01, 2.17453381e-02, -2.94941241e+01, 9.71638194e+00, 1.78059730e+00, -3.56507543e-01, -1.80883439e-01, 3.14773743e-02, -6.18270117e+01, 1.92928395e+01, 3.47465903e+00, -6.45047734e-01, -3.07335555e-01, 4.88307936e-02 },
/* 17 */ { -2.172, -2.043, -1.37028193e+01, 3.90515768e+00, 6.25706173e-01, -1.33885271e-01, -6.08418124e-02, 1.04318517e-02, -6.63278197e+01, 2.40808411e+01, 3.30458084e+00, -8.76729848e-01, -3.32154284e-01, 5.80531394e-02, -3.66863783e+01, 1.39281712e+01, 1.95761275e+00, -5.45432841e-01, -2.22713532e-01, 4.07185853e-02, 6.67422312e+02, -5.23794019e+02, 1.03120336e+02, 1.36127581e+01, -6.45621821e+00, 5.46913332e-01 },
/* 18 */ { -2.043, -1.93, -5.63241321e+00, 1.19026137e+00, 1.55641576e-01, -3.52478620e-02, -1.19478744e-02, 2.08340658e-03, -7.25459863e+00, 2.58134191e+00, 3.30757365e-01, -8.20006124e-02, -2.61001148e-02, 4.87257292e-03, -2.90847779e+01, 9.76933729e+00, 1.89593021e+00, -3.53614474e-01, -1.91018747e-01, 3.09808046e-02, -6.36026666e+01, 2.43503815e+01, 2.84893366e+00, -9.40676497e-01, -3.19960016e-01, 6.18083240e-02 },
/* 19 */ { -1.93, -1.83, -1.80325573e+01, 5.46856776e+00, 8.56337126e-01, -1.95280681e-01, -8.66433866e-02, 1.52288238e-02, -1.43423734e+01, 4.91985239e+00, 7.85125240e-01, -1.43013900e-01, -6.35123699e-02, 8.81296205e-03, -1.23667126e+01, 4.74196298e+00, 7.94474484e-01, -1.79773704e-01, -8.38517883e-02, 1.39234493e-02, -1.06269320e+00, 1.97471892e-01, 6.82019664e-02, 9.76576623e-03, -2.24378147e-04, -6.46926892e-04 },
/* 20 */ { -1.83, -1.74, 6.47733228e+00, -3.12600345e+00, -3.93583572e-01, 1.10492399e-01, 4.22786765e-02, -7.01615658e-03, -2.81226729e+00, 3.05652519e-01, 1.92095424e-01, 4.04732309e-02, 1.03078008e-03, -2.90393240e-03, -4.29047296e+01, 1.51957483e+01, 2.11432469e+00, -5.40568643e-01, -2.07327486e-01, 3.58457518e-02, -4.33156447e+01, 1.56520945e+01, 1.32578805e+00, -4.75020663e-01, -1.27765355e-01, 2.29874793e-02 },
/* 21 */ { -1.74, -1.653, 3.23441812e+01, -2.68635947e+01, 5.10516061e+00, 7.83796527e-01, -3.44103927e-01, 2.89751213e-02, 3.84878587e+02, -2.87428191e+02, 4.99169405e+01, 9.51700132e+00, -3.65985333e+00, 2.88614236e-01, -5.24658959e+01, 1.73240166e+01, 2.77857883e+00, -5.82634538e-01, -2.56605192e-01, 4.13139903e-02, 8.18253121e+00, -2.59933834e+00, -1.53210998e-01, 6.34578012e-02, 1.33390299e-02, -2.21098261e-03 },
/* 22 */ { -1.653, -1.566, -1.68838231e+01, 4.72410318e+00, 6.52127672e-01, -1.44096572e-01, -5.63381052e-02, 9.38723911e-03, -5.36493499e+00, 1.35856711e+00, 3.44889431e-01, -1.12015582e-02, -1.90708429e-02, 1.34681635e-03, -2.76796320e+01, 1.02603657e+01, 1.34465070e+00, -3.89112051e-01, -1.37262467e-01, 2.49041846e-02, 7.98666572e+01, -2.62533092e+01, -3.34784761e+00, 8.24232693e-01, 2.81489009e-01, -4.56568519e-02 },
/* 23 */ { -1.566, -1.479, 7.16753754e+00, -4.25944204e+00, -3.11976407e-02, 1.37679179e-01, 1.94930905e-02, -4.95518978e-03, -9.06539417e+00, 2.63861860e+00, 5.46610526e-01, -5.55308343e-02, -3.94781447e-02, 4.74717681e-03, 3.87456422e+02, -2.96332865e+02, 4.87779021e+01, 1.35942521e+01, -4.96833697e+00, 4.10058220e-01, 3.31092859e+01, -1.32465737e+01, -1.21089867e+00, 4.54926421e-01, 1.31056540e-01, -2.37240816e-02 },
/* 24 */ { -1.479, -1.392, -1.19126811e+01, 2.89070122e+00, 4.45557141e-01, -7.96168485e-02, -3.56097666e-02, 5.66623921e-03, 2.98563323e+02, -2.30381591e+02, 4.15369784e+01, 7.82118177e+00, -3.11665721e+00, 2.51289449e-01, -1.52034896e+02, 1.12294757e+02, -1.86931222e+01, -4.05892218e+00, 1.49175363e+00, -1.17326815e-01, -2.54390268e+02, 2.12602159e+02, -4.73594433e+01, -3.54736119e+00, 2.33788246e+00, -2.05124979e-01 },
/* 25 */ { -1.392, -1.305, -8.75952741e+01, 6.18726541e+01, -1.08109823e+01, -1.69240636e+00, 6.81745609e-01, -5.34578103e-02, -1.38764831e+01, 4.92238859e+00, 5.58375531e-01, -1.47907678e-01, -4.69287324e-02, 7.94831293e-03, -2.55407836e+01, 9.54160613e+00, 1.24410094e+00, -3.48749522e-01, -1.25228838e-01, 2.19456996e-02, -1.25747573e+01, 5.73745882e+00, 2.49168558e-01, -2.07049511e-01, -4.01999463e-02, 9.49698103e-03 },
/* 26 */ { -1.305, -1.218, -1.21751189e+01, 3.27513457e+00, 3.94935786e-01, -9.75052519e-02, -3.38681962e-02, 5.80384131e-03, 1.53880964e+00, -1.20997791e+00, 2.76282774e-02, 8.51878502e-02, 1.47528501e-02, -4.83214196e-03, -1.97549659e+01, 7.01555127e+00, 9.96442854e-01, -2.39470223e-01, -9.85512661e-02, 1.64226227e-02, 4.95549874e+01, -1.82413475e+01, -1.31226519e+00, 5.43102697e-01, 1.26488982e-01, -2.28883716e-02 },
/* 27 */ { -1.218, -1.131, 5.36367560e+01, -4.27075522e+01, 8.12407108e+00, 1.06756656e+00, -4.81383045e-01, 3.93270223e-02, 2.13948535e+02, -1.52795259e+02, 2.49058117e+01, 4.86449789e+00, -1.73063595e+00, 1.28743519e-01, -1.04657674e+01, 4.23465725e+00, 4.76721459e-01, -1.54504666e-01, -4.80227394e-02, 8.52787553e-03, -4.76008600e+00, 1.65826566e+00, 1.43381997e-01, -3.78739917e-02, -9.49032895e-03, 1.42237580e-03 },
/* 28 */ { -1.131, -1.044, -5.30007294e+00, 8.34502194e-01, 1.26739545e-01, -1.80629271e-02, -7.45355206e-03, 1.10227876e-03, -4.44022554e+00, 7.40927010e-01, 2.17861354e-01, 2.27703445e-02, -2.03233060e-03, -1.57909235e-03, -1.83599264e+01, 6.82718849e+00, 7.79416839e-01, -2.30331332e-01, -7.50666645e-02, 1.29060504e-02, 9.26700056e+00, -3.12699045e+00, -1.65748067e-01, 8.44188289e-02, 1.65244122e-02, -3.03628370e-03 },
/* 29 */ { -1.044, -0.957, -5.34024684e+00, 8.24553938e-01, 1.10860360e-01, -1.60992426e-02, -5.78989596e-03, 8.10966010e-04, -9.41197180e+00, 2.89388542e+00, 4.39806058e-01, -6.17900080e-02, -2.75169013e-02, 3.24811065e-03, -1.96964947e+01, 6.47375161e+00, 9.81779701e-01, -2.04811791e-01, -8.22484331e-02, 1.26891057e-02, 3.86856123e+03, -2.97465910e+03, 6.00596447e+02, 5.36915164e+01, -2.92463380e+01, 2.41799656e+00 },
/* 30 */ { -0.957, -0.879, -7.39206991e+00, 1.47057952e+00, 1.59095942e-01, -3.22762283e-02, -9.59371155e-03, 1.42828685e-03, -9.64309551e+00, 3.13327266e+00, 3.99648030e-01, -7.28547387e-02, -2.65401246e-02, 3.58981936e-03, -4.22124617e+01, 1.67611249e+01, 9.19974540e-01, -5.23668914e-01, -1.04933550e-01, 2.11921317e-02, 1.10917226e+01, -3.37391508e+00, -2.71137785e-01, 8.74227103e-02, 2.05134285e-02, -3.30617917e-03 },
/* 31 */ { -0.879, -0.783, -5.71382864e+00, 1.02324754e+00, 1.03818589e-01, -2.36889453e-02, -6.53227961e-03, 1.05698799e-03, 5.42174649e+01, -4.18933062e+01, 8.00971125e+00, 1.06582747e+00, -4.61932207e-01, 3.59399603e-02, -1.97418164e+00, 1.16567717e+00, 1.16880859e-01, -4.75832853e-02, -1.35929536e-02, 2.45811918e-03, -7.40008885e+02, 5.37004132e+02, -9.91322502e+01, -1.08563369e+01, 4.95418489e+00, -3.85795415e-01 },
/* 32 */ { -0.783, -0.696, -1.25731224e+01, 3.40966955e+00, 2.97088094e-01, -9.18987925e-02, -2.42252407e-02, 4.11487772e-03, 8.47506018e+01, -6.68059631e+01, 1.32333630e+01, 1.52892978e+00, -7.17820146e-01, 5.68275626e-02, -1.77157505e+01, 6.76701641e+00, 5.25876716e-01, -2.08760240e-01, -5.16699229e-02, 9.31166597e-03, -2.76537317e+02, 2.05539179e+02, -3.77508654e+01, -4.76037457e+00, 2.05022146e+00, -1.57901159e-01 },
/* 33 */ { -0.696, -0.609, -8.95562609e+00, 2.23469083e+00, 1.88744724e-01, -6.04847322e-02, -1.52597650e-02, 2.65879462e-03, -1.79548416e+02, 1.27209360e+02, -2.18094676e+01, -3.41955083e+00, 1.37315596e+00, -1.08895404e-01, -2.16704961e+01, 6.98613834e+00, 9.90349108e-01, -2.05025646e-01, -7.99056449e-02, 1.20597773e-02, -2.36705392e+02, 1.86307497e+02, -3.78773742e+01, -3.73975280e+00, 1.96538684e+00, -1.62497255e-01 },
/* 34 */ { -0.609, -0.522, -1.37386607e+01, 3.79768698e+00, 3.28939782e-01, -1.02192895e-01, -2.67265893e-02, 4.52321763e-03, 7.90567138e+00, -3.50884161e+00, -8.71975344e-02, 1.41212129e-01, 2.48930131e-02, -6.32276500e-03, 1.64722534e+02, -1.23969750e+02, 2.19273480e+01, 3.98605983e+00, -1.56329583e+00, 1.23476759e-01, -3.40648704e+01, 1.16281827e+01, 1.08310035e+00, -3.46415823e-01, -8.57579800e-02, 1.48623608e-02 },
/* 35 */ { -0.522, -0.435, -1.62031342e+01, 4.74378705e+00, 3.96313082e-01, -1.33086426e-01, -3.43347129e-02, 5.97994046e-03, 5.53598528e+00, -2.68517688e+00, -8.96591146e-02, 1.22461504e-01, 2.49073282e-02, -6.06163207e-03, -2.44316230e+01, 8.68301272e+00, 9.54331384e-01, -2.76894583e-01, -8.23184499e-02, 1.38148769e-02, -1.29188755e+00, 6.47589656e-01, 3.28104798e-02, -1.62015083e-02, -2.88131832e-03, 5.58332489e-04 },
/* 36 */ { -0.435, -0.348, -9.94885541e+00, 2.64134698e+00, 2.13355676e-01, -7.55094742e-02, -1.86691475e-02, 3.35844373e-03, 2.10901666e+01, -7.74378977e+00, -5.64953638e-01, 2.61345838e-01, 6.22482233e-02, -1.21327129e-02, 2.24905847e-02, 1.04598129e-01, 3.07565444e-02, 4.52516077e-03, -2.68896513e-04, -4.38822346e-04, -5.27796566e+02, 4.04696924e+02, -7.68320830e+01, -9.93851822e+00, 4.45154782e+00, -3.56448788e-01 },
/* 37 */ { -0.348, -0.261, -1.55554935e+01, 4.43810441e+00, 3.57488307e-01, -1.19034298e-01, -2.99458248e-02, 5.11741961e-03, 7.52361133e+00, -3.15883460e+00, -1.20582639e-01, 1.23045263e-01, 2.33898483e-02, -5.42674801e-03, -1.28914557e+01, 4.09570288e+00, 4.80787238e-01, -1.03667168e-01, -3.27401356e-02, 4.52910192e-03, -2.69417478e+01, 9.01935803e+00, 8.32398362e-01, -2.44715212e-01, -6.76714658e-02, 1.10651167e-02 },
/* 38 */ { -0.261, -0.174, -1.07347673e+01, 2.75739340e+00, 2.29382831e-01, -7.16581749e-02, -1.79351536e-02, 2.97502021e-03, 1.36201009e+02, -1.06023203e+02, 2.13817508e+01, 2.08706895e+00, -1.07770719e+00, 8.75717717e-02, -4.38809409e+00, 1.27711603e+00, 2.47715678e-01, -2.32966535e-02, -1.59529408e-02, 1.59384923e-03, 3.69473455e+01, -1.19369374e+01, -1.38850547e+00, 3.38648455e-01, 1.07725594e-01, -1.65119332e-02 },
/* 39 */ { -0.174, -0.087, -4.85243004e+00, 9.17135659e-01, 6.56828602e-02, -2.58714780e-02, -5.63495061e-03, 1.06681726e-03, 7.26262598e+01, -5.68775699e+01, 1.15333405e+01, 1.13127652e+00, -5.81393977e-01, 4.70181668e-02, -1.28626026e+01, 4.83604644e+00, 5.26489996e-01, -1.53458236e-01, -4.58768579e-02, 7.51254917e-03, 2.40549023e+01, -8.30693451e+00, -7.42147723e-01, 2.65872333e-01, 6.60641675e-02, -1.20080718e-02 },
/* 40 */ { -0.087, 0, -7.67263478e+00, 1.96438447e+00, 1.50038116e-01, -5.82844143e-02, -1.39983760e-02, 2.55921552e-03, -7.85408832e+00, 3.42631412e+00, 2.07462795e-01, -1.02538188e-01, -2.23881483e-02, 4.48968841e-03, -1.15599122e+01, 4.79320468e+00, 3.87262295e-01, -1.63291728e-01, -3.88276129e-02, 7.22817848e-03, 2.01241431e+02, -1.53263571e+02, 2.98781296e+01, 3.39168372e+00, -1.64035908e+00, 1.34077630e-01 },
/* 41 */ { 0, 0.087, -1.13864078e+01, 2.95714541e+00, 2.28437434e-01, -7.61837257e-02, -1.84127093e-02, 3.16406677e-03, 1.30896815e+01, -5.42366657e+00, -2.69898781e-01, 1.96747287e-01, 4.08723125e-02, -8.83047486e-03, -1.55473814e+01, 6.13383458e+00, 4.59668997e-01, -1.91307502e-01, -4.52949063e-02, 8.20901258e-03, 9.15377711e-01, -5.49170656e-01, 2.43511662e-02, 3.40523024e-02, 4.73791875e-03, -1.61795962e-03 },
/* 42 */ { 0.087, 0.174, -1.05139433e+01, 2.66513302e+00, 2.38691866e-01, -7.00318323e-02, -1.84614408e-02, 3.00933320e-03, -6.49968425e+00, 1.40091586e+00, 3.11334745e-01, -1.03517609e-03, -9.94647135e-03, -1.06234521e-04, -2.72012579e+00, 1.17735204e+00, 1.60769570e-01, -3.61473827e-02, -1.42460976e-02, 2.03679044e-03, 4.36151475e+01, -1.40015499e+01, -1.48645433e+00, 4.05238087e-01, 1.12127054e-01, -1.80617611e-02 },
/* 43 */ { 0.174, 0.261, -7.38086316e+00, 1.61522373e+00, 1.26240319e-01, -3.96891827e-02, -9.10111777e-03, 1.51603531e-03, 4.94368558e+00, -2.03706194e+00, -7.87956374e-02, 9.13756954e-02, 1.84970166e-02, -4.48300055e-03, -9.22483091e+00, 3.33539548e+00, 4.27270273e-01, -1.07156634e-01, -3.52531350e-02, 5.56278992e-03, -1.94893892e+01, 6.37147825e+00, 5.42054608e-01, -1.72651081e-01, -4.33960932e-02, 7.52314183e-03 },
/* 44 */ { 0.261, 0.348, -7.63794907e+00, 1.75430604e+00, 1.40328709e-01, -4.57481307e-02, -1.11084431e-02, 1.90716702e-03, -1.92491245e+00, -1.05405117e-01, 1.23122157e-01, 4.55581233e-02, 5.11934744e-03, -2.42192667e-03, -1.22097011e+01, 3.94269797e+00, 7.90883587e-01, -1.45828927e-01, -6.23880316e-02, 9.57307440e-03, -5.64392971e+00, 1.40207187e+00, 4.90026087e-01, -3.52770577e-02, -3.96550581e-02, 5.17924001e-03 },
/* 45 */ { 0.348, 0.435, -8.40768081e+00, 2.02113538e+00, 1.93251363e-01, -5.69372039e-02, -1.56895935e-02, 2.68264994e-03, -1.75790131e+02, 1.32108928e+02, -2.51498613e+01, -2.98188636e+00, 1.40759066e+00, -1.15525531e-01, -7.48955931e+00, 2.78092035e+00, 3.60735734e-01, -8.82291076e-02, -3.00930622e-02, 4.65114131e-03, 3.13290329e+02, -2.47949581e+02, 5.18671632e+01, 4.24552127e+00, -2.49035035e+00, 2.09812469e-01 },
/* 46 */ { 0.435, 0.522, -7.22206825e+00, 1.76376495e+00, 1.36468484e-01, -5.19193767e-02, -1.25057455e-02, 2.34377328e-03, 1.50815276e+01, -5.59416157e+00, -3.59657593e-01, 1.89482364e-01, 4.24306009e-02, -8.50966396e-03, -1.28886581e+01, 4.30418157e+00, 6.57461060e-01, -1.37495164e-01, -5.33758819e-02, 8.20367117e-03, -2.65288874e+01, 8.94071746e+00, 8.77890962e-01, -2.73186727e-01, -6.80306844e-02, 1.18802062e-02 },
/* 47 */ { 0.522, 0.609, -1.04718082e+01, 2.81483445e+00, 2.28371534e-01, -7.88600227e-02, -1.96916155e-02, 3.49765336e-03, -6.53574875e+00, 2.04134212e+00, 2.08958254e-01, -3.02327288e-02, -9.35673684e-03, 8.04481396e-04, -2.80518763e+01, 9.65440389e+00, 1.13535926e+00, -3.02036393e-01, -9.52467609e-02, 1.55564840e-02, -3.28641309e+00, 1.22652846e+00, 1.27474336e-01, -3.00603119e-02, -8.56329344e-03, 1.18866029e-03 },
/* 48 */ { 0.609, 0.696, -6.43786255e+00, 1.20241517e+00, 1.36535583e-01, -2.76926049e-02, -8.55182040e-03, 1.27713757e-03, -1.76751244e+01, 5.75905121e+00, 6.16651886e-01, -1.38525719e-01, -4.30327434e-02, 6.16252913e-03, -1.04193954e+01, 3.36496599e+00, 4.37812390e-01, -8.69578333e-02, -3.18232330e-02, 4.36082581e-03, -1.84247162e+02, 1.49216836e+02, -3.20519413e+01, -2.55547478e+00, 1.57017191e+00, -1.34828453e-01 },
/* 49 */ { 0.696, 0.783, 4.83040120e+01, -4.09312371e+01, 8.47905035e+00, 8.74354273e-01, -4.61018253e-01, 3.88313564e-02, -6.28583435e+00, 2.08690996e+00, 2.88902785e-01, -4.30824368e-02, -1.73493714e-02, 2.05851305e-03, 3.50844686e+02, -2.68676906e+02, 4.96991487e+01, 8.17713249e+00, -3.45288851e+00, 2.83353714e-01, 4.33933093e+02, -3.19021014e+02, 5.86001286e+01, 7.08612130e+00, -3.11896846e+00, 2.43335691e-01 },
/* 50 */ { 0.783, 0.879, -6.84477332e+00, 1.46499886e+00, 1.43298637e-01, -3.80755965e-02, -1.05813623e-02, 1.78722657e-03, 4.00959033e+00, -1.69493734e+00, -1.21096476e-01, 8.58635137e-02, 2.22519893e-02, -4.97326976e-03, 2.55294872e+02, -1.83442530e+02, 3.05421437e+01, 5.83690623e+00, -2.16139366e+00, 1.66294098e-01, 7.72510262e+00, -2.48299854e+00, -1.59521686e-01, 6.62653011e-02, 1.42473521e-02, -2.45947876e-03 },
/* 51 */ { 0.879, 0.957, -1.07299566e+01, 2.92814597e+00, 2.52810093e-01, -8.46150608e-02, -2.23348956e-02, 4.04186925e-03, 1.33823821e+01, -5.95143615e+00, -2.64203684e-01, 2.34556571e-01, 4.81531185e-02, -1.11621611e-02, -2.08447556e+01, 7.97750600e+00, 7.25764415e-01, -2.65469136e-01, -6.86325402e-02, 1.24146306e-02, -1.41740736e+01, 5.44038605e+00, 3.67905053e-01, -1.63338127e-01, -3.58945995e-02, 6.84358313e-03 },
/* 52 */ { 0.957, 1.044, -5.14734180e+00, 8.07469539e-01, 9.95128274e-02, -1.78634986e-02, -5.76658476e-03, 9.34545005e-04, 4.49425251e+00, -1.93489343e+00, -7.46509534e-02, 8.69549017e-02, 1.80964910e-02, -4.26834696e-03, -1.44868897e+01, 5.47520367e+00, 5.11190477e-01, -1.80170861e-01, -4.79584557e-02, 8.56005543e-03, -2.09599566e+00, 1.35083649e+00, -1.82251139e-02, -4.65957231e-02, -5.48182904e-03, 1.78894077e-03 },
/* 53 */ { 1.044, 1.131, -1.31218543e+01, 3.57140007e+00, 3.84861242e-01, -1.02467301e-01, -3.19201739e-02, 5.41787276e-03, 9.82565200e+01, -7.95649856e+01, 1.57442088e+01, 2.28369021e+00, -1.02354495e+00, 8.35906732e-02, -1.19114484e+01, 4.74923355e+00, 4.57502042e-01, -1.70940133e-01, -4.52109724e-02, 8.40201196e-03, -3.87310672e-01, 5.86266988e-01, -6.51239782e-03, -1.96894322e-02, -2.46024072e-03, 7.89142026e-04 },
/* 54 */ { 1.131, 1.218, -1.85864442e+01, 5.72861301e+00, 5.58241025e-01, -1.76463875e-01, -5.17407653e-02, 9.29974696e-03, 1.41733575e+01, -6.04696179e+00, -3.92481379e-01, 2.56156724e-01, 5.95280544e-02, -1.34380958e-02, -2.65731913e+01, 8.89584118e+00, 1.38029274e+00, -2.99407241e-01, -1.24199676e-01, 2.00336897e-02, -5.19480037e-01, 9.59335107e-02, 2.99241289e-02, 4.32973992e-03, 6.83103814e-05, -1.97994818e-04 },
/* 55 */ { 1.218, 1.305, -1.65565656e+01, 4.91826095e+00, 5.03783843e-01, -1.49198536e-01, -4.52247014e-02, 8.02833928e-03, -3.08654438e+01, 2.27105088e+01, -4.10034920e+00, -5.97207754e-01, 2.71739641e-01, -2.36200886e-02, -2.30887659e+01, 9.07849943e+00, 8.56313545e-01, -3.33309717e-01, -8.91243689e-02, 1.72159433e-02, 2.30368497e+01, -7.18579552e+00, -7.98839464e-01, 1.75989757e-01, 5.85741723e-02, -8.09388205e-03 },
/* 56 */ { 1.305, 1.392, -9.09588248e+00, 2.24484731e+00, 3.16693017e-01, -6.97604915e-02, -2.73218739e-02, 4.74038295e-03, -1.35561952e+01, 4.37144403e+00, 6.38206336e-01, -1.07785198e-01, -4.39933328e-02, 5.45956729e-03, -1.49953801e+01, 5.21479968e+00, 8.06962829e-01, -1.79406255e-01, -7.45307827e-02, 1.20352583e-02, 3.80532641e+01, -1.47675817e+01, -1.03926299e+00, 4.72063745e-01, 1.10335627e-01, -2.08142811e-02 },
/* 57 */ { 1.392, 1.479, 2.32596502e-01, -1.04151714e+00, -6.42121488e-02, 4.03726004e-02, 1.05097317e-02, -1.91594813e-03, 5.16513288e-01, -1.18141349e+00, 8.86733845e-02, 8.95792070e-02, 1.31060763e-02, -4.80592740e-03, -1.78617276e+02, 1.32385586e+02, -2.21954292e+01, -4.49340045e+00, 1.64652533e+00, -1.26487859e-01, -4.27496634e+00, 2.32073478e+00, 2.34475768e-02, -8.06372785e-02, -1.15920660e-02, 3.29546639e-03 },
/* 58 */ { 1.479, 1.566, 6.29884621e+01, -4.78841277e+01, 8.30500930e+00, 1.44093840e+00, -5.59453704e-01, 4.39561680e-02, 5.95919377e+02, -4.53525736e+02, 8.30183013e+01, 1.37718964e+01, -5.73001971e+00, 4.65703071e-01, 3.44137627e+02, -2.62908320e+02, 4.63853535e+01, 9.50097467e+00, -3.72272129e+00, 3.03673142e-01, 1.70694046e+01, -5.80878555e+00, -3.66637368e-01, 1.54613376e-01, 3.46128670e-02, -6.08818338e-03 },
/* 59 */ { 1.566, 1.653, -1.32603962e+01, 3.53096492e+00, 5.24737339e-01, -1.11447529e-01, -4.71423952e-02, 8.07666726e-03, 4.66116317e+02, -3.55296485e+02, 6.49451024e+01, 1.09026791e+01, -4.51255360e+00, 3.66098400e-01, -2.92717301e+01, 1.10447738e+01, 1.27096565e+00, -3.98811140e-01, -1.31323946e-01, 2.38501869e-02, -3.62096727e+01, 1.26593448e+01, 1.16442080e+00, -3.82300349e-01, -1.00560962e-01, 1.76630472e-02 },
/* 60 */ { 1.653, 1.74, -5.69158182e+00, 1.22218009e+00, 2.00686720e-01, -4.59024887e-02, -2.01939318e-02, 3.95036743e-03, 3.22124377e+02, -2.44807398e+02, 4.22881127e+01, 9.05526485e+00, -3.43001124e+00, 2.74112789e-01, 6.07606681e+00, -2.23719546e+00, -1.51033476e-01, 8.82925375e-02, 1.82442967e-02, -4.44511158e-03, -2.59585973e+02, 2.10346059e+02, -4.61227310e+01, -3.11335334e+00, 2.12906960e+00, -1.85407152e-01 },
/* 61 */ { 1.74, 1.83, -5.94314573e+00, 9.49964733e-01, 2.38156594e-01, -2.25016194e-02, -1.82889998e-02, 2.74154746e-03, -1.88971915e+01, 5.21081431e+00, 1.12015563e+00, -1.08172685e-01, -8.35547436e-02, 9.64238984e-03, 3.51255243e+00, -5.86447504e-02, -1.62429859e-01, -4.24863297e-02, -2.18357457e-03, 2.80472192e-03, 1.71220236e+02, -1.32701483e+02, 2.67284546e+01, 2.73464731e+00, -1.41992240e+00, 1.18522289e-01 },
/* 62 */ { 1.83, 1.93, -4.51878934e-02, -7.10625720e-01, -8.28048407e-02, 2.24482304e-02, 8.95952642e-03, -1.15686025e-03, -1.37985208e+01, 5.66563205e+00, 5.31242092e-01, -2.07044501e-01, -5.78492319e-02, 1.17414121e-02, -8.08023919e+00, 3.98980048e+00, 4.45512515e-01, -1.95457782e-01, -6.36727293e-02, 1.35366026e-02, -4.27265281e+02, 3.46113784e+02, -6.99675276e+01, -9.55543813e+00, 4.60122813e+00, -3.94889836e-01 },
/* 63 */ { 1.93, 2.043, -6.50714076e+00, 1.09659915e+00, 2.62151485e-01, -2.31055611e-02, -1.84819764e-02, 2.50115720e-03, -2.28608547e+01, 7.71168584e+00, 1.32376094e+00, -2.54505379e-01, -1.22553622e-01, 1.94905147e-02, -1.89657529e+01, 6.99147002e+00, 1.21039526e+00, -2.75899271e-01, -1.32044635e-01, 2.28570951e-02, 1.83357408e+01, -7.02263083e+00, -6.10077650e-01, 2.49963831e-01, 6.89000267e-02, -1.32032602e-02 },
/* 64 */ { 2.043, 2.172, 3.27974489e-02, -5.25720993e-01, -1.05253755e-01, 5.93133516e-03, 7.45786359e-03, -1.11855813e-04, -2.74493939e+01, 9.45399903e+00, 1.69128696e+00, -3.14651107e-01, -1.72817744e-01, 2.77200450e-02, 4.60637286e+01, -1.43596533e+01, -2.42217937e+00, 4.34460192e-01, 2.11692079e-01, -3.11607409e-02, 6.99326330e+02, -5.16775908e+02, 8.44665547e+01, 1.99023553e+01, -7.18070833e+00, 5.67754023e-01 },
/* 65 */ { 2.172, 2.322, -1.14701040e+01, 3.28914784e+00, 4.80039608e-01, -1.21645040e-01, -4.81498499e-02, 8.98929785e-03, -7.75537151e+01, 2.64474595e+01, 5.00878491e+00, -9.86962032e-01, -5.38908005e-01, 9.15543743e-02, -6.86887466e-01, 2.97996236e+00, -2.15846671e-01, -2.14762084e-01, -2.79938016e-02, 1.27090400e-02, -5.19133823e+01, 2.03448408e+01, 1.18434038e+00, -6.47556531e-01, -1.39807910e-01, 2.89697256e-02 },
/* 66 */ { 2.322, 2.5, 1.00989353e+01, -5.49996642e+00, -2.61779842e-01, 2.27188292e-01, 4.28350710e-02, -1.04743612e-02, -9.49714542e+01, 3.42055462e+01, 5.96552257e+00, -1.37369056e+00, -6.87318054e-01, 1.24267094e-01, -7.22461937e+01, 2.54982163e+01, 4.68966827e+00, -9.89991985e-01, -5.34185857e-01, 9.33021769e-02, 2.19517610e+00, -2.92926267e-02, -8.74194287e-02, -2.34863158e-02, -1.59641110e-03, 1.72086328e-03 },
/* 67 */ { 2.5, 2.65, -1.30104777e+02, 4.08972703e+01, 7.11936395e+00, -1.32334335e+00, -6.99229062e-01, 1.12446106e-01, -2.56765202e+00, -1.72566817e-01, 1.35932978e-01, 8.05806580e-02, 1.91316816e-02, -7.89232402e-03, -2.24964161e-01, -7.61115327e-01, 8.32413119e-03, 6.48765664e-02, 1.53821454e-02, -4.54342830e-03, 3.49464437e+01, -1.09496527e+01, -1.76241499e+00, 3.31997428e-01, 1.44906347e-01, -2.12725393e-02 },
/* 68 */ { 2.65, 2.853, -6.07062178e+01, 2.16544609e+01, 4.04744043e+00, -9.40155756e-01, -5.14001228e-01, 9.70374923e-02, -2.09703121e+02, 8.83800747e+01, 9.47088290e+00, -3.85663607e+00, -1.27757577e+00, 2.72405010e-01, 5.55332505e+01, -2.34230368e+01, -2.05778722e+00, 9.67595564e-01, 2.76016972e-01, -5.85207194e-02, 3.81121244e-01, 1.09586037e-01, 2.27064289e-02, 2.80333448e-03, -3.01990413e-04, -3.64109445e-04 },
/* 69 */ { 2.853, 2.964, -9.28488394e+01, 2.92093112e+01, 7.55761368e+00, -1.12332898e+00, -8.95288242e-01, 1.50663307e-01, -3.24801575e+01, 4.49225661e+00, 1.70578538e+00, 2.56434017e-01, -1.02832274e-02, -2.26706254e-02, -2.38842659e+01, 2.16404409e+00, 1.61392039e+00, 3.85055452e-01, 1.25013594e-02, -3.85554719e-02, 5.17650953e+02, -2.33736081e+02, -2.14718669e+01, 1.10278165e+01, 3.45234023e+00, -8.12679472e-01 },
/* 70 */ { 2.964, 3.139, -1.33012424e+00, -1.52431534e-02, 2.69535346e-02, 5.90675305e-03, -1.00604799e-04, -6.16828629e-04, -1.02234291e+03, 4.05384172e+02, 7.95425602e+01, -2.01822373e+01, -1.14107607e+01, 2.30230203e+00, 3.74170695e+02, -1.59249849e+02, -1.83674229e+01, 7.48317384e+00, 2.36944844e+00, -5.09859723e-01, -3.29492918e+03, 1.40554156e+03, 1.22089633e+02, -5.85789999e+01, -1.74831428e+01, 3.84315527e+00 },
/* 71 */ { 3.139, 3.314, -1.13473737e+01, 3.25031900e+00, 5.86439245e-01, -8.86612574e-02, -4.98475022e-02, 6.08020127e-03, -2.44904843e+02, 9.72815948e+01, 1.61384374e+01, -4.35356431e+00, -2.12789648e+00, 4.09933139e-01, -2.18830127e+01, 8.55761743e-01, 1.44524704e+00, 4.52488884e-01, 4.28705462e-02, -3.99496408e-02, -1.97902134e+01, 2.53165408e-01, 1.27389330e+00, 4.54192722e-01, 5.24960949e-02, -4.18211057e-02 },
/* 72 */ { 3.314, 3.489, -4.92913529e+01, 2.26137323e+00, 3.54949017e+00, 1.05291926e+00, 6.78894264e-02, -1.02157735e-01, -1.66505370e+00, -3.32435958e-01, -4.24675550e-02, 6.75190485e-03, 8.62561311e-03, 4.81326599e-03, 1.49040468e+00, 2.77320412e-01, 3.62449259e-02, -2.10574756e-03, -4.21872733e-03, -2.25662786e-03, 3.24645402e-01, 6.39272926e-02, 9.92542591e-03, 4.20157887e-04, -5.80602754e-04, -3.69357224e-04 },
/* 73 */ { 3.489, 3.664, -9.27890456e-01, -2.29320460e-01, -4.65075659e-02, -4.26351950e-03, 2.81145487e-03, 2.53553483e-03, 8.13998594e-01, 2.01998831e-01, 4.82076670e-02, 1.08827503e-02, 2.24851926e-03, 3.91167545e-04, 1.41963950e-01, 4.27565438e-02, 1.28773681e-02, 3.87839134e-03, 1.16808957e-03, 3.51803912e-04, 2.89745333e-03, 8.72651758e-04, 2.62824281e-04, 7.91571234e-05, 2.38404540e-05, 7.18024130e-06 }
};
for (size_t i = 0; i < njet; i++) {
const float log_perp = log(jet_perp[i]);
jet_q_g_likelihood[i] = -999;
for (size_t j = 0; j < nbin_pseudorapidity; j++) {
if (jet_pseudorapidity[j] >= calib_data[j][0] &&
jet_pseudorapidity[j] <= calib_data[j][1]) {
float c[4];
for (size_t k = 0; k < 4; k++) {
c[k] = (((calib_data[j][6 * k + 2 + 5] * log_perp) + (calib_data[j][6 * k + 2 + 4] * log_perp + calib_data[j][6 * k + 2 + 3]) * log_perp + calib_data[j][6 * k + 2 + 2]) * log_perp + calib_data[j][6 * k + 2 + 1]) * log_perp + calib_data[j][6 * k + 2 + 0];
}
const float x = log_perp - c[0];
jet_q_g_likelihood[i] =
0.5 + atan((c[3] * x + c[2]) * x + c[1]) /
3.1415926535897932385;
}
}
}
}
}
void printjet(TString filename = "")
{
fprintf(stderr, "<F %s\n", (const char *)filename);
TFile *root_file = TFile::Open(filename);
TTree *skim_tree = dynamic_cast<TTree *>(
root_file->Get("skimanalysis/HltTree"));
TTree *event_tree = dynamic_cast<TTree *>(
root_file->Get("hiEvtAnalyzer/HiTree"));
TTree *pf_tree = dynamic_cast<TTree *>(
root_file->Get("pfcandAnalyzer/pfTree"));
int npf;
int pf_id[32768];
float pf_perp[32768];
float pf_pseudorapidity[32768];
float pf_azimuth[32768];
if (pf_tree != NULL) {
pf_tree->SetBranchAddress("nPFpart", &npf);
pf_tree->SetBranchAddress("pfId", pf_id);
pf_tree->SetBranchAddress("pfPt", pf_perp);
pf_tree->SetBranchAddress("pfEta", pf_pseudorapidity);
pf_tree->SetBranchAddress("pfPhi", pf_azimuth);
}
int collision_event_selection;
int hb_he_noise_filter;
int centrality_bin_cms;
skim_tree->SetBranchAddress("pcollisionEventSelection",
&collision_event_selection);
skim_tree->SetBranchAddress("pHBHENoiseFilter", &hb_he_noise_filter);
event_tree->SetBranchAddress("hiBin", ¢rality_bin_cms);
fprintf(stderr, "%s:%d:\n", __FILE__, __LINE__);
const size_t nanalyzer = 42;
const char *jet_analyzer[nanalyzer] = {
"akVs1CaloJetAnalyzer",
"akPu1CaloJetAnalyzer",
"akVs1PFJetAnalyzer",
"akPu1PFJetAnalyzer",
"ak1CaloJetAnalyzer",
"ak1PFJetAnalyzer",
"akVs2CaloJetAnalyzer",
"akPu2CaloJetAnalyzer",
"akVs2PFJetAnalyzer",
"akPu2PFJetAnalyzer",
"ak2CaloJetAnalyzer",
"ak2PFJetAnalyzer",
"akVs3CaloJetAnalyzer",
"akPu3CaloJetAnalyzer",
"akVs3PFJetAnalyzer",
"akPu3PFJetAnalyzer",
"ak3CaloJetAnalyzer",
"ak3PFJetAnalyzer",
"akVs4CaloJetAnalyzer",
"akPu4CaloJetAnalyzer",
"akVs4PFJetAnalyzer",
"akPu4PFJetAnalyzer",
"ak4CaloJetAnalyzer",
"ak4PFJetAnalyzer",
"akVs5CaloJetAnalyzer",
"akPu5CaloJetAnalyzer",
"akVs5PFJetAnalyzer",
"akPu5PFJetAnalyzer",
"ak5CaloJetAnalyzer",
"ak5PFJetAnalyzer",
"akVs6CaloJetAnalyzer",
"akPu6CaloJetAnalyzer",
"akVs6PFJetAnalyzer",
"akPu6PFJetAnalyzer",
"ak6CaloJetAnalyzer",
"ak6PFJetAnalyzer",
"akVs7CaloJetAnalyzer",
"akPu7CaloJetAnalyzer",
"akVs7PFJetAnalyzer",
"akPu7PFJetAnalyzer",
"ak7CaloJetAnalyzer",
"ak7PFJetAnalyzer",
};
TTree *jet_tree[nanalyzer];
float jet_r[nanalyzer];
for (size_t i = 0; i < nanalyzer; i++) {
char buf[BUFSIZ];
snprintf(buf, BUFSIZ, "%s/t", jet_analyzer[i]);
jet_tree[i] = dynamic_cast<TTree *>(root_file->Get(buf));
for (const char *p = jet_analyzer[i]; p != '\0'; p++) {
if (*p >= '0' && *p <= '9') {
jet_r[i] = 0.1F * static_cast<float>(*p - '0');
break;
}
}
fprintf(stderr, "%s:%d: %s %p %g\n", __FILE__, __LINE__,
buf, jet_tree[i], jet_r[i]);
}
float jet_perp_calib[nanalyzer][4096];
float jet_perp[nanalyzer][4096];
float jet_reference_perp[nanalyzer][4096];
float jet_pseudorapidity[nanalyzer][4096];
float jet_azimuth[nanalyzer][4096];
int jet_reference_flavor[nanalyzer][4096];
int jet_subevent_id[nanalyzer][4096];
int njet[nanalyzer];
for (size_t i = 0; i < nanalyzer; i++) {
if (jet_tree[i] != NULL) {
jet_tree[i]->SetBranchAddress("jtpt", jet_perp_calib[i]);
jet_tree[i]->SetBranchAddress("rawpt", jet_perp[i]);
jet_tree[i]->SetBranchAddress("refpt",
jet_reference_perp[i]);
jet_tree[i]->SetBranchAddress("jteta",
jet_pseudorapidity[i]);
jet_tree[i]->SetBranchAddress("jtphi", jet_azimuth[i]);
jet_tree[i]->SetBranchAddress("refparton_flavor",
jet_reference_flavor[i]);
jet_tree[i]->SetBranchAddress("subid",
jet_subevent_id[i]);
jet_tree[i]->SetBranchAddress("nref", &njet[i]);
}
}
fprintf(stderr, "%s:%d:\n", __FILE__, __LINE__);
long int nevent = skim_tree->GetEntries();
for (long int i = 0; i < nevent; i++) {
skim_tree->GetEntry(i);
event_tree->GetEntry(i);
if (//collision_event_selection &&
hb_he_noise_filter) {
fprintf(stderr, "<E %g %d %d\n",
centrality_bin_cms * 0.5,
collision_event_selection, hb_he_noise_filter);
if (pf_tree != NULL) {
pf_tree->GetEntry(i);
}
for (size_t j = 0; j < nanalyzer; j++) {
if (jet_tree[j] != NULL) {
jet_tree[j]->GetEntry(i);
float jet_q_g_discriminant[4096];
float jet_multiplicity[4096];
float jet_multiplicity_charged[4096];
float jet_multiplicity_neutral[4096];
float jet_sigma_1[4096];
float jet_sigma_2[4096];
float jet_ptd[4096];
float jet_pull[4096];
float jet_fraction_max[4096];
q_g_discr_calib(jet_q_g_discriminant,
jet_multiplicity,
jet_multiplicity_charged,
jet_multiplicity_neutral,
jet_sigma_1,
jet_sigma_2,
jet_ptd,
jet_pull,
jet_fraction_max,
jet_perp[j],
jet_pseudorapidity[j],
jet_azimuth[j], njet[j],
pf_id,
pf_perp, pf_pseudorapidity,
pf_azimuth,
pf_tree == NULL ? 0 : npf,
jet_r[j]);
size_t matched_count = 0;
for (int k = 0; k < njet[j]; k++) {
if (jet_reference_perp[j][k] >= 0 &&
jet_subevent_id[j][k] == 0) {
matched_count++;
}
}
if (true || matched_count > 0) {
fprintf(stderr, "<A %lu %d\n", j, njet[j]);
for (int k = 0; k < njet[j]; k++) {
if ((jet_perp_calib[j][k] >= 30 ||
jet_reference_perp[j][k] >= 0) &&
jet_subevent_id[j][k] == 0) {
fprintf(stderr,
"<J %.8e %.8e %.8e %.8e %d "
"%d\n",
jet_perp[j][k],
jet_reference_perp[j][k],
jet_pseudorapidity[j][k],
jet_azimuth[j][k],
jet_reference_flavor[j][k],
jet_subevent_id[j][k]);
fprintf(stderr,
"<C %.8e\n",
jet_perp_calib[j][k]);
fprintf(stderr,
"<S %g %g %g %.8e %.8e %.8e "
"%.8e %.8e\n",
jet_multiplicity[k],
jet_multiplicity_charged[k],
jet_multiplicity_neutral[k],
jet_sigma_1[k],
jet_sigma_2[k],
jet_ptd[k],
jet_pull[k],
jet_fraction_max[k]);
fprintf(stderr,
"<Q %.8e\n",
jet_q_g_discriminant[k]);
}
}
}
}
}
}
}
gSystem->Exit(0);
}