Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:02

0001 #include <utility>
0002 
0003 #include "ap_int.h"
0004 #include "L1Trigger/L1TMuonEndCapPhase2/interface/Data/ActivationLut.h"
0005 
0006 using namespace emtf::phase2;
0007 using namespace emtf::phase2::data;
0008 
0009 ActivationLut::ActivationLut() {
0010   // clang-format off
0011     prompt_pt_lut_ = {{
0012         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0013         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0014         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0015         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0016         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8101, 7970, 7842, 7719, 7595, 7479, 7362, 7246, 7137, 7028,
0017         6919, 6817, 6715, 6613, 6515, 6417, 6322, 6231, 6141, 6053, 5966, 5879, 5795, 5711, 5631, 5551, 5475, 5399, 5322,
0018         5250, 5177, 5104, 5035, 4966, 4897, 4832, 4762, 4701, 4635, 4573, 4512, 4453, 4392, 4333, 4275, 4217, 4162, 4108,
0019         4053, 3999, 3948, 3897, 3842, 3795, 3744, 3693, 3646, 3599, 3552, 3504, 3461, 3417, 3370, 3326, 3282, 3242, 3199,
0020         3159, 3115, 3075, 3035, 2995, 2959, 2919, 2882, 2842, 2806, 2770, 2733, 2697, 2664, 2628, 2595, 2559, 2526, 2493,
0021         2461, 2428, 2395, 2366, 2333, 2301, 2272, 2242, 2210, 2181, 2152, 2124, 2096, 2071, 2043, 2015, 1991, 1963, 1940,
0022         1916, 1889, 1865, 1842, 1819, 1796, 1773, 1753, 1730, 1708, 1689, 1666, 1647, 1625, 1606, 1588, 1569, 1547, 1529,
0023         1511, 1492, 1474, 1459, 1441, 1424, 1406, 1391, 1374, 1356, 1342, 1327, 1310, 1296, 1282, 1265, 1251, 1237, 1223,
0024         1209, 1195, 1181, 1168, 1154, 1141, 1127, 1117, 1103, 1090, 1077, 1066, 1053, 1043, 1030, 1020, 1007, 997, 986, 974,
0025         964, 954, 944, 931, 922, 912, 902, 892, 882, 873, 863, 854, 844, 835, 828, 818, 809, 799, 792, 783, 774, 767, 758,
0026         749, 742, 733, 726, 718, 711, 702, 695, 689, 680, 674, 667, 658, 652, 646, 639, 631, 624, 618, 612, 605, 599, 593,
0027         587, 581, 574, 568, 562, 556, 550, 544, 538, 532, 526, 520, 516, 510, 505, 499, 495, 489, 483, 480, 474, 468, 464,
0028         459, 453, 449, 444, 440, 434, 431, 425, 421, 416, 412, 407, 403, 398, 394, 391, 385, 382, 378, 373, 370, 366, 361,
0029         357, 354, 350, 345, 342, 338, 335, 330, 327, 323, 320, 317, 313, 310, 307, 302, 298, 295, 292, 289, 285, 282, 279,
0030         276, 273, 269, 266, 263, 260, 257, 254, 252, 249, 246, 243, 240, 237, 234, 232, 229, 226, 223, 220, 217, 216, 213,
0031         210, 207, 205, 202, 199, 196, 195, 192, 189, 188, 185, 182, 180, 178, 175, 173, 171, 168, 166, 164, 162, 159, 158,
0032         155, 152, 151, 148, 147, 144, 143, 140, 139, 136, 135, 132, 131, 128, 127, 124, 123, 120, 119, 116, 115, 114, 111,
0033         110, 107, 106, 105, 102, 101, 100, 97, 96, 93, 92, 91, 88, 87, 86, 84, 82, 81, 80, 77, 76, 75, 73, 71, 70, 69, 67,
0034         65, 64, 63, 61, 59, 58, 57, 56, 54, 52, 51, 50, 49, 47, 46, 44, 43, 42, 41, 39, 38, 37, 35, 34, 33, 32, 31, 29, 28,
0035         27, 25, 24, 23, 22, 21, 20, 19, 18, 16, 15, 14, 13, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
0036         10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 43, 44,
0037         46, 47, 49, 50, 51, 52, 54, 56, 57, 58, 59, 61, 63, 64, 65, 67, 69, 70, 71, 73, 75, 76, 77, 80, 81, 82, 84, 86, 87,
0038         88, 91, 92, 93, 96, 97, 100, 101, 102, 105, 106, 107, 110, 111, 114, 115, 116, 119, 120, 123, 124, 127, 128, 131,
0039         132, 135, 136, 139, 140, 143, 144, 147, 148, 151, 152, 155, 158, 159, 162, 164, 166, 168, 171, 173, 175, 178, 180,
0040         182, 185, 188, 189, 192, 195, 196, 199, 202, 205, 207, 210, 213, 216, 217, 220, 223, 226, 229, 232, 234, 237, 240,
0041         243, 246, 249, 252, 254, 257, 260, 263, 266, 269, 273, 276, 279, 282, 285, 289, 292, 295, 298, 302, 307, 310, 313,
0042         317, 320, 323, 327, 330, 335, 338, 342, 345, 350, 354, 357, 361, 366, 370, 373, 378, 382, 385, 391, 394, 398, 403,
0043         407, 412, 416, 421, 425, 431, 434, 440, 444, 449, 453, 459, 464, 468, 474, 480, 483, 489, 495, 499, 505, 510, 516,
0044         520, 526, 532, 538, 544, 550, 556, 562, 568, 574, 581, 587, 593, 599, 605, 612, 618, 624, 631, 639, 646, 652, 658,
0045         667, 674, 680, 689, 695, 702, 711, 718, 726, 733, 742, 749, 758, 767, 774, 783, 792, 799, 809, 818, 828, 835, 844,
0046         854, 863, 873, 882, 892, 902, 912, 922, 931, 944, 954, 964, 974, 986, 997, 1007, 1020, 1030, 1043, 1053, 1066, 1077,
0047         1090, 1103, 1117, 1127, 1141, 1154, 1168, 1181, 1195, 1209, 1223, 1237, 1251, 1265, 1282, 1296, 1310, 1327, 1342,
0048         1356, 1374, 1391, 1406, 1424, 1441, 1459, 1474, 1492, 1511, 1529, 1547, 1569, 1588, 1606, 1625, 1647, 1666, 1689,
0049         1708, 1730, 1753, 1773, 1796, 1819, 1842, 1865, 1889, 1916, 1940, 1963, 1991, 2015, 2043, 2071, 2096, 2124, 2152,
0050         2181, 2210, 2242, 2272, 2301, 2333, 2366, 2395, 2428, 2461, 2493, 2526, 2559, 2595, 2628, 2664, 2697, 2733, 2770,
0051         2806, 2842, 2882, 2919, 2959, 2995, 3035, 3075, 3115, 3159, 3199, 3242, 3282, 3326, 3370, 3417, 3461, 3504, 3552,
0052         3599, 3646, 3693, 3744, 3795, 3842, 3897, 3948, 3999, 4053, 4108, 4162, 4217, 4275, 4333, 4392, 4453, 4512, 4573,
0053         4635, 4701, 4762, 4832, 4897, 4966, 5035, 5104, 5177, 5250, 5322, 5399, 5475, 5551, 5631, 5711, 5795, 5879, 5966,
0054         6053, 6141, 6231, 6322, 6417, 6515, 6613, 6715, 6817, 6919, 7028, 7137, 7246, 7362, 7479, 7595, 7719, 7842, 7970,
0055         8101, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0056         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0057         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0058         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0059         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191
0060     }};
0061 
0062     disp_pt_lut_ = {{
0063         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0064         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8187,
0065         7954, 7733, 7522, 7322, 7132, 6949, 6777, 6610, 6453, 6301, 6155, 6016, 5882, 5753, 5629, 5511, 5397, 5285, 5179,
0066         5076, 4978, 4881, 4789, 4699, 4612, 4528, 4447, 4368, 4292, 4218, 4146, 4075, 4008, 3942, 3878, 3815, 3754, 3695,
0067         3638, 3581, 3527, 3474, 3422, 3371, 3322, 3274, 3227, 3181, 3136, 3092, 3050, 3007, 2967, 2927, 2887, 2849, 2812,
0068         2774, 2739, 2704, 2669, 2635, 2602, 2569, 2538, 2507, 2477, 2446, 2416, 2388, 2359, 2331, 2304, 2278, 2251, 2225,
0069         2200, 2175, 2150, 2126, 2102, 2079, 2056, 2032, 2011, 1989, 1967, 1946, 1926, 1905, 1885, 1865, 1845, 1826, 1807,
0070         1788, 1770, 1752, 1735, 1716, 1700, 1682, 1665, 1648, 1632, 1616, 1599, 1584, 1569, 1553, 1538, 1523, 1509, 1494,
0071         1481, 1466, 1452, 1438, 1424, 1412, 1398, 1386, 1372, 1359, 1347, 1334, 1322, 1310, 1298, 1287, 1274, 1263, 1252,
0072         1240, 1229, 1218, 1208, 1197, 1185, 1175, 1165, 1154, 1144, 1134, 1124, 1114, 1105, 1095, 1085, 1076, 1066, 1058,
0073         1049, 1039, 1030, 1021, 1013, 1004, 995, 988, 979, 970, 963, 954, 946, 938, 930, 923, 915, 906, 899, 891, 884, 876,
0074         870, 863, 855, 848, 841, 834, 826, 820, 814, 806, 800, 794, 786, 780, 774, 767, 761, 755, 749, 742, 736, 730, 724,
0075         719, 712, 706, 700, 695, 689, 684, 677, 672, 666, 661, 656, 650, 645, 640, 635, 629, 624, 619, 614, 609, 604, 599,
0076         594, 589, 584, 579, 575, 570, 565, 560, 556, 551, 546, 542, 537, 532, 528, 523, 520, 515, 511, 506, 502, 498, 493,
0077         490, 486, 481, 477, 473, 470, 465, 461, 457, 453, 450, 446, 442, 438, 435, 431, 427, 423, 420, 416, 412, 408, 405,
0078         401, 397, 395, 391, 387, 383, 381, 377, 373, 371, 367, 363, 361, 357, 353, 351, 347, 345, 341, 338, 335, 332, 329,
0079         326, 322, 320, 316, 314, 311, 308, 305, 303, 299, 297, 294, 291, 288, 286, 284, 280, 278, 275, 273, 269, 267, 264,
0080         262, 260, 257, 255, 252, 249, 247, 244, 242, 239, 237, 235, 232, 230, 228, 225, 223, 221, 218, 216, 214, 213, 210,
0081         208, 206, 203, 201, 199, 198, 195, 193, 191, 188, 186, 185, 183, 180, 178, 177, 175, 172, 170, 169, 167, 164, 163,
0082         161, 159, 158, 155, 153, 152, 150, 148, 146, 144, 143, 141, 140, 138, 135, 134, 132, 131, 129, 128, 125, 124, 122,
0083         121, 119, 118, 115, 114, 112, 111, 109, 108, 106, 104, 103, 101, 100, 98, 97, 96, 94, 93, 91, 89, 88, 86, 85, 84,
0084         82, 81, 80, 77, 76, 75, 74, 72, 71, 70, 68, 67, 66, 65, 62, 61, 60, 59, 57, 56, 55, 54, 53, 51, 50, 49, 48, 47, 45,
0085         43, 42, 41, 40, 39, 37, 36, 35, 34, 33, 32, 31, 30, 28, 27, 26, 25, 24, 23, 22, 21, 20, 18, 17, 15, 14, 13, 12, 11,
0086         10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 25,
0087         26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 45, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 59, 60,
0088         61, 62, 65, 66, 67, 68, 70, 71, 72, 74, 75, 76, 77, 80, 81, 82, 84, 85, 86, 88, 89, 91, 93, 94, 96, 97, 98, 100,
0089         101, 103, 104, 106, 108, 109, 111, 112, 114, 115, 118, 119, 121, 122, 124, 125, 128, 129, 131, 132, 134, 135, 138,
0090         140, 141, 143, 144, 146, 148, 150, 152, 153, 155, 158, 159, 161, 163, 164, 167, 169, 170, 172, 175, 177, 178, 180,
0091         183, 185, 186, 188, 191, 193, 195, 198, 199, 201, 203, 206, 208, 210, 213, 214, 216, 218, 221, 223, 225, 228, 230,
0092         232, 235, 237, 239, 242, 244, 247, 249, 252, 255, 257, 260, 262, 264, 267, 269, 273, 275, 278, 280, 284, 286, 288,
0093         291, 294, 297, 299, 303, 305, 308, 311, 314, 316, 320, 322, 326, 329, 332, 335, 338, 341, 345, 347, 351, 353, 357,
0094         361, 363, 367, 371, 373, 377, 381, 383, 387, 391, 395, 397, 401, 405, 408, 412, 416, 420, 423, 427, 431, 435, 438,
0095         442, 446, 450, 453, 457, 461, 465, 470, 473, 477, 481, 486, 490, 493, 498, 502, 506, 511, 515, 520, 523, 528, 532,
0096         537, 542, 546, 551, 556, 560, 565, 570, 575, 579, 584, 589, 594, 599, 604, 609, 614, 619, 624, 629, 635, 640, 645,
0097         650, 656, 661, 666, 672, 677, 684, 689, 695, 700, 706, 712, 719, 724, 730, 736, 742, 749, 755, 761, 767, 774, 780,
0098         786, 794, 800, 806, 814, 820, 826, 834, 841, 848, 855, 863, 870, 876, 884, 891, 899, 906, 915, 923, 930, 938, 946,
0099         954, 963, 970, 979, 988, 995, 1004, 1013, 1021, 1030, 1039, 1049, 1058, 1066, 1076, 1085, 1095, 1105, 1114, 1124,
0100         1134, 1144, 1154, 1165, 1175, 1185, 1197, 1208, 1218, 1229, 1240, 1252, 1263, 1274, 1287, 1298, 1310, 1322, 1334,
0101         1347, 1359, 1372, 1386, 1398, 1412, 1424, 1438, 1452, 1466, 1481, 1494, 1509, 1523, 1538, 1553, 1569, 1584, 1599,
0102         1616, 1632, 1648, 1665, 1682, 1700, 1716, 1735, 1752, 1770, 1788, 1807, 1826, 1845, 1865, 1885, 1905, 1926, 1946,
0103         1967, 1989, 2011, 2032, 2056, 2079, 2102, 2126, 2150, 2175, 2200, 2225, 2251, 2278, 2304, 2331, 2359, 2388, 2416,
0104         2446, 2477, 2507, 2538, 2569, 2602, 2635, 2669, 2704, 2739, 2774, 2812, 2849, 2887, 2927, 2967, 3007, 3050, 3092,
0105         3136, 3181, 3227, 3274, 3322, 3371, 3422, 3474, 3527, 3581, 3638, 3695, 3754, 3815, 3878, 3942, 4008, 4075, 4146,
0106         4218, 4292, 4368, 4447, 4528, 4612, 4699, 4789, 4881, 4978, 5076, 5179, 5285, 5397, 5511, 5629, 5753, 5882, 6016,
0107         6155, 6301, 6453, 6610, 6777, 6949, 7132, 7322, 7522, 7733, 7954, 8187, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0108         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
0109         8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191
0110     }};
0111     
0112     rels_lut_ = {{
0113         64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 73, 73, 73, 74,
0114         74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 78, 78, 78, 79, 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84,
0115         84, 84, 85, 85, 85, 86, 86, 86, 87, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, 90, 91, 91, 91, 91, 92, 92, 92, 93,
0116         93, 93, 93, 94, 94, 94, 95, 95, 95, 95, 96, 96, 96, 96, 97, 97, 97, 98, 98, 98, 98, 99, 99, 99, 99, 100, 100, 100,
0117         100, 101, 101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103, 103, 104, 104, 104, 104, 104, 105, 105, 105, 105,
0118         105, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 110,
0119         110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113,
0120         113, 113, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116,
0121         116, 116, 116, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
0122         119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
0123         120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122,
0124         122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
0125         123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
0126         124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125,
0127         125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
0128         125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126,
0129         126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
0130         126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
0131         126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
0132         126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127,
0133         127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
0134         127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0135         0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0136         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0137         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
0138         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
0139         3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
0140         4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7,
0141         7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10,
0142         10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 14, 14,
0143         14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18,
0144         18, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 24, 24, 24,
0145         24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 31, 31, 31, 31,
0146         32, 32, 32, 32, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, 39, 40, 40,
0147         40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49,
0148         50, 50, 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 60,
0149         60, 61, 61, 61, 62, 62, 62, 63, 63
0150     }};
0151 
0152     dxy_lut_ = {{
0153         0, 0, 2, 2, 2, 2, 4, 4, 4, 4, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13,
0154         13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 22, 22, 22,
0155         22, 24, 24, 24, 24, 26, 26, 26, 26, 28, 28, 28, 28, 30, 30, 30, 33, 33, 33, 33, 36, 36, 36, 36, 39, 39, 39, 39, 43,
0156         43, 43, 43, 47, 47, 47, 47, 51, 51, 51, 51, 56, 56, 56, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0157         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0158         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0159         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0160         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0161         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0162         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0163         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0164         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0165         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0166         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0167         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0168         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0169         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
0170         63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0171         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0172         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0173         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0174         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0175         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0176         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0177         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0178         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0179         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0180         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0181         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0182         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0183         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0184         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0185         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0186         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0187         -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
0188         -62, -62, -62, -62, -56, -56, -56, -51, -51, -51, -51, -47, -47, -47, -47, -43, -43, -43, -43, -39, -39, -39, -39,
0189         -36, -36, -36, -36, -33, -33, -33, -33, -30, -30, -30, -28, -28, -28, -28, -26, -26, -26, -26, -24, -24, -24, -24,
0190         -22, -22, -22, -22, -20, -20, -20, -20, -19, -19, -19, -19, -18, -18, -18, -16, -16, -16, -16, -15, -15, -15, -15,
0191         -14, -14, -14, -14, -13, -13, -13, -13, -12, -12, -12, -12, -11, -11, -11, -10, -10, -10, -10, -8, -8, -8, -8, -7,
0192         -7, -7, -7, -6, -6, -6, -6, -4, -4, -4, -4, -2, -2, -2, -2, 0
0193     }};
0194   // clang-format on
0195 }
0196 
0197 ActivationLut::~ActivationLut() {
0198   // Do Nothing
0199 }
0200 
0201 void ActivationLut::update(const edm::Event&, const edm::EventSetup&) {
0202   // Do Nothing
0203 }
0204 
0205 const trk_pt_t& ActivationLut::lookupPromptPt(const trk_nn_address_t& address) const {
0206   ap_uint<10> bin = address.to_string(AP_HEX).c_str();
0207   return prompt_pt_lut_[bin];
0208 }
0209 
0210 const trk_pt_t& ActivationLut::lookupDispPt(const trk_nn_address_t& address) const {
0211   ap_uint<10> bin = address.to_string(AP_HEX).c_str();
0212   return disp_pt_lut_[bin];
0213 }
0214 
0215 const trk_rels_t& ActivationLut::lookupRels(const trk_nn_address_t& address) const {
0216   ap_uint<10> bin = address.to_string(AP_HEX).c_str();
0217   return rels_lut_[bin];
0218 }
0219 
0220 const trk_dxy_t& ActivationLut::lookupDxy(const trk_nn_address_t& address) const {
0221   ap_uint<10> bin = address.to_string(AP_HEX).c_str();
0222   return dxy_lut_[bin];
0223 }