433 std::string chamber_str =
"xxx";
435 if(crate.substr(0,1) ==
'B' && crate.substr(2,2) ==
"01"){
438 etaStat = (biny+1 - 61)/2;
439 phiStat = 2*(biny - 2*etaStat - 61) +4;
440 }
else if( (biny-49) > 0){
442 etaStat = (biny+1 - 49)/2;
443 phiStat = 2*(biny - 49 - 2*etaStat)+ 3;
444 }
else if( (biny-37) > 0){
446 etaStat = (biny+1 - 37)/2;
447 phiStat = 2*(biny - 2*etaStat - 37) + 4;
448 }
else if ( (biny-25) > 0){
450 etaStat = (biny+1 - 25)/2;
451 phiStat = 2*(biny - 25 - 2*etaStat) +3;
452 }
else if ( (biny-24) > 0){
456 }
else if ( (biny-12) > 0){
458 etaStat = (biny+1 - 12)/2;
459 phiStat = 2*(biny - 2*etaStat - 12) + 4;
460 }
else if ( (biny) > 0){
462 etaStat = (biny+1)/2;
463 phiStat = 2*(biny - 2*etaStat) + 3;
465 }
else if (crate.substr(0,1) ==
"B" && crate.substr(2,2) ==
"02"){
468 etaStat = (biny+1 - 60)/2;
469 phiStat = 2*(biny - 2*etaStat - 60) + 8;
470 }
else if ( (biny-48) > 0){
472 etaStat = (biny+1 - 48)/2;
473 phiStat = 2*(biny - 2*etaStat - 48) + 7;
474 }
else if ( (biny-36) > 0){
476 etaStat = (biny+1 - 36)/2;
477 phiStat = 2*(biny - 2*etaStat - 36) + 8;
478 }
else if ( (biny-24) > 0){
480 etaStat = (biny+1 - 24)/2;
481 phiStat = 2*(biny - 2*etaStat - 24) + 7;
482 }
else if ( (biny-12) > 0){
484 etaStat = (biny+1 - 12)/2;
485 phiStat = 2*(biny - 2*etaStat - 12) + 8;
486 }
else if ( (biny) > 0){
488 etaStat = (biny+1)/2;
489 phiStat = 2*(biny - 2*etaStat) + 7;
491 }
else if(crate.substr(0,1) ==
"B" && crate.substr(2,2) ==
"03"){
493 if (crate.substr(1,1) ==
"C"){ cOffset = 1;}
494 if( (biny-74 + cOffset) > 0) {
496 etaStat = (biny - 74 + cOffset);
498 }
else if ( (biny-62 + cOffset) > 0){
500 etaStat = (biny+1 - 62 + cOffset)/2;
501 phiStat = 2*(biny - 2*etaStat - 62 + cOffset) + 11;
502 }
else if ( (biny - 57 ) > 0){
504 etaStat = 2*(biny - 57) - 2 + 2*cOffset;
506 }
else if ( (biny-53) > 0){
508 etaStat = 2*(biny - 53) - 1;
510 }
else if( (biny-47) > 0){
514 }
else if ( (biny-35) > 0){
516 etaStat = (biny+1 - 35)/2;
517 phiStat = 2*(biny - 2*etaStat - 35) + 11;
518 }
else if ( (biny - 32) > 0){
520 etaStat = (biny - 32)*2 ;
522 }
else if ( (biny - 29) > 0){
526 }
else if ( (biny-17) > 0){
528 etaStat = (biny+1 - 17)/2;
529 phiStat = 2*(biny - 2*etaStat - 17) + 12;
530 }
else if ( (biny-11) > 0){
534 }
else if ( (biny-6) > 0){
538 }
else if ( (biny) > 0){
543 }
else if(crate.substr(0,1) ==
"B" && crate.substr(2,2) ==
"04"){
545 if (crate.substr(1,1) ==
"C"){ cOffset = 1;}
546 if( (biny-74 + cOffset) > 0) {
548 etaStat = (biny - 74 + cOffset);
550 }
else if ( (biny-61 + cOffset) > 0){
552 etaStat = (biny+1 - 61 + cOffset)/2;
553 phiStat = 2*(biny - 2*etaStat - 61 + cOffset) + 15;
554 }
else if ( (biny - 56 ) > 0){
556 etaStat = 2*(biny - 56) - 2 + 2*cOffset;
558 }
else if ( (biny-52) > 0){
560 etaStat = 2*(biny - 52) - 1;
562 }
else if( (biny-46) > 0){
566 }
else if ( (biny - 45) > 0){
570 }
else if ( (biny-35) > 0){
572 etaStat = (biny+1 - 35)/2;
573 phiStat = 2*(biny - 2*etaStat - 35) + 15;
574 }
else if ( (biny - 32) > 0){
576 etaStat = (biny - 32)*2;
578 }
else if ( (biny - 29) > 0){
582 }
else if ( (biny-17) > 0){
584 etaStat = (biny+1 - 17)/2;
585 phiStat = 2*(biny - 2*etaStat - 17) + 16;
586 }
else if ( (biny-11) > 0){
590 }
else if ( (biny-6) > 0){
594 }
else if ( (biny) > 0){
599 }
else if(crate.substr(0,1) ==
"E" && (crate.substr(2,2) ==
"01" || crate.substr(2,2) ==
"03") ){
601 if (crate.substr(2,2) ==
"03"){ cOffset = 8;}
604 etaStat = (biny+1 - 61)/2;
605 phiStat = 2*(biny - 2*etaStat - 61) + 4 + cOffset;
606 }
else if ( (biny-49) > 0){
608 etaStat = (biny+1 - 49)/2;
609 phiStat = 2*(biny - 2*etaStat - 49) + 3 + cOffset;
610 }
else if ( (biny - 39 ) > 0){
612 etaStat = (biny+1 - 39)/2;
613 phiStat = 2*(biny - 2*etaStat - 39) + 4 + cOffset;
614 }
else if ( (biny-29) > 0){
616 etaStat = (biny+1 - 29)/2;
617 phiStat = 2*(biny - 2*etaStat - 29) + 3 + cOffset;
618 }
else if( (biny-25) > 0){
620 etaStat = (biny+1 - 25)/2;
621 phiStat = 2*(biny - 2*etaStat - 25) + 4 + cOffset;
622 }
else if ( (biny - 16) > 0){
624 etaStat = (biny+1 - 16)/2;
625 phiStat = 2*(biny - 2*etaStat - 16) + 3 + cOffset;
626 }
else if ( (biny-12) > 0){
628 etaStat = (biny+1 - 12)/2;
629 phiStat = 2*(biny - 2*etaStat - 12) + 4 + cOffset;
630 }
else if ( (biny - 8) > 0){
632 etaStat = (biny+1 - 8)/2;
633 phiStat = 2*(biny - 2*etaStat - 8 ) + 3 + cOffset;
634 }
else if ( (biny-4) > 0){
636 etaStat = (biny+1 - 4)/2 + 6;
637 phiStat = 2*(biny - 2*(etaStat-6) - 4) + 4 + cOffset;
638 }
else if ( (biny) > 0){
640 etaStat = (biny+1)/2;
641 phiStat = 2*(biny - 2*etaStat) + 4 + cOffset;
643 }
else if(crate.substr(0,1) ==
"E" && (crate.substr(2,2) ==
"02" || crate.substr(2,2) ==
"04") ){
644 int cOffset = 0;
int phiOffset = 0;
645 if (crate.substr(2,2) ==
"04"){
646 cOffset = 1; phiOffset = 8;
648 if( (biny-59 - cOffset) > 0) {
650 etaStat = (biny+1 - 59 - cOffset)/2;
651 phiStat = 2*(biny - 2*etaStat - 59 - cOffset) + 8 + phiOffset;
652 }
else if ( (biny-47 - cOffset) > 0){
654 etaStat = (biny+1 - 47 - cOffset)/2;
655 phiStat = 2*(biny - 2*etaStat - 47 - cOffset) + 7 + phiOffset;
656 }
else if ( (biny - 37 - cOffset ) > 0){
658 etaStat = (biny+1 - 37 - cOffset)/2;
659 phiStat = 2*(biny - 2*etaStat - 37 - cOffset) + 8 + phiOffset;
660 }
else if ( (biny-27 - cOffset) > 0){
662 etaStat = (biny+1 - 27 - cOffset)/2;
663 phiStat = 2*(biny - 2*etaStat - 27 - cOffset) + 7 + phiOffset;
664 }
else if( (biny-23 - cOffset) > 0){
666 etaStat = (biny+1 - 23 - cOffset)/2;
667 phiStat = 2*(biny - 2*etaStat - 23 - cOffset) + 8 + phiOffset;
668 }
else if ( (biny - 15 - cOffset) > 0){
670 etaStat = (biny+1 - 15 - cOffset)/2;
671 phiStat = 2*(biny - 2*etaStat - 15 - cOffset) + 7 + phiOffset;
672 }
else if ( (biny-11 - cOffset) > 0){
674 etaStat = (biny+1 - 11 - cOffset)/2;
675 phiStat = 2*(biny - 2*etaStat - 11 - cOffset) + 8 + phiOffset;
676 }
else if ( (biny - 8) > 0){
678 etaStat = (biny+1 - 8)/2;
679 phiStat = 2*(biny - 2*etaStat - 8 ) + 7 + phiOffset;
680 if(cOffset == 0 && etaStat == 2){phiStat = 7;}
681 }
else if ( (biny-4) > 0){
683 etaStat = (biny+1 - 4)/2 + 6;
684 phiStat = 2*(biny - 2*(etaStat-6) - 4) + 8 + phiOffset;
685 }
else if ( (biny) > 0){
687 etaStat = (biny+1)/2;
688 phiStat = 2*(biny - 2*etaStat) + 8 + phiOffset;
692 if(phiStat_str.size() == 1) phiStat_str = std::string(
"0")+phiStat_str;
694 std::string
chamber_name = chamber_str + etaStat_c + crate.substr(1,1) + phiStat_str;
695 if(chamber_str ==
"BOG" && etaStat == 0){
696 chamber_name = chamber_str + etaStat_c +
"B" + phiStat_str;