5 239, 235, 233, 230, 227, 224, 222, 219, 217, 214, 212, 210, 207, 205, 203, 201,
6 199, 197, 195, 193, 191, 189, 187, 186, 184, 182, 180, 179, 177, 176, 174, 172,
7 171, 169, 168, 166, 165, 164, 162, 161, 160, 158, 157, 156, 154, 153, 152, 151,
8 149, 148, 147, 146, 145, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133,
9 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117,
10 116, 116, 115, 114, 113, 112, 111, 110, 110, 109, 108, 107, 106, 106, 105, 104,
11 103, 102, 102, 101, 100, 99, 99, 98, 97, 96, 96, 95, 94, 93, 93, 92,
12 91, 91, 90, 89, 89, 88, 87, 87, 86, 85, 84, 84, 83, 83, 82, 81
17 int gmt_pt = (pt * 2) + 1;
18 gmt_pt = (gmt_pt > 511) ? 511 : gmt_pt;
23 float pt = (gmt_pt <= 0) ? 0 : 0.5 * (gmt_pt-1);
50 if (endcap == -1 && theta > 127)
52 if (endcap == +1 && theta > 127)
66 case 15: quality = 15;
break;
67 case 14: quality = 14;
break;
68 case 13: quality = 13;
break;
69 case 12: quality = 7;
break;
70 case 11: quality = 12;
break;
71 case 10: quality = 10;
break;
72 case 9: quality = 9;
break;
73 case 7: quality = 11;
break;
74 case 6: quality = 6;
break;
75 case 5: quality = 5;
break;
76 case 3: quality = 4;
break;
77 default: quality = 0;
break;
88 case 15: quality = 8;
break;
89 case 14: quality = 4;
break;
90 case 13: quality = 4;
break;
91 case 12: quality = 4;
break;
92 case 11: quality = 4;
break;
93 default: quality = 4;
break;
97 case 15: quality = 12;
break;
98 case 14: quality = 12;
break;
99 case 13: quality = 12;
break;
100 case 12: quality = 8;
break;
101 case 11: quality = 12;
break;
102 case 10: quality = 8;
break;
103 case 7: quality = 8;
break;
104 default: quality = 4;
break;
107 quality |= (mode & 3);
111 if (promoteMode7 && mode == 7 && theta <= 50)
127 if (phidiffs[0] >= 0)
129 else if (phidiffs[0] == 0 && phidiffs[1] < 0)
131 else if (phidiffs[1] == 0 && phidiffs[2] < 0)
140 else if (phidiffs[0] == 0 && phidiffs[1] < 0)
147 if (phidiffs[0] >= 0)
149 else if (phidiffs[0] == 0 && phidiffs[2] < 0)
156 if (phidiffs[0] >= 0)
163 if (phidiffs[1] >= 0)
165 else if (phidiffs[1] == 0 && phidiffs[2] < 0)
172 if (phidiffs[1] >= 0)
179 if (phidiffs[2] >= 0)
186 if (phidiffs[3] >= 0)
188 else if (phidiffs[3] == 0 && phidiffs[4] < 0)
195 if (phidiffs[3] >= 0)
202 if (phidiffs[4] >= 0)
209 if (phidiffs[5] >= 0)
225 int charge_valid = 1;
228 return std::make_pair(charge, charge_valid);
int getGMTPhiV2(int phi) const
int getGMTEta(int theta, int endcap) const
Geom::Theta< T > theta() const
std::pair< int, int > getGMTCharge(int mode, const std::vector< int > &phidiffs) const
int getGMTPhi(int phi) const
float getPtFromGMTPt(int gmt_pt) const
int getGMTPt(float pt) const
static const int GMT_eta_from_theta[128]
int getGMTQuality(int mode, int theta, bool promoteMode7, int version) const