44 { 0 , 1 , 2 , 4 , 5 , 7 , 9 , 11 , 13 , 15 , 18 , 21 , 24 , 28 , 32 , 37 , 41 , 47 , 53 , 60 , 67 , 75 , 84 , 94 , 105 , 117 , 131 , 145 , 162 , 180 , 200 , 222};
49 { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 8 , 9 , 10 , 11 , 12 , 14 , 15 , 16 , 17 , 19 , 20 , 21 , 23 , 24 , 26 , 27 , 29 , 30 , 32 , 33 , 35 , 37 , 38 , 40 , 42 , 44 , 45 , 47 , 49 , 51 , 53 , 55 , 57 , 59 , 61 , 63 , 65 , 67 , 70 , 72 , 74 , 77 , 79 , 81 , 84 , 86 , 89 , 92 , 94 , 97 , 100 , 103 , 105 , 108 , 111 , 114 , 117 , 121 , 124 , 127 , 130 , 134 , 137 , 141 , 144 , 148 , 151 , 155 , 159 , 163 , 167 , 171 , 175 , 179 , 183 , 188 , 192 , 197 , 201 , 206 , 210 , 215 , 220 , 225 , 230 , 235 , 241 , 246 , 251 , 257 , 263 , 268 , 274 , 280 , 286 , 292 , 299 , 305 , 312 , 318 , 325 , 332 , 339 , 346 , 353 , 361 , 368 , 376 , 383 , 391 , 399 , 408 , 416 , 425 , 433 , 442 , 451 , 460 , 469 , 479 , 489 };
54 { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 35 , 36 , 37 , 38 , 39 , 40 , 42 , 43 , 44 , 45 , 46 , 48 , 49 , 50 , 51 , 53 , 54 , 55 , 56 , 58 , 59 , 60 , 61 , 63 , 64 , 65 , 67 , 68 , 69 , 70 , 72 , 73 , 74 , 76 , 77 , 79 , 80 , 81 , 83 , 84 , 85 , 87 , 88 , 90 , 91 , 92 , 94 , 95 , 97 , 98 , 100 , 101 , 103 , 104 , 105 , 107 , 108 , 110 , 111 , 113 , 115 , 116 , 118 , 119 , 121 , 122 , 124 , 125 , 127 , 129 , 130 , 132 , 133 , 135 , 137 , 138 , 140 , 141 , 143 , 145 , 146 , 148 , 150 , 151 , 153 , 155 , 157 , 158 , 160 , 162 , 163 , 165 , 167 , 169 , 171 , 172 , 174 , 176 , 178 , 180 , 181 , 183 , 185 , 187 , 189 , 191 , 192 , 194 , 196 , 198 , 200 , 202 , 204 , 206 , 208 , 210 , 212 , 214 , 216 , 218 , 220 , 222 , 224 , 226 , 228 , 230 , 232 , 234 , 236 , 238 , 240 , 242 , 244 , 246 , 249 , 251 , 253 , 255 , 257 , 259 , 261 , 264 , 266 , 268 , 270 , 273 , 275 , 277 , 279 , 282 , 284 , 286 , 289 , 291 , 293 , 296 , 298 , 300 , 303 , 305 , 307 , 310 , 312 , 315 , 317 , 320 , 322 , 324 , 327 , 329 , 332 , 334 , 337 , 340 , 342 , 345 , 347 , 350 , 352 , 355 , 358 , 360 , 363 , 366 , 368 , 371 , 374 , 376 , 379 , 382 , 385 , 387 , 390 , 393 , 396 , 398 , 401 , 404 , 407 , 410 , 413 , 416 , 419 , 421 , 424 , 427 , 430 , 433 , 436 , 439 , 442 , 445 , 448 , 451 , 454 , 457 , 461 , 464 , 467 , 470 , 473 , 476 , 479 , 483 };
62 const int CSCTFPtLUT::dEtaCut_Low[24] = {2,2,2,7,2,1,2,7,3,3,3,7,1,1,1,1,2,2,2,2,1,1,1,1};
63 const int CSCTFPtLUT::dEtaCut_Mid[24] = {2,2,3,7,2,2,3,7,4,4,4,7,2,2,2,2,2,2,2,2,2,2,2,2};
64 const int CSCTFPtLUT::dEtaCut_High_A[24] = {3,3,4,7,3,2,4,7,5,5,5,7,2,2,2,2,3,3,3,3,2,2,2,2};
65 const int CSCTFPtLUT::dEtaCut_High_B[24] = {3,3,4,7,3,3,5,7,6,6,6,7,2,2,3,3,3,3,3,3,3,3,3,2};
66 const int CSCTFPtLUT::dEtaCut_High_C[24] = {4,4,5,7,4,3,6,7,7,7,7,7,3,3,3,3,4,4,4,4,3,3,3,3};
67 const int CSCTFPtLUT::dEtaCut_Open[24] = {7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7};
73 : read_pt_lut_es(
true),
74 read_pt_lut_file(
false),
106 : trigger_scale( scales ),
107 trigger_ptscale( ptScale ),
108 ptMethods( ptScale ),
109 read_pt_lut_es(
false),
110 read_pt_lut_file(
false),
121 edm::LogInfo(
"CSCTFPtLUT::CSCTFPtLUT") <<
"Reading file: "
123 <<
" isBinary?(1/0): "
177 unsigned int shortAdd = (address.toint()& 0x1fffff);
186 int shortAdd = (address.toint()& 0x1fffff);
187 result =
pt_lut[shortAdd];
202 const unsigned& track_eta,
const unsigned& track_mode,
203 const unsigned& track_fr,
const unsigned& delta_phi_sign)
const
206 address.delta_phi_12 = delta_phi_12;
207 address.delta_phi_23 = delta_phi_23;
208 address.track_eta = track_eta;
209 address.track_mode = track_mode;
210 address.track_fr = track_fr;
211 address.delta_phi_sign = delta_phi_sign;
217 const unsigned& track_mode,
const unsigned& track_fr,
218 const unsigned& delta_phi_sign)
const
221 address.delta_phi_12 = ((1<<8)-1)&delta_phi_12;
222 address.delta_phi_23 = ((1<<4)-1)&(delta_phi_12>>8);
223 address.track_eta = track_eta;
224 address.track_mode = track_mode;
225 address.track_fr = track_fr;
226 address.delta_phi_sign = delta_phi_sign;
236 double Pi = acos(-1.);
237 float etaR = 0, ptR_front = 0, ptR_rear = 0, dphi12R = 0, dphi23R = 0;
238 int charge12, charge23;
241 mode = address.track_mode;
243 int usedetaCUT =
true;
247 int EtaCutLevel_1 = 2;
250 for (
int i=0;
i<24;
i++)
253 if (EtaCutLevel_1 == 1)
255 else if (EtaCutLevel_1 == 2)
257 else if (EtaCutLevel_1 == 3)
259 else if (EtaCutLevel_1 == 4)
261 else if (EtaCutLevel_1 == 5)
263 else if (EtaCutLevel_1 == 6)
267 int EtaCutLevel_2 = 2;
270 for (
int i=0;
i<24;
i++)
273 if (EtaCutLevel_2 == 1)
275 else if (EtaCutLevel_2 == 2)
277 else if (EtaCutLevel_2 == 3)
279 else if (EtaCutLevel_2 == 4)
281 else if (EtaCutLevel_2 == 5)
283 else if (EtaCutLevel_2 == 6)
287 if (mode == 8 || mode == 10)
288 dEtaCut_2[
i] = scalef*dEtaCut_2[
i];
294 eta = address.track_eta;
296 fr = address.track_fr;
297 charge = address.delta_phi_sign;
299 unsigned front_pt, rear_pt;
300 front_pt = 0.; rear_pt = 0.;
301 unsigned front_quality, rear_quality;
305 front_quality = rear_quality = quality;
307 unsigned int remerged;
313 float bestLH_front = -999.0;
314 float bestLH_rear = -999.0;
342 remerged = (address.delta_phi_12 | (address.delta_phi_23 << 8 ) );
345 absPhi12 = ((1<<7)-1) & remerged;
346 absPhi23 = ((1<<5)-1) & (remerged >> 7);
352 if(charge) charge23 = 1;
357 if(charge12 * charge23 < 0) dphi23R = -dphi23R;
360 bestLH_front = bestLH;
362 bestLH_rear = bestLH;
366 float dphi12Rmin = dphi12R - Pi*10/180/3;
367 float dphi12Rmax = dphi12R + Pi*10/180/3;
368 float dphi23Rmin = dphi23R;
369 float dphi23Rmax = dphi23R;
373 float bestLH_front_min = bestLH;
375 float bestLH_rear_min = bestLH;
377 float bestLH_front_max = bestLH;
379 float bestLH_rear_max = bestLH;
383 float best_pt_front = ptR_front;
384 float best_LH_front = bestLH_front;
385 if (bestLH_front_min > best_LH_front)
387 best_pt_front = ptR_front_min;
388 best_LH_front = bestLH_front_min;
390 if (bestLH_front_max > best_LH_front)
392 best_pt_front = ptR_front_max;
393 best_LH_front = bestLH_front_max;
395 ptR_front = best_pt_front;
397 float best_pt_rear = ptR_rear;
398 float best_LH_rear = bestLH_rear;
399 if (bestLH_rear_min > best_LH_rear)
401 best_pt_rear = ptR_rear_min;
402 best_LH_rear = bestLH_rear_min;
404 if (bestLH_rear_max > best_LH_rear)
406 best_pt_rear = ptR_rear_max;
407 best_LH_rear = bestLH_rear_max;
409 ptR_rear = best_pt_rear;
414 ptR_front =
std::max(ptR_front, ptR_front_min);
415 ptR_front =
std::max(ptR_front, ptR_front_max);
416 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
417 ptR_rear =
std::max(ptR_rear, ptR_rear_max);
426 remerged = (address.delta_phi_12 | (address.delta_phi_23 << 8 ) );
428 absPhi12 = ((1<<8)-1) & remerged;
430 dEta = ((1<<3)-1) & (remerged >> 8);
432 CLCT_pattern = 0x1 & (remerged >> 11);
435 if(iME11 == 1 && etaR > 1.6) etaR = 1.55;
436 if(iME11 == 0 && etaR < 1.6) etaR = 1.65;
439 absPhi12 = ((1<<8)-1) & address.delta_phi_12;
450 bestLH_front = bestLH;
452 bestLH_rear = bestLH;
455 float dphi12Rmin = fabs(fabs(dphi12R) - Pi*10/180/3);
457 float bestLH_front_min = bestLH;
459 float bestLH_rear_min = bestLH;
463 ptR_front = bestLH_front > bestLH_front_min ? ptR_front : ptR_front_min;
464 ptR_rear = bestLH_rear > bestLH_rear_min ? ptR_rear : ptR_rear_min;
469 ptR_front =
std::max(ptR_front, ptR_front_min);
470 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
474 if( (!CLCT_pattern) && (ptR_front > 5.)) ptR_front = 5.;
475 if( (!CLCT_pattern) && (ptR_rear > 5.)) ptR_rear = 5.;
479 if (mode == 6) index = 0;
480 if (mode == 7) index = 4;
481 if (mode == 13) index = 8;
485 if (fabs(etaR)>1.2 && fabs(etaR)<=1.5)
486 if (dEta>dEtaCut_1[index+0] )
488 if (ptR_front > 5) ptR_front = 5;
489 if (ptR_rear > 5) ptR_rear = 5;
491 if (fabs(etaR)>1.5 && fabs(etaR)<=1.65)
492 if (dEta>dEtaCut_1[index+1])
494 if (ptR_front > 5) ptR_front = 5;
495 if (ptR_rear > 5) ptR_rear = 5;
498 if (fabs(etaR)>1.65 && fabs(etaR)<=2.1)
499 if (dEta>dEtaCut_1[index+2] )
501 if (ptR_front > 5) ptR_front = 5;
502 if (ptR_rear > 5) ptR_rear = 5;
505 if (dEta>dEtaCut_1[index+3] )
507 if (ptR_front > 5) ptR_front = 5;
508 if (ptR_rear > 5) ptR_rear = 5;
520 remerged = (address.delta_phi_12 | (address.delta_phi_23 << 8 ) );
522 absPhi12 = ((1<<9)-1) & remerged;
524 dEta = ((1<<3)-1) & (remerged >> 9);
533 if (mode == 8) index = 12;
534 if (mode == 9) index = 16;
535 if (mode == 10) index = 20;
542 if (fabs(etaR)>1.2 && fabs(etaR)<=1.5)
543 if (dEta>dEtaCut_2[index+0] )
545 if (ptR_front > 5) ptR_front = 5;
546 if (ptR_rear > 5) ptR_rear = 5;
548 if (fabs(etaR)>1.5 && fabs(etaR)<=1.65)
549 if (dEta>dEtaCut_2[index+1])
551 if (ptR_front > 5) ptR_front = 5;
552 if (ptR_rear > 5) ptR_rear = 5;
555 if (fabs(etaR)>1.65 && fabs(etaR)<=2.1)
556 if (dEta>dEtaCut_2[index+2] )
558 if (ptR_front > 5) ptR_front = 5;
559 if (ptR_rear > 5) ptR_rear = 5;
562 if (dEta>dEtaCut_2[index+3] )
564 if (ptR_front > 5) ptR_front = 5;
565 if (ptR_rear > 5) ptR_rear = 5;
583 absPhi12 = address.delta_phi_12;
584 absPhi23 = address.delta_phi_23;
586 if(charge) charge23 = -1;
590 dphi23R = float(absPhi23);
591 if(charge12 * charge23 < 0) dphi23R = -dphi23R;
595 if(fr == 1 && mode1 == 11) mode1 = 14;
632 absPhi12 = address.delta_phi_12;
633 absPhi23 = address.delta_phi_23;
635 if(charge) charge23 = 1;
640 if(charge12 * charge23 < 0) dphi23R = -dphi23R;
647 float dphi12Rmin = dphi12R - Pi*10/180/3;
648 float dphi12Rmax = dphi12R + Pi*10/180/3;
649 float dphi23Rmin = dphi23R;
650 float dphi23Rmax = dphi23R;
658 ptR_front =
std::max(ptR_front, ptR_front_min);
659 ptR_front =
std::max(ptR_front, ptR_front_max);
660 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
661 ptR_rear =
std::max(ptR_rear, ptR_rear_max);
669 if(iME11 == 1 && etaR > 1.6) etaR = 1.55;
670 if(iME11 == 0 && etaR < 1.6) etaR = 1.65;
671 absPhi12 = address.delta_phi_12;
674 CLCT_pattern = int(address.delta_phi_23);
682 float dphi12Rmin = fabs(fabs(dphi12R) - Pi*10/180/3);
686 ptR_front =
std::max(ptR_front, ptR_front_min);
687 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
689 if( ((CLCT_pattern < 8) || (CLCT_pattern > 10)) && (ptR_front > 5.)) ptR_front = 5.;
690 if( ((CLCT_pattern < 8) || (CLCT_pattern > 10)) && (ptR_rear > 5.)) ptR_rear = 5.;
697 if(charge) absPhi12 = address.delta_phi();
700 int temp_phi = address.delta_phi();
701 absPhi12 =
static_cast<unsigned>(-temp_phi) & 0xfff;
721 absPhi12 = address.delta_phi_12;
722 absPhi23 = address.delta_phi_23;
724 if(charge) charge23 = -1;
728 dphi23R = float(absPhi23);
729 if(charge12 * charge23 < 0) dphi23R = -dphi23R;
733 if(fr == 1 && mode1 == 11) mode1 = 14;
769 absPhi12 = address.delta_phi_12;
770 absPhi23 = address.delta_phi_23;
772 if(charge) charge23 = 1;
777 if(charge12 * charge23 < 0) dphi23R = -dphi23R;
782 if(
pt_method == 22 && mode != 5 && etaR > 2.1)
784 float dphi12Rmin = dphi12R - Pi*10/180/3;
785 float dphi12Rmax = dphi12R + Pi*10/180/3;
786 float dphi23Rmin = dphi23R;
787 float dphi23Rmax = dphi23R;
795 ptR_front =
std::max(ptR_front, ptR_front_min);
796 ptR_front =
std::max(ptR_front, ptR_front_max);
797 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
798 ptR_rear =
std::max(ptR_rear, ptR_rear_max);
806 absPhi12 = address.delta_phi_12;
809 CLCT_pattern = int(address.delta_phi_23);
818 float dphi12Rmin = fabs(fabs(dphi12R) - Pi*10/180/3);
822 ptR_front =
std::max(ptR_front, ptR_front_min);
823 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
825 if( ((CLCT_pattern < 8) || (CLCT_pattern > 10)) && (ptR_front > 5.)) ptR_front = 5.;
826 if( ((CLCT_pattern < 8) || (CLCT_pattern > 10)) && (ptR_rear > 5.)) ptR_rear = 5.;
832 if(charge) absPhi12 = address.delta_phi();
835 int temp_phi = address.delta_phi();
836 absPhi12 =
static_cast<unsigned>(-temp_phi) & 0xfff;
855 absPhi12 = address.delta_phi_12;
856 absPhi23 = address.delta_phi_23;
858 if(charge) charge23 = -1;
862 dphi23R = float(absPhi23);
863 if(charge12 * charge23 < 0) dphi23R = -dphi23R;
867 if(fr == 1 && mode1 == 11) mode1 = 14;
903 absPhi12 = address.delta_phi_12;
904 absPhi23 = address.delta_phi_23;
906 if(charge) charge23 = 1;
911 if(charge12 * charge23 < 0) dphi23R = -dphi23R;
916 if(
pt_method == 12 && mode != 5 && etaR > 2.1)
918 float dphi12Rmin = dphi12R - Pi*10/180/3;
919 float dphi12Rmax = dphi12R + Pi*10/180/3;
920 float dphi23Rmin = dphi23R;
921 float dphi23Rmax = dphi23R;
922 if(dphi12Rmin*dphi12R < 0) dphi23Rmin = -dphi23R;
923 if(dphi12Rmax*dphi12R < 0) dphi23Rmax = -dphi23R;
929 ptR_front =
std::max(ptR_front, ptR_front_min);
930 ptR_front =
std::max(ptR_front, ptR_front_max);
931 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
932 ptR_rear =
std::max(ptR_rear, ptR_rear_max);
943 if(charge) absPhi12 = address.delta_phi();
946 int temp_phi = address.delta_phi();
947 absPhi12 =
static_cast<unsigned>(-temp_phi) & 0xfff;
955 if((
pt_method == 12) && etaR > 2.1 && mode != 8 && mode !=9 && mode !=10)
957 float dphi12Rmin = fabs(fabs(dphi12R) - Pi*10/180/3);
961 ptR_front =
std::max(ptR_front, ptR_front_min);
962 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
971 if(charge) absPhi12 = address.delta_phi();
974 int temp_phi = address.delta_phi();
975 absPhi12 =
static_cast<unsigned>(-temp_phi) & 0xfff;
983 absPhi12 = address.delta_phi_12;
984 absPhi23 = address.delta_phi_23;
986 if(charge) charge23 = 1;
991 if(charge12 * charge23 < 0) dphi23R = -dphi23R;
995 if(
pt_method == 12 && mode != 5 && etaR > 2.1)
997 float dphi12Rmin = dphi12R - Pi*10/180/3;
998 float dphi12Rmax = dphi12R + Pi*10/180/3;
999 float dphi23Rmin = dphi23R;
1000 float dphi23Rmax = dphi23R;
1001 if(dphi12Rmin*dphi12R < 0) dphi23Rmin = -dphi23R;
1002 if(dphi12Rmax*dphi12R < 0) dphi23Rmax = -dphi23R;
1006 ptR_front =
std::max(ptR_front, ptR_front_min);
1007 ptR_front =
std::max(ptR_front, ptR_front_max);
1034 && (mode == 2 || mode == 3 || mode == 4) && (eta<3)) mode = 6;
1036 && (eta<3)) mode = 8;
1046 absPhi12 = address.delta_phi_12;
1047 absPhi23 = address.delta_phi_23;
1049 if(charge) charge23 = 1;
1058 if(charge12 * charge23 < 0) dphi23R = -dphi23R;
1063 if(
pt_method == 5 && mode != 5 && etaR > 2.1)
1065 float dphi12Rmin = dphi12R - Pi*10/180/3;
1066 float dphi12Rmax = dphi12R + Pi*10/180/3;
1067 float dphi23Rmin = dphi23R;
1068 float dphi23Rmax = dphi23R;
1069 if(dphi12Rmin*dphi12R < 0) dphi23Rmin = -dphi23R;
1070 if(dphi12Rmax*dphi12R < 0) dphi23Rmax = -dphi23R;
1076 ptR_front =
std::max(ptR_front, ptR_front_min);
1077 ptR_front =
std::max(ptR_front, ptR_front_max);
1078 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
1079 ptR_rear =
std::max(ptR_rear, ptR_rear_max);
1086 if(charge12 * charge23 < 0) dphi23R = -dphi23R;
1096 ptR_front =
ptMethods.
Pt3StnChiSq(type+3, etaR, absPhi12<<1, ((charge == 0) ? -(absPhi23<<4) : (absPhi23<<4)), 1);
1097 ptR_rear =
ptMethods.
Pt3StnChiSq(type+3, etaR, absPhi12<<1, ((charge == 0) ? -(absPhi23<<4) : (absPhi23<<4)), 0);
1111 ptR_front =
ptMethods.
Pt3StnHybrid(type+3, etaR, absPhi12<<1, ((charge == 0) ? -(absPhi23<<4) : (absPhi23<<4)), 1);
1112 ptR_rear =
ptMethods.
Pt3StnHybrid(type+3, etaR, absPhi12<<1, ((charge == 0) ? -(absPhi23<<4) : (absPhi23<<4)), 0);
1129 if(charge) absPhi12 = address.delta_phi();
1132 int temp_phi = address.delta_phi();
1133 absPhi12 =
static_cast<unsigned>(-temp_phi) & 0xfff;
1136 if(absPhi12 < (1<<9))
1169 if((
pt_method == 5) && etaR > 2.1 && mode != 8 && mode !=9 && mode !=10)
1171 float dphi12Rmin = fabs(fabs(dphi12R) - Pi*10/180/3);
1175 ptR_front =
std::max(ptR_front, ptR_front_min);
1176 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
1185 if(charge) absPhi12 = address.delta_phi();
1188 int temp_phi = address.delta_phi();
1189 absPhi12 =
static_cast<unsigned>(-temp_phi) & 0xfff;
1191 if(absPhi12 < (1<<9))
1209 if(fabs(dphi12R)<0.01 && (ptR_rear < 10 || ptR_front < 10))
1210 std::cout <<
"dphi12R = " << dphi12R <<
" ptR_rear = " << ptR_rear
1211 <<
" ptR_front = " << ptR_front <<
" etaR = " << etaR <<
" mode = " << mode << std::endl;
1217 if(charge) absPhi12 = address.delta_phi();
1220 int temp_phi = address.delta_phi();
1221 absPhi12 =
static_cast<unsigned>(-temp_phi) & 0xfff;
1223 if(absPhi12 < (1<<9))
1243 float dphi12Rmin = fabs(fabs(dphi12R) - Pi*10/180/3);
1247 ptR_front =
std::max(ptR_front, ptR_front_min);
1248 ptR_rear =
std::max(ptR_rear, ptR_rear_min);
1281 if ((front_pt==0 || front_pt==1) && (eta<3) && quality==1 &&
pt_method != 2) front_pt = 31;
1282 if ((rear_pt==0 || rear_pt==1) && (eta<3) && quality==1 &&
pt_method != 2) rear_pt = 31;
1286 if (front_pt < 5) front_pt = 5;
1287 if (rear_pt < 5) rear_pt = 5;
1292 if(quality == 3 && mode == 5) {
1294 if (front_pt < 5) front_pt = 5;
1295 if (rear_pt < 5) rear_pt = 5;
1298 if(quality == 2 && mode > 7 && mode < 11) {
1300 if (front_pt < 5) front_pt = 5;
1301 if (rear_pt < 5) rear_pt = 5;
1309 result.front_rank = front_pt | front_quality << 5;
1310 result.rear_rank = rear_pt | rear_quality << 5;
1312 result.charge_valid_front = 1;
1313 result.charge_valid_rear = 1;
1332 if (eta>15 || mode>15)
1335 edm::LogError(
"CSCTFPtLUT::trackQuality()")<<
"Eta or Mode out of range in AU quality assignment";
1338 unsigned int quality;
1342 if(
pt_method > 10 && eta < 3) quality = 1;
1343 if(
pt_method == 32 && eta >= 12) quality = 2;
1350 if(
pt_method == 32 && eta >= 12) quality = 2;
1363 if(
pt_method == 32 && eta >= 12) quality = 1;
1367 if(
pt_method > 10 && eta < 3) quality = 1;
1368 if(
pt_method == 32 && eta >= 12) quality = 1;
1382 if(
pt_method > 10 && fr == 0) quality = 2;
1383 if(
pt_method > 10 && fr == 1) quality = 3;
1384 if(
pt_method > 20 && fr == 0) quality = 3;
1389 if(
pt_method > 10 && fr == 0) quality = 2;
1390 if(
pt_method > 10 && fr == 1) quality = 3;
1391 if(
pt_method > 20 && fr == 0) quality = 3;
1395 if(
pt_method == 32 && eta >= 12) quality = 1;
1400 if(
pt_method > 10 && fr == 0) quality = 2;
1401 if(
pt_method > 10 && fr == 1) quality = 3;
1402 if(
pt_method > 20 && fr == 0) quality = 3;
1421 if ( (quality == 1) && (eta >= 4) && (eta < 11)
1434 std::ifstream PtLUT;
1440 int length = PtLUT.tellg();;
1443 PtLUT.seekg(0, std::ios::beg);
1444 PtLUT.read(reinterpret_cast<char*>(
pt_lut),length);
1456 unsigned short temp = 0;
float Pt3Stn2012_DT(int type, float eta, float dphi1, float dphi2, int PtbyMLH, float &theLH, int fr=-1, int method=11) const
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
const L1MuTriggerScales * trigger_scale
ptdat Pt(const ptadd &) const
float Pt3StnHybrid(int type, float eta, int dphi1, int dphi2, int fr) const
const L1MuScale * getPtScale() const
get the Pt scale
CSCTFPtLUT(const edm::EventSetup &c)
KK.
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
const L1MuCSCPtLut * theL1MuCSCPtLut_
float Pt2Stn2010(int type, float eta, float dphi, int fr=-1, int method=11) const
static const int getPtbyMLH
float Pt2StnChiSq(int type, float eta, int dphi, int fr) const
float Pt2Stn2011(int type, float eta, float dphi, int fr=-1, int method=11, int phiSign=2) const
float Pt3Stn2011(int type, float eta, float dphi1, float dphi2, int fr=-1, int method=11) const
float Pt3StnChiSq(int type, float eta, int dphi1, int dphi2, int fr) const
static const int dEtaCut_High_C[24]
float Pt3Stn(int type, float eta, float dphi1, float dphi2, int fr=-1) const
static const int dPhiNLBMap_8bit[256]
static const int dEtaCut_Mid[24]
static const int dEtaCut_Low[24]
const T & max(const T &a, const T &b)
float Pt2StnHybrid(int type, float eta, int dphi, int fr) const
float Pt3Stn2010(int type, float eta, float dphi1, float dphi2, int fr=-1, int method=11) const
float Pt3Stn2012(int type, float eta, float dphi1, float dphi2, int PtbyMLH, float &theLH, int fr=-1, int method=11) const
edm::FileInPath pt_lut_file
static const int dEtaCut_High_A[24]
unsigned trackQuality(const unsigned &eta, const unsigned &mode, const unsigned &fr) const
unsigned short pt(unsigned long addr) const
T const * product() const
ptdat calcPt(const ptadd &) const
std::vector< std::vector< double > > tmp
const L1MuScale * getRegionalEtaScale(int isys) const
get the regioanl muon trigger eta scale, isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC) ...
static const int dEtaCut_Open[24]
float Pt2Stn2012(int type, float eta, float dphi, int PtbyMLH, float &theLH, int fr=-1, int method=11) const
virtual unsigned getPacked(float value) const =0
pack a value
static const int dPhiNLBMap_7bit[128]
static const double SECTOR_RAD
std::string fullPath() const
float Pt2Stn(int type, float eta, float dphi, int fr=-1) const
const L1MuTriggerPtScale * trigger_ptscale
static const int dEtaCut_High_B[24]
static const int dPhiNLBMap_5bit[32]