544 double factor(0.001);
548 Belle::Belle_event_Manager& bevt_mgr = Belle::Belle_event_Manager::get_manager();
549 Belle::Belle_event_Manager::const_iterator bevt = bevt_mgr.begin();
550 if (bevt != bevt_mgr.end() && (*bevt)) {
551 if (bevt->ExpMC() == 1) energy = Belle::BeamEnergy::E_beam2();
552 if (bevt->ExpMC() == 2) {
554 else energy = Belle::BeamEnergy::E_beam2();
560 if ((expnum == 0 || runnum == 0) && BsCouTab(BELLE_EVENT) > 0) {
561 Belle::Belle_event& bevt = Belle::Belle_event_Manager::get_manager()[0];
562 if (bevt.ExpMC() == 1) {
563 expnum = bevt.ExpNo();
564 runnum = bevt.RunNo();
569 if (runnum >= 74 && runnum <= 472) energy += -0.540 * factor;
570 }
else if (expnum == 7) {
571 if (runnum >= 6 && runnum <= 475) energy += 0.305 * factor;
572 else if (runnum >= 538 && runnum <= 895) energy += -1.016 * factor;
573 else if (runnum >= 904 && runnum <= 1079) energy += -1.065 * factor;
574 else if (runnum >= 1101 && runnum <= 1248) energy += -0.608 * factor;
575 else if (runnum >= 1257 && runnum <= 1399) energy += -1.132 * factor;
576 else if (runnum >= 1400 && runnum <= 1599) energy += -1.446 * factor;
577 else if (runnum >= 1600 && runnum <= 1799) energy += -1.836 * factor;
578 else if (runnum >= 1800 && runnum <= 1999) energy += -1.829 * factor;
579 else if (runnum >= 2000 && runnum <= 2156) energy += -1.732 * factor;
580 else if (runnum >= 2294 && runnum <= 2599) energy += -2.318 * factor;
581 else if (runnum >= 2600 && runnum <= 2865) energy += -1.363 * factor;
582 }
else if (expnum == 9) {
583 if (runnum >= 17 && runnum <= 399) energy += -2.767 * factor;
584 else if (runnum >= 400 && runnum <= 499) energy += -2.826 * factor;
585 else if (runnum >= 500 && runnum <= 593) energy += -2.311 * factor;
586 else if (runnum >= 601 && runnum <= 699) energy += -2.138 * factor;
587 else if (runnum >= 700 && runnum <= 899) energy += -2.267 * factor;
588 else if (runnum >= 900 && runnum <= 999) energy += -2.412 * factor;
589 else if (runnum >= 1000 && runnum <= 1099) energy += -2.229 * factor;
590 else if (runnum >= 1100 && runnum <= 1220) energy += -1.842 * factor;
592 }
else if (expnum == 11) {
593 if (runnum >= 1 && runnum <= 161) energy += -2.173 * factor;
594 if (runnum >= 261 && runnum <= 399) energy += -1.392 * factor;
595 if (runnum >= 400 && runnum <= 499) energy += -1.321 * factor;
596 if (runnum >= 500 && runnum <= 599) energy += -1.394 * factor;
597 if (runnum >= 600 && runnum <= 699) energy += -1.827 * factor;
598 if (runnum >= 700 && runnum <= 799) energy += -1.912 * factor;
599 if (runnum >= 800 && runnum <= 899) energy += -1.603 * factor;
600 if (runnum >= 900 && runnum <= 998) energy += -1.759 * factor;
601 if (runnum >= 1001 && runnum <= 1099) energy += -1.915 * factor;
602 if (runnum >= 1100 && runnum <= 1199) energy += -1.513 * factor;
603 if (runnum >= 1200 && runnum <= 1287) energy += -0.639 * factor;
604 }
else if (expnum == 13) {
605 if (runnum >= 1 && runnum <= 99) energy += 0.279 * factor;
606 if (runnum >= 100 && runnum <= 198) energy += 0.140 * factor;
607 if (runnum >= 200 && runnum <= 297) energy += -0.095 * factor;
608 if (runnum >= 301 && runnum <= 440) energy += 0.232 * factor;
609 if (runnum >= 551 && runnum <= 699) energy += -0.385 * factor;
610 if (runnum >= 700 && runnum <= 799) energy += -0.654 * factor;
611 if (runnum >= 800 && runnum <= 899) energy += -0.972 * factor;
612 if (runnum >= 900 && runnum <= 999) energy += -0.770 * factor;
613 if (runnum >= 1000 && runnum <= 1099) energy += -0.353 * factor;
614 if (runnum >= 1100 && runnum <= 1199) energy += -0.490 * factor;
615 if (runnum >= 1200 && runnum <= 1299) energy += -0.687 * factor;
616 if (runnum >= 1300 && runnum <= 1399) energy += -0.545 * factor;
618 if (runnum >= 1400) energy += -0.783 * factor;
623 }
else if (expnum == 15) {
629 if (runnum < 764) energy = 5.288103;
630 if (runnum > 763 && runnum < 951) energy = 5.287005;
631 if (runnum > 950 && runnum < 1251) energy = 5.287804;
632 if (runnum > 1250) energy = 5.288603;
634 }
else if (expnum == 17) {
635 if (runnum <= 199) energy = 5.288702;
636 if (runnum >= 200 && runnum <= 399) energy = 5.289202;
637 if (runnum >= 400 && runnum <= 485) energy = 5.289401;
638 if (runnum >= 545 && runnum <= 799) energy = 5.289501;
639 if (runnum >= 800 && runnum <= 937) energy = 5.289401;
641 }
else if (expnum == 19) {
642 if (runnum >= 64 && runnum <= 199) energy = 5.2887023;
643 if (runnum >= 200 && runnum <= 299) energy = 5.2886025;
644 if (runnum >= 300 && runnum <= 399) energy = 5.28830299;
645 if (runnum >= 400 && runnum <= 459) energy = 5.28820313;
646 if (runnum >= 461 && runnum <= 599) energy = 5.28830299;
647 if (runnum >= 600 && runnum <= 666) energy = 5.28780366;
648 if (runnum >= 763 && runnum <= 999) energy = 5.28820313;
649 if (runnum >= 1000 && runnum <= 1099) energy = 5.28780366;
650 if (runnum >= 1100 && runnum <= 1199) energy = 5.28770378;
651 if (runnum >= 1200 && runnum <= 1399) energy = 5.28750402;
652 if (runnum >= 1400 && runnum <= 1499) energy = 5.28740413;
653 if (runnum >= 1500 && runnum <= 1599) energy = 5.28720434;
654 if (runnum >= 1600 && runnum <= 1643) energy = 5.28760390;
659 }
else if (expnum == 21) {
660 if (runnum >= 0 && runnum <= 180) energy = 5.28650496;
661 if (runnum >= 181 && runnum <= 324) energy = 5.2880034;
662 }
else if (expnum == 23) {
663 if (runnum >= 0 && runnum <= 238) energy = 5.28860254;
664 if (runnum >= 357 && runnum <= 607) energy = 5.28880222;
668 }
else if (expnum == 25) {
669 if (runnum >= 0 && runnum <= 99) energy = 5.28950099;
670 if (runnum >= 100 && runnum <= 199) energy = 5.28870238;
671 if (runnum >= 200 && runnum <= 299) energy = 5.28910171;
672 if (runnum >= 300 && runnum <= 399) energy = 5.28890205;
673 if (runnum >= 400 && runnum <= 799) energy = 5.28850269;
674 if (runnum >= 800 && runnum <= 899) energy = 5.28790353;
675 if (runnum >= 900 && runnum <= 999) energy = 5.28810326;
676 if (runnum >= 1000 && runnum <= 1099) energy = 5.28830298;
677 if (runnum >= 1100 && runnum <= 1199) energy = 5.28820313;
678 if (runnum >= 1200 && runnum <= 1299) energy = 5.28780366;
679 if (runnum >= 1300 && runnum <= 1462) energy = 5.28820313;
680 if (runnum >= 1600 && runnum <= 1699) energy = 5.28830299;
681 if (runnum >= 1700 && runnum <= 1799) energy = 5.28780366;
682 if (runnum >= 1800 && runnum <= 1899) energy = 5.28810327;
683 if (runnum >= 1900 && runnum <= 2122) energy = 5.28830299;
687 }
else if (expnum == 27) {
688 if (runnum >= 0 && runnum <= 180) energy = 5.28860254;
689 if (runnum >= 181 && runnum <= 288) energy = 5.28870238;
690 if (runnum >= 367 && runnum <= 499) energy = 5.28880222;
691 if (runnum >= 500 && runnum <= 590) energy = 5.28890206;
692 if (runnum >= 591 && runnum <= 699) energy = 5.28910172;
693 if (runnum >= 700 && runnum <= 1079) energy = 5.28900189;
694 if (runnum >= 1252 && runnum <= 1299) energy = 5.28850269;
695 if (runnum >= 1300 && runnum <= 1632) energy = 5.28870238;
699 }
else if (expnum == 31) {
700 if (runnum >= 0 && runnum <= 166) energy = 5.287404131;
701 if (runnum >= 231 && runnum <= 470) energy = 5.287903534;
702 if (runnum >= 471 && runnum <= 698) energy = 5.28810327;
703 if (runnum >= 699 && runnum <= 804) energy = 5.288602541;
704 if (runnum >= 805 && runnum <= 936) energy = 5.288702384;
705 if (runnum >= 1071 && runnum <= 1440) energy = 5.288902;
706 if (runnum >= 1441 && runnum <= 1715) energy = 5.289301;
708 }
else if (expnum >= 32) {
709 B2ERROR(
"Warning: Benergy is not ready for exp >=32.");