22 allowedModes_({3,5,9,6,10,12,7,11,13,14,15}){
24 for (
unsigned i=0;
i<allowedModes_.size();
i++){
25 int mode_inv = allowedModes_[
i];
27 ss << tree_dir <<
"/" << mode_inv;
28 forest_[mode_inv].loadForestFromXML(ss.str().c_str(),64);
73 static const int ModeVariables_Scheme3[13][6] =
76 {-999,-999,-999,-999,-999,-999},
80 {-999,-999,-999,-999,-999,-999},
86 {3,5,10,13,-999,-999},
93 static const int dPhiNLBMap_5bit_256Max[32] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 25, 28, 31, 34, 39, 46, 55, 68, 91, 136};
95 static const int dPhiNLBMap_6bit_256Max[64] = {0, 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, 36, 37, 38, 39, 40, 42, 43, 45, 47, 49, 51, 53, 56, 58, 61, 65, 68, 73, 78, 83, 89, 97, 106, 116, 129, 145, 166, 193, 232};
97 static const int dPhiNLBMap_7bit_256Max[128] = {0, 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, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 90, 91, 93, 94, 96, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 118, 120, 123, 125, 128, 131, 134, 138, 141, 145, 149, 153, 157, 161, 166, 171, 176, 182, 188, 194, 201, 209, 217, 225, 235, 245};
101 static const int dPhiNLBMap_7bit_512Max[256] = {0, 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, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 86, 87, 89, 91, 92, 94, 96, 98, 100, 102, 105, 107, 110, 112, 115, 118, 121, 124, 127, 131, 135, 138, 143, 147, 152, 157, 162, 168, 174, 181, 188, 196, 204, 214, 224, 235, 247, 261, 276, 294, 313, 336, 361, 391, 427, 470};
103 static const int dPhiNLBMap_8bit_512Max[256] = {0, 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, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 164, 165, 166, 167, 168, 170, 171, 172, 174, 175, 176, 178, 179, 180, 182, 183, 185, 186, 188, 190, 191, 193, 194, 196, 198, 200, 201, 203, 205, 207, 209, 211, 213, 215, 217, 219, 221, 223, 225, 228, 230, 232, 235, 237, 240, 242, 245, 248, 250, 253, 256, 259, 262, 265, 268, 272, 275, 278, 282, 285, 289, 293, 297, 300, 305, 309, 313, 317, 322, 327, 331, 336, 341, 347, 352, 358, 363, 369, 375, 382, 388, 395, 402, 410, 417, 425, 433, 442, 450, 460, 469, 479, 490, 500};
107 { 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};
112 { 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 };
117 { 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 };
134 for (
int edge=0; edge<(1<<
bits)-1; edge++)
144 for (
int edge=0; edge<(1<<
bits)-1; edge++)
154 for (
int edge=0; edge<(1<<
bits)-1; edge++)
167 for (
int edge=0; edge<(1<<
bits)-1; edge++)
177 for (
int edge=0; edge<(1<<
bits)-1; edge++)
186 if (dPhi>=
max) dPhi_ =
max;
187 return (sign_ * dPhi_);
194 int dPhiBin_= (1<<
bits)-1;
207 for (
int edge=0; edge<(1<<
bits)-1; edge++)
216 for (
int edge=0; edge<(1<<
bits)-1; edge++)
225 for (
int edge=0; edge<(1<<
bits)-1; edge++)
237 for (
int edge=0; edge<(1<<
bits)-1; edge++)
246 for (
int edge=0; edge<(1<<
bits)-1; edge++)
261 int dPhi_= (1<<
bits)-1;
263 if (dPhiBin>(1<<bits)-1)
264 dPhiBin = (1<<bits)-1;
293 else if ((
int)clct==9)
295 else if ((
int)clct==8)
297 else if ((
int)clct==7)
299 else if ((
int)clct==6)
301 else if ((
int)clct==5)
303 else if ((
int)clct==4)
305 else if ((
int)clct==3)
307 else if ((
int)clct==2)
329 return (sign_ * clct_);
395 int etaInt = (fabs(eta) - 0.9)*(32.0/(1.6))-0.5;
396 etaInt = (etaInt>>
shift)<<shift;
398 eta_ = 0.9 + (etaInt + 0.5)*(1.6/32.0);
412 int etaInt = (fabs(eta) - 0.9)*(32.0/(1.6))-0.5;
413 etaInt = (etaInt>>
shift);
414 if(etaInt > 31){etaInt = 31;}
422 if (etaBin>((1<<5)-1))
429 int etaInt_ = etaBin <<
shift;
430 float eta_ = 0.9 + (etaInt_ + 0.5)*(1.6/32.0);
438 int ModeVariables[13][6];
441 for (
int i=0;
i<13;
i++) {
442 for (
int j=0;
j<6;
j++) {
443 ModeVariables[
i][
j] = ModeVariables_Scheme3[
i][
j];
447 int dphi[6] = {-999,-999,-999,-999,-999,-999}, deta[6] = {-999,-999,-999,-999,-999,-999};
448 int clct[4] = {-999,-999,-999,-999}, cscid[4] = {-999,-999,-999,-999};
449 int phis[4] = {-999,-999,-999,-999},
etas[4] = {-999,-999,-999,-999}, mode_inv = 0;;
450 int FR[4] = {-999,-999,-999,-999};
453 float dPhi12 = dphi[0];
454 float dPhi13 = dphi[1];
455 float dPhi14 = dphi[2];
456 float dPhi23 = dphi[3];
457 float dPhi24 = dphi[4];
458 float dPhi34 = dphi[5];
459 float dTheta12 = deta[0];
460 float dTheta13 = deta[1];
461 float dTheta14 = deta[2];
462 float dTheta23 = deta[3];
463 float dTheta24 = deta[4];
464 float dTheta34 = deta[5];
466 float CLCT1 = clct[0];
467 float CLCT2 = clct[1];
468 float CLCT3 = clct[2];
469 float CLCT4 = clct[3];
475 mode_inv = (Address >> (30-4)) & ((1<<4)-1);
480 if (verbose)
cout <<
"PtAssignment:getPt: decoding, inverted mode = " << mode_inv << endl;
485 int dPhi12_ = (Address >> (0)) & ((1<<9)-1);
486 float sign12 = (Address >> (0+9)) & ((1<<1)-1);
487 dTheta12 = (Address >> (0+9+1)) & ((1<<3)-1);
488 CLCT1 = (Address >> (0+9+1+3)) & ((1<<2)-1);
489 float CLCT1Sign= (Address >> (0+9+1+3+2)) & ((1<<1)-1);
490 CLCT2 = (Address >> (0+9+1+3+2+1)) & ((1<<2)-1);
491 float CLCT2Sign= (Address >> (0+9+1+3+2+1+2)) & ((1<<1)-1);
492 FR1 = (Address >> (0+9+1+3+2+1+2+1)) & ((1<<1)-1);
493 FR2 = (Address >> (0+9+1+3+2+1+2+1+1)) & ((1<<1)-1);
494 int TrackEta_ = (Address >> (0+9+1+3+2+1+2+1+1+1)) & ((1<<5)-1);
499 if (sign12 == 0) dPhi12 = -1*dPhi12;
500 if (CLCT1Sign == 0) CLCT1 = -1*CLCT1;
501 if (CLCT2Sign == 0) CLCT2 = -1*CLCT2;
503 if (verbose)
cout <<
"PtAssignment:getPt: decoding, Addess = 0x" << hex << Address << endl;
504 if (verbose)
cout <<
"PtAssignment:getPt: decoding, dPhi12 = " <<
dec << dPhi12_ << endl;
511 int dPhi13_ = (Address >> (0)) & ((1<<9)-1);
512 float sign13 = (Address >> (0+9)) & ((1<<1)-1);
513 dTheta13 = (Address >> (0+9+1)) & ((1<<3)-1);
514 CLCT1 = (Address >> (0+9+1+3)) & ((1<<2)-1);
515 float CLCT1Sign= (Address >> (0+9+1+3+2)) & ((1<<1)-1);
516 CLCT3 = (Address >> (0+9+1+3+2+1)) & ((1<<2)-1);
517 float CLCT3Sign= (Address >> (0+9+1+3+2+1+2)) & ((1<<1)-1);
518 FR1 = (Address >> (0+9+1+3+2+1+2+1)) & ((1<<1)-1);
519 FR3 = (Address >> (0+9+1+3+2+1+2+1+1)) & ((1<<1)-1);
520 int TrackEta_ = (Address >> (0+9+1+3+2+1+2+1+1+1)) & ((1<<5)-1);
525 if (sign13 == 0) dPhi13 = -1*dPhi13;
526 if (CLCT1Sign == 0) CLCT1 = -1*CLCT1;
527 if (CLCT3Sign == 0) CLCT3 = -1*CLCT3;
533 int dPhi14_ = (Address >> (0)) & ((1<<9)-1);
534 float sign14 = (Address >> (0+9)) & ((1<<1)-1);
535 dTheta14 = (Address >> (0+9+1)) & ((1<<3)-1);
536 CLCT1 = (Address >> (0+9+1+3)) & ((1<<2)-1);
537 float CLCT1Sign= (Address >> (0+9+1+3+2)) & ((1<<1)-1);
538 CLCT4 = (Address >> (0+9+1+3+2+1)) & ((1<<2)-1);
539 float CLCT4Sign= (Address >> (0+9+1+3+2+1+2)) & ((1<<1)-1);
540 FR1 = (Address >> (0+9+1+3+2+1+2+1)) & ((1<<1)-1);
541 FR4 = (Address >> (0+9+1+3+2+1+2+1+1)) & ((1<<1)-1);
542 int TrackEta_ = (Address >> (0+9+1+3+2+1+2+1+1+1)) & ((1<<5)-1);
547 if (sign14 == 0) dPhi14 = -1*dPhi14;
548 if (CLCT1Sign == 0) CLCT1 = -1*CLCT1;
549 if (CLCT4Sign == 0) CLCT4 = -1*CLCT4;
555 int dPhi23_ = (Address >> (0)) & ((1<<9)-1);
556 float sign23 = (Address >> (0+9)) & ((1<<1)-1);
557 dTheta23 = (Address >> (0+9+1)) & ((1<<3)-1);
558 CLCT2 = (Address >> (0+9+1+3)) & ((1<<2)-1);
559 float CLCT2Sign= (Address >> (0+9+1+3+2)) & ((1<<1)-1);
560 CLCT3 = (Address >> (0+9+1+3+2+1)) & ((1<<2)-1);
561 float CLCT3Sign= (Address >> (0+9+1+3+2+1+2)) & ((1<<1)-1);
562 FR2 = (Address >> (0+9+1+3+2+1+2+1)) & ((1<<1)-1);
563 FR3 = (Address >> (0+9+1+3+2+1+2+1+1)) & ((1<<1)-1);
564 int TrackEta_ = (Address >> (0+9+1+3+2+1+2+1+1+1)) & ((1<<5)-1);
569 if (sign23 == 0) dPhi23 = -1*dPhi23;
570 if (CLCT2Sign == 0) CLCT2 = -1*CLCT2;
571 if (CLCT3Sign == 0) CLCT3 = -1*CLCT3;
576 int dPhi24_ = (Address >> (0)) & ((1<<9)-1);
577 float sign24 = (Address >> (0+9)) & ((1<<1)-1);
578 dTheta24 = (Address >> (0+9+1)) & ((1<<3)-1);
579 CLCT2 = (Address >> (0+9+1+3)) & ((1<<2)-1);
580 float CLCT2Sign= (Address >> (0+9+1+3+2)) & ((1<<1)-1);
581 CLCT4 = (Address >> (0+9+1+3+2+1)) & ((1<<2)-1);
582 float CLCT4Sign= (Address >> (0+9+1+3+2+1+2)) & ((1<<1)-1);
583 FR2 = (Address >> (0+9+1+3+2+1+2+1)) & ((1<<1)-1);
584 FR4 = (Address >> (0+9+1+3+2+1+2+1+1)) & ((1<<1)-1);
585 int TrackEta_ = (Address >> (0+9+1+3+2+1+2+1+1+1)) & ((1<<5)-1);
590 if (sign24 == 0) dPhi24 = -1*dPhi24;
591 if (CLCT2Sign == 0) CLCT2 = -1*CLCT2;
592 if (CLCT4Sign == 0) CLCT4 = -1*CLCT4;
597 int dPhi34_ = (Address >> (0)) & ((1<<9)-1);
598 float sign34 = (Address >> (0+9)) & ((1<<1)-1);
599 dTheta34 = (Address >> (0+9+1)) & ((1<<3)-1);
600 CLCT3 = (Address >> (0+9+1+3)) & ((1<<2)-1);
601 float CLCT3Sign= (Address >> (0+9+1+3+2)) & ((1<<1)-1);
602 CLCT4 = (Address >> (0+9+1+3+2+1)) & ((1<<2)-1);
603 float CLCT4Sign= (Address >> (0+9+1+3+2+1+2)) & ((1<<1)-1);
604 FR3 = (Address >> (0+9+1+3+2+1+2+1)) & ((1<<1)-1);
605 FR4 = (Address >> (0+9+1+3+2+1+2+1+1)) & ((1<<1)-1);
606 int TrackEta_ = (Address >> (0+9+1+3+2+1+2+1+1+1)) & ((1<<5)-1);
611 if (sign34 == 0) dPhi34 = -1*dPhi34;
612 if (CLCT3Sign == 0) CLCT3 = -1*CLCT3;
613 if (CLCT4Sign == 0) CLCT4 = -1*CLCT4;
617 int dPhi12_ = (Address >> (0)) & ((1<<7)-1);
618 int dPhi23_ = (Address >> (0+7)) & ((1<<5)-1);
619 float sign12 = (Address >> (0+7+5)) & ((1<<1)-1);
620 float sign23 = (Address >> (0+7+5+1)) & ((1<<1)-1);
621 dTheta13 = (Address >> (0+7+5+1+1)) & ((1<<3)-1);
622 CLCT1 = (Address >> (0+7+5+1+1+3)) & ((1<<2)-1);
623 float CLCT1Sign= (Address >> (0+7+5+1+1+3+2)) & ((1<<1)-1);
624 FR1 = (Address >> (0+7+5+1+1+3+2+1)) & ((1<<1)-1);
625 int TrackEta_ = (Address >> (0+7+5+1+1+3+2+1+1)) & ((1<<5)-1);
635 if (sign12 == 0) dPhi12 = -1*dPhi12;
636 if (sign23 == 0) dPhi23 = -1*dPhi23;
637 if (CLCT1Sign == 0) CLCT1 = -1*CLCT1;
641 int dPhi12_ = (Address >> (0)) & ((1<<7)-1);
642 int dPhi24_ = (Address >> (0+7)) & ((1<<5)-1);
643 float sign12 = (Address >> (0+7+5)) & ((1<<1)-1);
644 float sign24 = (Address >> (0+7+5+1)) & ((1<<1)-1);
645 dTheta14 = (Address >> (0+7+5+1+1)) & ((1<<3)-1);
646 CLCT1 = (Address >> (0+7+5+1+1+3)) & ((1<<2)-1);
647 float CLCT1Sign= (Address >> (0+7+5+1+1+3+2)) & ((1<<1)-1);
648 FR1 = (Address >> (0+7+5+1+1+3+2+1)) & ((1<<1)-1);
649 int TrackEta_ = (Address >> (0+7+5+1+1+3+2+1+1)) & ((1<<5)-1);
655 if (sign12 == 0) dPhi12 = -1*dPhi12;
656 if (sign24 == 0) dPhi24 = -1*dPhi24;
657 if (CLCT1Sign == 0) CLCT1 = -1*CLCT1;
661 int dPhi13_ = (Address >> (0)) & ((1<<7)-1);
662 int dPhi34_ = (Address >> (0+7)) & ((1<<5)-1);
663 float sign13 = (Address >> (0+7+5)) & ((1<<1)-1);
664 float sign34 = (Address >> (0+7+5+1)) & ((1<<1)-1);
665 dTheta14 = (Address >> (0+7+5+1+1)) & ((1<<3)-1);
666 CLCT1 = (Address >> (0+7+5+1+1+3)) & ((1<<2)-1);
667 float CLCT1Sign= (Address >> (0+7+5+1+1+3+2)) & ((1<<1)-1);
668 FR1 = (Address >> (0+7+5+1+1+3+2+1)) & ((1<<1)-1);
669 int TrackEta_ = (Address >> (0+7+5+1+1+3+2+1+1)) & ((1<<5)-1);
675 if (sign13 == 0) dPhi13 = -1*dPhi13;
676 if (sign34 == 0) dPhi34 = -1*dPhi34;
677 if (CLCT1Sign == 0) CLCT1 = -1*CLCT1;
681 int dPhi23_ = (Address >> (0)) & ((1<<7)-1);
682 int dPhi34_ = (Address >> (0+7)) & ((1<<6)-1);
683 float sign23 = (Address >> (0+7+6)) & ((1<<1)-1);
684 float sign34 = (Address >> (0+7+6+1)) & ((1<<1)-1);
685 dTheta24 = (Address >> (0+7+6+1+1)) & ((1<<3)-1);
686 CLCT2 = (Address >> (0+7+5+1+1+3)) & ((1<<2)-1);
687 float CLCT2Sign= (Address >> (0+7+6+1+1+3+2)) & ((1<<1)-1);
688 int TrackEta_ = (Address >> (0+7+6+1+1+3+2+1)) & ((1<<5)-1);
694 if (sign23 == 0) dPhi23 = -1*dPhi23;
695 if (sign34 == 0) dPhi34 = -1*dPhi34;
696 if (CLCT2Sign == 0) CLCT2 = -1*CLCT2;
700 int dPhi12_ = (Address >> (0)) & ((1<<7)-1);
701 int dPhi23_ = (Address >> (0+7)) & ((1<<5)-1);
702 int dPhi34_ = (Address >> (0+7+5)) & ((1<<6)-1);
703 int sign23 = (Address >> (0+7+5+6)) & ((1<<1)-1);
704 int sign34 = (Address >> (0+7+5+6+1)) & ((1<<1)-1);
705 FR1 = (Address >> (0+7+5+6+1+1)) & ((1<<1)-1);
706 int TrackEta_ = (Address >> (0+7+5+6+1+1+1)) & ((1<<5)-1);
713 if (sign23 == 0) dPhi23 = -1*dPhi23;
714 if (sign34 == 0) dPhi34 = -1*dPhi34;
721 cout <<
"Inverted mode 15: " << hex << Address <<
" " <<
dec << dPhi12 <<
" " << dPhi23 <<
" " << dPhi34 <<
" " <<
" " << FR1 <<
" " << TrackEta <<
" " <<
dec << endl;
723 cout <<
"Inverted mode 14: " << hex << Address <<
" " <<
dec << dPhi23 <<
" " << dPhi34 <<
" " <<
" " <<
" " << TrackEta <<
" " <<
dec << endl;
725 cout <<
"Inverted mode 13: " << hex << Address <<
" " <<
dec << dPhi13 <<
" " << dPhi34 <<
" " <<
" " << FR1 <<
" " << TrackEta <<
" " <<
dec << endl;
727 cout <<
"Inverted mode 11: " << hex << Address <<
" " <<
dec << dPhi12 <<
" " << dPhi24 <<
" " <<
" " << FR1 <<
" " << TrackEta <<
" " <<
dec << endl;
729 cout <<
"Inverted mode 7: " << hex << Address <<
" " <<
dec << dPhi12 <<
" " << dPhi23 <<
" " <<
" " << FR1 <<
" " << TrackEta <<
" " <<
dec << endl;
731 cout <<
"Inverted mode 3: " << hex << Address <<
" " <<
dec << dPhi12 <<
" " <<
" " << FR1 <<
" " << TrackEta <<
" " <<
dec << endl;
759 for(
int f=0;
f<4;
f++){
760 cout<<
"\nphis["<<
f<<
"] = "<<phis[
f]<<
" and etas = "<<
etas[
f]<<endl;
761 cout<<
"\nclct["<<
f<<
"] = "<<clct[
f]<<
" and cscid = "<<cscid[
f]<<endl;
765 cout<<
"\ndphi["<<u<<
"] = "<<dphi[u]<<
" and deta = "<<deta[u]<<endl;
775 int size[13] = {5,0,5,5,5,0,5,5,5,5,5,4,4};
776 int Variables[24] = {dphi[0], dphi[1], dphi[2], dphi[3], dphi[4], dphi[5], deta[0], deta[1], deta[2], deta[3], deta[4], deta[5],
777 clct[0], clct[1], clct[2], clct[3], cscid[0], cscid[1], cscid[2], cscid[3], FR[0], FR[1], FR[2], FR[3]};
786 int goodMode =
false;
787 int allowedModes[11] = {3,5,9,6,10,12,7,11,13,14,15};
788 for (
int i=0;
i<11;
i++)
789 if (allowedModes[
i] == mode_inv)
796 for(
int i=3;
i<16;
i++){
801 vector<Double_t> Data;
804 for(
int y=0;y<size[mode_inv-3];y++){
805 Data.push_back(Variables[ModeVariables[mode_inv-3][y]]);
806 if(verbose)
cout<<
"Generalized Variables "<<y<<
" "<<Variables[ModeVariables[mode_inv-3][y]]<<
"\n";
810 cout<<
"Data.size() = "<<Data.size()<<
"\n";
812 cout<<
"Data["<<
i<<
"] = "<<Data[
i]<<
"\n";
815 Event *
event =
new Event();
819 float OpT =
event->predictedValue;
824 if (MpT<0.0) MpT = 1.0;
825 if (MpT>200.0) MpT = 200.0;
862 int dphi[6] = {-999,-999,-999,-999,-999,-999}, deta[6] = {-999,-999,-999,-999,-999,-999};
863 int clct[4] = {-999,-999,-999,-999}, cscid[4] = {-999,-999,-999,-999};
864 int phis[4] = {-999,-999,-999,-999},
etas[4] = {-999,-999,-999,-999}, mode_inv = 0;;
865 int FR[4] = {-999,-999,-999,-999};
867 float theta_angle = ((track.
theta)*0.2874016 + 8.5)*(3.14159265359/180);
868 float eta = (-1)*
log(
tan(theta_angle/2));
874 if(verbose)
cout<<
"Track eta = "<<eta<<
" and has hits in stations ";
877 for(
unsigned int s=8;
s<12;
s++){
878 if((stubs.find(
s)->second).
size() == 1){
881 if(verbose)
cout<<
"s= " <<
s <<
" " << endl;
884 if(verbose)
cout<<
"eta= " <<
etas[
s-8] <<
" " << endl;
885 phis[
s-8] = track.
phis[x];
886 if(verbose)
cout<<
"phi= " << phis[
s-8] <<
" " << endl;
887 clct[
s-8] = (stubs.find(
s)->second)[0].getPattern();
888 if(verbose)
cout<<
"clct= " << clct[
s-8] <<
" " << endl;
889 cscid[
s-8] = (stubs.find(
s)->second)[0].Id();
890 if(verbose)
cout<<
"cscid= " << cscid[
s-8] <<
" " << endl;
892 if(verbose)
cout<<
s <<
" " << (stubs.find(
s)->second)[0].detId<CSCDetId>().station()<<
" " << phis[
s-8] << endl;;
894 const CSCChamber* layer = cscGeometry->chamber((stubs.find(
s)->second)[0].detId<CSCDetId>());
900 int coord[5] = {586,686,815,924,1013};
901 for(
int i=0;
i<5;
i++){
903 if((fabs(glc.
z()) < (coord[
i] + 7)) && (fabs(glc.
z()) > (coord[
i] - 7)))
924 if(verbose)
cout <<
"\n Mode = " << mode <<
", inverted mode = " << mode_inv << endl;
930 if(phis[0] > 0 && phis[1] > 0){
931 dphi[0] = phis[1] - phis[0];
934 if(phis[0] > 0 && phis[2] > 0){
935 dphi[1] = phis[2] - phis[0];
938 if(phis[0] > 0 && phis[3] > 0){
939 dphi[2] = phis[3] - phis[0];
942 if(phis[1] > 0 && phis[2] > 0){
943 dphi[3] = phis[2] - phis[1];
946 if(phis[1] > 0 && phis[3] > 0){
947 dphi[4] = phis[3] - phis[1];
950 if(phis[2] > 0 && phis[3] > 0){
951 dphi[5] = phis[3] - phis[2];
959 float dPhi12__ = fabs(dphi[0]);
960 float eta__ =
getEta(eta, 5);
961 float clct1__ =
getCLCT(clct[0]);
962 float clct2__ =
getCLCT(clct[1]);
965 cout <<
"Inverted mode 3 Track " << endl;
966 cout << setw(10) <<
"dPhi12: " << dphi[0] << setw(10) << dPhi12__ << endl;
967 cout << setw(10) <<
"CLCT1: " << clct[0] << setw(10) << clct1__ << endl;
968 cout << setw(10) <<
"CLCT2: " << clct[1] << setw(10) << clct2__ << endl;
969 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
973 float dPhi13__ = fabs(dphi[1]);
974 float eta__ =
getEta(eta, 5);
975 float clct1__ =
getCLCT(clct[0]);
976 float clct3__ =
getCLCT(clct[2]);
979 cout <<
"Inverted mode 5 Track " << endl;
980 cout << setw(10) <<
"dPhi13: " << dphi[1] << setw(10) << dPhi13__ << endl;
981 cout << setw(10) <<
"CLCT1: " << clct[0] << setw(10) << clct1__ << endl;
982 cout << setw(10) <<
"CLCT3: " << clct[2] << setw(10) << clct3__ << endl;
983 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
987 float dPhi14__ = fabs(dphi[2]);
988 float eta__ =
getEta(eta, 5);
989 float clct1__ =
getCLCT(clct[0]);
990 float clct4__ =
getCLCT(clct[3]);
993 cout <<
"Inverted mode 9 Track " << endl;
994 cout << setw(10) <<
"dPhi14: " << dphi[2] << setw(10) << dPhi14__ << endl;
995 cout << setw(10) <<
"CLCT1: " << clct[0] << setw(10) << clct1__ << endl;
996 cout << setw(10) <<
"CLCT4: " << clct[3] << setw(10) << clct4__ << endl;
997 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
1001 float dPhi23__ = fabs(dphi[3]);
1002 float eta__ =
getEta(eta, 5);
1003 float clct2__ =
getCLCT(clct[1]);
1004 float clct3__ =
getCLCT(clct[2]);
1007 cout <<
"Inverted mode 9 Track " << endl;
1008 cout << setw(10) <<
"dPhi23: " << dphi[3] << setw(10) << dPhi23__ << endl;
1009 cout << setw(10) <<
"CLCT2: " << clct[1] << setw(10) << clct2__ << endl;
1010 cout << setw(10) <<
"CLCT3: " << clct[2] << setw(10) << clct3__ << endl;
1011 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
1015 float dPhi24__ = fabs(dphi[4]);
1016 float eta__ =
getEta(eta, 5);
1017 float clct2__ =
getCLCT(clct[1]);
1018 float clct4__ =
getCLCT(clct[3]);
1021 cout <<
"Inverted mode 10 Track " << endl;
1022 cout << setw(10) <<
"dPhi24: " << dphi[4] << setw(10) << dPhi24__ << endl;
1023 cout << setw(10) <<
"CLCT2: " << clct[1] << setw(10) << clct2__ << endl;
1024 cout << setw(10) <<
"CLCT4: " << clct[3] << setw(10) << clct4__ << endl;
1025 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
1029 float dPhi34__ = fabs(dphi[5]);
1030 float eta__ =
getEta(eta, 5);
1031 float clct3__ =
getCLCT(clct[2]);
1032 float clct4__ =
getCLCT(clct[3]);
1035 cout <<
"Inverted mode 12 Track " << endl;
1036 cout << setw(10) <<
"dPhi34: " << dphi[5] << setw(10) << dPhi34__ << endl;
1037 cout << setw(10) <<
"CLCT3: " << clct[2] << setw(10) << clct3__ << endl;
1038 cout << setw(10) <<
"CLCT4: " << clct[3] << setw(10) << clct4__ << endl;
1039 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
1046 float eta__ =
getEta(eta, 5);
1047 float clct1__ =
getCLCT(clct[0]);
1049 cout <<
"Inverted mode 7 Track " << endl;
1050 cout << setw(10) <<
"dPhi12: " << dphi[0] << setw(10) << dPhi12__ << endl;
1051 cout << setw(10) <<
"dPhi23: " << dphi[3] << setw(10) << dPhi23__ << endl;
1052 cout << setw(10) <<
"CLCT1: " << clct[0] << setw(10) << clct1__ << endl;
1053 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
1059 float eta__ =
getEta(eta, 5);
1060 float clct1__ =
getCLCT(clct[0]);
1062 cout <<
"Inverted mode 11 Track " << endl;
1063 cout << setw(10) <<
"dPhi12: " << dphi[0] << setw(10) << dPhi12__ << endl;
1064 cout << setw(10) <<
"dPhi24: " << dphi[4] << setw(10) << dPhi24__ << endl;
1065 cout << setw(10) <<
"CLCT1: " << clct[0] << setw(10) << clct1__ << endl;
1066 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
1072 float eta__ =
getEta(eta, 5);
1073 float clct1__ =
getCLCT(clct[0]);
1075 cout <<
"Inverted mode 13 Track " << endl;
1076 cout << setw(10) <<
"dPhi13: " << dphi[1] << setw(10) << dPhi13__ << endl;
1077 cout << setw(10) <<
"dPhi34: " << dphi[5] << setw(10) << dPhi34__ << endl;
1078 cout << setw(10) <<
"CLCT1: " << clct[0] << setw(10) << clct1__ << endl;
1079 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
1085 float eta__ =
getEta(eta, 5);
1086 float clct2__ =
getCLCT(clct[1]);
1088 cout <<
"Inverted mode 14 Track " << endl;
1089 cout << setw(10) <<
"dPhi23: " << dphi[3] << setw(10) << dPhi23__ << endl;
1090 cout << setw(10) <<
"dPhi34: " << dphi[5] << setw(10) << dPhi34__ << endl;
1091 cout << setw(10) <<
"CLCT2: " << clct[1] << setw(10) << clct2__ << endl;
1092 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
1099 float eta__ =
getEta(eta, 5);
1102 cout <<
"Inverted mode 15 Track " << endl;
1103 cout << setw(10) <<
"dPhi12: " << dphi[0] << setw(10) << dPhi12__ << endl;
1104 cout << setw(10) <<
"dPhi23: " << dphi[3] << setw(10) << dPhi23__ << endl;
1105 cout << setw(10) <<
"dPhi34: " << dphi[5] << setw(10) << dPhi34__ << endl;
1106 cout << setw(10) <<
"eta : " << eta << setw(10) << eta__ << endl;
1110 float dPhi12 = dphi[0];
1111 float dPhi13 = dphi[1];
1112 float dPhi14 = dphi[2];
1113 float dPhi23 = dphi[3];
1114 float dPhi24 = dphi[4];
1115 float dPhi34 = dphi[5];
1116 float dTheta12 = deta[0];
1117 float dTheta13 = deta[1];
1118 float dTheta14 = deta[2];
1119 float dTheta23 = deta[3];
1120 float dTheta24 = deta[4];
1121 float dTheta34 = deta[5];
1123 float CLCT1 = clct[0];
1124 float CLCT2 = clct[1];
1125 float CLCT3 = clct[2];
1126 float CLCT4 = clct[3];
1132 unsigned long Address = 0x0;
1134 if (doComp && mode_inv==3)
1138 if (dPhi12<0) dPhi12Sign = -1;
1146 int dPhi12_ = fabs(dPhi12);
1147 int sign12_ = dPhi12Sign > 0 ? 1 : 0;
1150 int CLCT1Sign_ = CLCT1_ > 0 ? 1 : 0;
1151 CLCT1_ =
abs(CLCT1_);
1153 int CLCT2Sign_ = CLCT2_ > 0 ? 1 : 0;
1154 CLCT2_ =
abs(CLCT2_);
1158 int Mode_ = mode_inv;
1160 Address += ( dPhi12_ & ((1<<9)-1)) << (0);
1161 Address += ( sign12_ & ((1<<1)-1)) << (0+9);
1162 Address += ( dTheta12_ & ((1<<3)-1)) << (0+9+1);
1163 Address += ( CLCT1_ & ((1<<2)-1)) << (0+9+1+3);
1164 Address += ( CLCT1Sign_ & ((1<<1)-1)) << (0+9+1+3+2);
1165 Address += ( CLCT2_ & ((1<<2)-1)) << (0+9+1+3+2+1);
1166 Address += ( CLCT2Sign_ & ((1<<1)-1)) << (0+9+1+3+2+1+2);
1167 Address += ( FR1_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1);
1168 Address += ( FR2_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1+1);
1169 Address += ( eta_ & ((1<<5)-1)) << (0+9+1+3+2+1+2+1+1+1);
1170 Address += ( Mode_ & ((1<<4)-1)) << (0+9+1+3+2+1+2+1+1+1+5);
1173 if (doComp && mode_inv==5)
1181 if (dPhi13<0) dPhi13Sign = -1;
1186 int dPhi13_ = fabs(dPhi13);
1187 int sign13_ = dPhi13Sign > 0 ? 1 : 0;
1190 int CLCT1Sign_ = CLCT1_ > 0 ? 1 : 0;
1191 CLCT1_ =
abs(CLCT1_);
1193 int CLCT3Sign_ = CLCT3_ > 0 ? 1 : 0;
1194 CLCT3_ =
abs(CLCT3_);
1198 int Mode_ = mode_inv;
1200 Address += ( dPhi13_ & ((1<<9)-1)) << (0);
1201 Address += ( sign13_ & ((1<<1)-1)) << (0+9);
1202 Address += ( dTheta13_ & ((1<<3)-1)) << (0+9+1);
1203 Address += ( CLCT1_ & ((1<<2)-1)) << (0+9+1+3);
1204 Address += ( CLCT1Sign_ & ((1<<1)-1)) << (0+9+1+3+2);
1205 Address += ( CLCT3_ & ((1<<2)-1)) << (0+9+1+3+2+1);
1206 Address += ( CLCT3Sign_ & ((1<<1)-1)) << (0+9+1+3+2+1+2);
1207 Address += ( FR1_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1);
1208 Address += ( FR3_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1+1);
1209 Address += ( eta_ & ((1<<5)-1)) << (0+9+1+3+2+1+2+1+1+1);
1210 Address += ( Mode_ & ((1<<4)-1)) << (0+9+1+3+2+1+2+1+1+1+5);
1213 if (doComp && mode_inv==9)
1222 if (dPhi14<0) dPhi14Sign = -1;
1227 int dPhi14_ = fabs(dPhi14);
1228 int sign14_ = dPhi14Sign > 0 ? 1 : 0;
1231 int CLCT1Sign_ = CLCT1_ > 0 ? 1 : 0;
1232 CLCT1_ =
abs(CLCT1_);
1234 int CLCT4Sign_ = CLCT4_ > 0 ? 1 : 0;
1235 CLCT4_ =
abs(CLCT4_);
1239 int Mode_ = mode_inv;
1241 Address += ( dPhi14_ & ((1<<9)-1)) << (0);
1242 Address += ( sign14_ & ((1<<1)-1)) << (0+9);
1243 Address += ( dTheta14_ & ((1<<3)-1)) << (0+9+1);
1244 Address += ( CLCT1_ & ((1<<2)-1)) << (0+9+1+3);
1245 Address += ( CLCT1Sign_ & ((1<<1)-1)) << (0+9+1+3+2);
1246 Address += ( CLCT4_ & ((1<<2)-1)) << (0+9+1+3+2+1);
1247 Address += ( CLCT4Sign_ & ((1<<1)-1)) << (0+9+1+3+2+1+2);
1248 Address += ( FR1_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1);
1249 Address += ( FR4_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1+1);
1250 Address += ( eta_ & ((1<<5)-1)) << (0+9+1+3+2+1+2+1+1+1);
1251 Address += ( Mode_ & ((1<<4)-1)) << (0+9+1+3+2+1+2+1+1+1+5);
1253 if (doComp && mode_inv==6)
1261 if (dPhi23<0) dPhi23Sign = -1;
1266 int dPhi23_ = fabs(dPhi23);
1267 int sign23_ = dPhi23Sign > 0 ? 1 : 0;
1270 int CLCT2Sign_ = CLCT2_ > 0 ? 1 : 0;
1271 CLCT2_ =
abs(CLCT2_);
1273 int CLCT3Sign_ = CLCT3_ > 0 ? 1 : 0;
1274 CLCT3_ =
abs(CLCT3_);
1278 int Mode_ = mode_inv;
1280 Address += ( dPhi23_ & ((1<<9)-1)) << (0);
1281 Address += ( sign23_ & ((1<<1)-1)) << (0+9);
1282 Address += ( dTheta23_ & ((1<<3)-1)) << (0+9+1);
1283 Address += ( CLCT2_ & ((1<<2)-1)) << (0+9+1+3);
1284 Address += ( CLCT2Sign_ & ((1<<1)-1)) << (0+9+1+3+2);
1285 Address += ( CLCT3_ & ((1<<2)-1)) << (0+9+1+3+2+1);
1286 Address += ( CLCT3Sign_ & ((1<<1)-1)) << (0+9+1+3+2+1+2);
1287 Address += ( FR2_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1);
1288 Address += ( FR3_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1+1);
1289 Address += ( eta_ & ((1<<5)-1)) << (0+9+1+3+2+1+2+1+1+1);
1290 Address += ( Mode_ & ((1<<4)-1)) << (0+9+1+3+2+1+2+1+1+1+5);
1292 if (doComp && mode_inv==10)
1300 if (dPhi24<0) dPhi24Sign = -1;
1305 int dPhi24_ = fabs(dPhi24);
1306 int sign24_ = dPhi24Sign > 0 ? 1 : 0;
1309 int CLCT2Sign_ = CLCT2_ > 0 ? 1 : 0;
1310 CLCT2_ =
abs(CLCT2_);
1312 int CLCT4Sign_ = CLCT4_ > 0 ? 1 : 0;
1313 CLCT4_ =
abs(CLCT4_);
1317 int Mode_ = mode_inv;
1319 Address += ( dPhi24_ & ((1<<9)-1)) << (0);
1320 Address += ( sign24_ & ((1<<1)-1)) << (0+9);
1321 Address += ( dTheta24_ & ((1<<3)-1)) << (0+9+1);
1322 Address += ( CLCT2_ & ((1<<2)-1)) << (0+9+1+3);
1323 Address += ( CLCT2Sign_ & ((1<<1)-1)) << (0+9+1+3+2);
1324 Address += ( CLCT4_ & ((1<<2)-1)) << (0+9+1+3+2+1);
1325 Address += ( CLCT4Sign_ & ((1<<1)-1)) << (0+9+1+3+2+1+2);
1326 Address += ( FR2_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1);
1327 Address += ( FR4_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1+1);
1328 Address += ( eta_ & ((1<<5)-1)) << (0+9+1+3+2+1+2+1+1+1);
1329 Address += ( Mode_ & ((1<<4)-1)) << (0+9+1+3+2+1+2+1+1+1+5);
1331 if (doComp && mode_inv==12)
1338 if (dPhi34<0) dPhi34Sign = -1;
1343 int dPhi34_ = fabs(dPhi34);
1344 int sign34_ = dPhi34Sign > 0 ? 1 : 0;
1347 int CLCT3Sign_ = CLCT3_ > 0 ? 1 : 0;
1348 CLCT3_ =
abs(CLCT3_);
1350 int CLCT4Sign_ = CLCT4_ > 0 ? 1 : 0;
1351 CLCT4_ =
abs(CLCT4_);
1355 int Mode_ = mode_inv;
1357 Address += ( dPhi34_ & ((1<<9)-1)) << (0);
1358 Address += ( sign34_ & ((1<<1)-1)) << (0+9);
1359 Address += ( dTheta34_ & ((1<<3)-1)) << (0+9+1);
1360 Address += ( CLCT3_ & ((1<<2)-1)) << (0+9+1+3);
1361 Address += ( CLCT3Sign_ & ((1<<1)-1)) << (0+9+1+3+2);
1362 Address += ( CLCT4_ & ((1<<2)-1)) << (0+9+1+3+2+1);
1363 Address += ( CLCT4Sign_ & ((1<<1)-1)) << (0+9+1+3+2+1+2);
1364 Address += ( FR3_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1);
1365 Address += ( FR4_ & ((1<<1)-1)) << (0+9+1+3+2+1+2+1+1);
1366 Address += ( eta_ & ((1<<5)-1)) << (0+9+1+3+2+1+2+1+1+1);
1367 Address += ( Mode_ & ((1<<4)-1)) << (0+9+1+3+2+1+2+1+1+1+5);
1370 if (doComp && mode_inv==7)
1378 if (dPhi12<0) dPhi12Sign = -1;
1379 if (dPhi23<0) dPhi23Sign = -1;
1386 int sign12_ = dPhi12Sign > 0 ? 1 : 0;
1387 int sign23_ = dPhi23Sign > 0 ? 1 : 0;
1390 int CLCT1Sign_ = CLCT1_ > 0 ? 1 : 0;
1391 CLCT1_ =
abs(CLCT1_);
1394 int Mode_ = mode_inv;
1396 Address += ( dPhi12_ & ((1<<7)-1)) << (0);
1397 Address += ( dPhi23_ & ((1<<5)-1)) << (0+7);
1398 Address += ( sign12_ & ((1<<1)-1)) << (0+7+5);
1399 Address += ( sign23_ & ((1<<1)-1)) << (0+7+5+1);
1400 Address += ( dTheta13_ & ((1<<3)-1)) << (0+7+5+1+1);
1401 Address += ( CLCT1_ & ((1<<2)-1)) << (0+7+5+1+1+3);
1402 Address += ( CLCT1Sign_ & ((1<<1)-1)) << (0+7+5+1+1+3+2);
1403 Address += ( FR1_ & ((1<<1)-1)) << (0+7+5+1+1+3+2+1);
1404 Address += ( eta_ & ((1<<5)-1)) << (0+7+5+1+1+3+2+1+1);
1405 Address += ( Mode_ & ((1<<4)-1)) << (0+7+5+1+1+3+2+1+1+5);
1408 if (doComp && mode_inv==11)
1415 if (dPhi12<0) dPhi12Sign = -1;
1416 if (dPhi24<0) dPhi24Sign = -1;
1422 int sign12_ = dPhi12Sign > 0 ? 1 : 0;
1423 int sign24_ = dPhi24Sign > 0 ? 1 : 0;
1426 int CLCT1Sign_ = CLCT1_ > 0 ? 1 : 0;
1427 CLCT1_ =
abs(CLCT1_);
1430 int Mode_ = mode_inv;
1432 Address += ( dPhi12_ & ((1<<7)-1)) << (0);
1433 Address += ( dPhi24_ & ((1<<5)-1)) << (0+7);
1434 Address += ( sign12_ & ((1<<1)-1)) << (0+7+5);
1435 Address += ( sign24_ & ((1<<1)-1)) << (0+7+5+1);
1436 Address += ( dTheta14_ & ((1<<3)-1)) << (0+7+5+1+1);
1437 Address += ( CLCT1_ & ((1<<2)-1)) << (0+7+5+1+1+3);
1438 Address += ( CLCT1Sign_ & ((1<<1)-1)) << (0+7+5+1+1+3+2);
1439 Address += ( FR1_ & ((1<<1)-1)) << (0+7+5+1+1+3+2+1);
1440 Address += ( eta_ & ((1<<5)-1)) << (0+7+5+1+1+3+2+1+1);
1441 Address += ( Mode_ & ((1<<4)-1)) << (0+7+5+1+1+3+2+1+1+5);
1443 if (doComp && mode_inv==13)
1450 if (dPhi13<0) dPhi13Sign = -1;
1451 if (dPhi34<0) dPhi34Sign = -1;
1457 int sign13_ = dPhi13Sign > 0 ? 1 : 0;
1458 int sign34_ = dPhi34Sign > 0 ? 1 : 0;
1461 int CLCT1Sign_ = CLCT1_ > 0 ? 1 : 0;
1462 CLCT1_ =
abs(CLCT1_);
1465 int Mode_ = mode_inv;
1467 Address += ( dPhi13_ & ((1<<7)-1)) << (0);
1468 Address += ( dPhi34_ & ((1<<6)-1)) << (0+7);
1469 Address += ( sign13_ & ((1<<1)-1)) << (0+7+5);
1470 Address += ( sign34_ & ((1<<1)-1)) << (0+7+5+1);
1471 Address += ( dTheta14_ & ((1<<3)-1)) << (0+7+5+1+1);
1472 Address += ( CLCT1_ & ((1<<2)-1)) << (0+7+5+1+1+3);
1473 Address += ( CLCT1Sign_ & ((1<<1)-1)) << (0+7+5+1+1+3+2);
1474 Address += ( FR1_ & ((1<<1)-1)) << (0+7+5+1+1+3+2+1);
1475 Address += ( eta_ & ((1<<5)-1)) << (0+7+5+1+1+3+2+1+1);
1476 Address += ( Mode_ & ((1<<4)-1)) << (0+7+5+1+1+3+2+1+1+5);
1479 if (doComp && mode_inv==14)
1487 if (dPhi23<0) dPhi23Sign = -1;
1488 if (dPhi34<0) dPhi34Sign = -1;
1494 int sign23_ = dPhi23Sign > 0 ? 1 : 0;
1495 int sign34_ = dPhi34Sign > 0 ? 1 : 0;
1498 int CLCT2Sign_ = CLCT2_ > 0 ? 1 : 0;
1499 CLCT2_ =
abs(CLCT2_);
1501 int Mode_ = mode_inv;
1503 Address += ( dPhi23_ & ((1<<7)-1)) << (0);
1504 Address += ( dPhi34_ & ((1<<6)-1)) << (0+7);
1505 Address += ( sign23_ & ((1<<1)-1)) << (0+7+6);
1506 Address += ( sign34_ & ((1<<1)-1)) << (0+7+6+1);
1507 Address += ( dTheta24_ & ((1<<3)-1)) << (0+7+6+1+1);
1508 Address += ( CLCT2_ & ((1<<2)-1)) << (0+7+6+1+1+3);
1509 Address += ( CLCT2Sign_ & ((1<<1)-1)) << (0+7+6+1+1+3+2);
1510 Address += ( eta_ & ((1<<5)-1)) << (0+7+6+1+1+3+2+1);
1511 Address += ( Mode_ & ((1<<4)-1)) << (0+7+6+1+1+3+2+1+5);
1514 if (doComp && mode_inv==15)
1520 if (dPhi12<0) dPhi12Sign = -1;
1521 if (dPhi23<0) dPhi23Sign = -1;
1522 if (dPhi34<0) dPhi34Sign = -1;
1524 if (dPhi12Sign==-1 && dPhi23Sign==-1 && dPhi34Sign==-1)
1525 { dPhi12Sign=1;dPhi23Sign=1;dPhi34Sign=1;}
1526 else if (dPhi12Sign==-1 && dPhi23Sign==1 && dPhi34Sign==1)
1527 { dPhi12Sign=1;dPhi23Sign=-1;dPhi34Sign=-1;}
1528 else if (dPhi12Sign==-1 && dPhi23Sign==-1 && dPhi34Sign==1)
1529 { dPhi12Sign=1;dPhi23Sign=1;dPhi34Sign=-1;}
1530 else if (dPhi12Sign==-1 && dPhi23Sign==1 && dPhi34Sign==-1)
1531 { dPhi12Sign=1;dPhi23Sign=-1;dPhi34Sign=1;}
1537 int sign23_ = dPhi23Sign > 0 ? 1 : 0;
1538 int sign34_ = dPhi34Sign > 0 ? 1 : 0;
1541 int Mode_ = mode_inv;
1543 Address += ( dPhi12_ & ((1<<7)-1)) << 0;
1544 Address += ( dPhi23_ & ((1<<5)-1)) << (0+7);
1545 Address += ( dPhi34_ & ((1<<6)-1)) << (0+7+5);
1546 Address += ( sign23_ & ((1<<1)-1)) << (0+7+5+6);
1547 Address += ( sign34_ & ((1<<1)-1)) << (0+7+5+6+1);
1548 Address += ( FR1_ & ((1<<1)-1)) << (0+7+5+6+1+1);
1549 Address += ( eta_ & ((1<<5)-1)) << (0+7+5+6+1+1+1);
1550 Address += ( Mode_ & ((1<<4)-1)) << (0+7+5+6+1+1+1+5);
const TriggerPrimitiveStationMap & getStubs() const
void predictEvent(Event *e, unsigned int trees)
static float getdPhiFromBin(int dPhiBin, int bits, int max=512)
static int getEtaInt(float eta, int bits=5)
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
static float getEta(float eta, int bits=5)
float calculatePt(unsigned long Address)
std::vector< int > thetas
T x() const
Cartesian x coordinate.
double dPhi(double phi1, double phi2)
static float getCLCT(float clct)
static float getdTheta(float dTheta)
unsigned long calculateAddress(L1TMuon::InternalTrack track, const edm::EventSetup &es, int mode)
Tan< T >::type tan(const T &t)
Abs< T >::type abs(const T &t)
static float getNLBdPhi(float dPhi, int bits, int max=512)
static const int dPhiNLBMap_8bit[256]
static const int dPhiNLBMap_7bit_256Max[128]
static const int dPhiNLBMap_8bit_512Max[256]
static const int dPhiNLBMap_7bit_512Max[256]
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
static int getNLBdPhiBin(float dPhi, int bits, int max=512)
static float getEtafromBin(int etaBin, int bits=5)
static const int dPhiNLBMap_5bit[32]
static const int dPhiNLBMap_5bit_256Max[32]
EmtfPtAssignment(const char *tree_dir="L1Trigger/L1TMuon/data/emtf_luts/v_16_02_21/ModeVariables/trees")
static unsigned int const shift
static const int dPhiNLBMap_6bit_256Max[64]
std::map< unsigned, TriggerPrimitiveCollection > TriggerPrimitiveStationMap
static const int dPhiNLBMap_7bit[128]
tuple size
Write out results.