153 #include <b2bii/modules/B2BIIMdstInput/B2BIIFixMdstModule.h>
160 #include "CLHEP/Vector/ThreeVector.h"
161 #include "CLHEP/Matrix/Vector.h"
164 #include "belle_legacy/helix/Helix.h"
166 #include "belle_legacy/tables/mdst.h"
167 #include "belle_legacy/tables/belletdf.h"
168 #include "belle_legacy/tables/evtvtx.h"
169 #include "belle_legacy/ip/IpProfile.h"
172 #include <analysis/VertexFitting/KFit/VertexFitKFit.h>
188 HepPoint3D vtx(vee2.vx(), vee2.vy(), vee2.vz());
190 const double pion_mass = 0.13956995;
191 const double proton_mass = 0.93827231;
192 const double electron_mass = 0.000511;
194 double massp(0.0), massm(0.0);
195 if (1 == vee2.kind()) {
198 }
else if (2 == vee2.kind()) {
201 }
else if (3 == vee2.kind()) {
204 }
else if (4 == vee2.kind()) {
205 massp = electron_mass;
206 massm = electron_mass;
214 Belle::Mdst_vee_daughters& vdau = vee2.daut();
216 CLHEP::HepVector a(5);
217 a[0] = vdau.helix_p(0); a[1] = vdau.helix_p(1);
218 a[2] = vdau.helix_p(2) / scale;
219 a[3] = vdau.helix_p(3); a[4] = vdau.helix_p(4);
220 Belle::Helix helixp(vtx, a);
222 a[0] = vdau.helix_m(0); a[1] = vdau.helix_m(1);
223 a[2] = vdau.helix_m(2) / scale;
224 a[3] = vdau.helix_m(3); a[4] = vdau.helix_m(4);
225 Belle::Helix helixm(vtx, a);
227 CLHEP::HepLorentzVector v0 = helixp.momentum(0., massp) + helixm.momentum(0., massm);
233 Belle::Mdst_charged& chargedp = vee2.chgd(0);
234 Belle::Mdst_trk& trkp = chargedp.trk();
235 Belle::Mdst_trk_fit& trkfp = trkp.mhyp(2);
236 HepPoint3D pvtp(trkfp.pivot_x(), trkfp.pivot_y(), trkfp.pivot_z());
237 CLHEP::HepVector a(5);
238 a[0] = trkfp.helix(0); a[1] = trkfp.helix(1);
239 a[2] = trkfp.helix(2);
240 a[3] = trkfp.helix(3); a[4] = trkfp.helix(4);
241 Belle::Helix helixp(pvtp, a);
242 helixp.bFieldZ(14.6);
248 Belle::Mdst_charged& chargedm = vee2.chgd(1);
249 Belle::Mdst_trk& trkm = chargedm.trk();
250 Belle::Mdst_trk_fit& trkfm = trkm.mhyp(2);
251 HepPoint3D pvtm(trkfm.pivot_x(), trkfm.pivot_y(), trkfm.pivot_z());
252 a[0] = trkfm.helix(0); a[1] = trkfm.helix(1);
253 a[2] = trkfm.helix(2);
254 a[3] = trkfm.helix(3); a[4] = trkfm.helix(4);
255 Belle::Helix helixm(pvtm, a);
256 helixm.bFieldZ(14.6);
262 CLHEP::HepLorentzVector v0 = helixp.momentum(0., massp) + helixm.momentum(0., massm);
280 Belle::Belle_event_Manager& evtmgr = Belle::Belle_event_Manager::get_manager();
282 if (0 == evtmgr.count())
return;
285 Belle::Mdst_event_add_Manager& mevtmgr = Belle::Mdst_event_add_Manager::get_manager();
286 if (mevtmgr.count() > 0 && 1 == mevtmgr[0].flag_scale())
return;
289 if (mode < 0 || mode > 2) {
290 B2ERROR(
"scale_momenta: invalid mode specified;");
291 B2ERROR(
"mode must be 0, 1, 2");
296 int expmc = evtmgr[0].ExpMC();
297 int expno = evtmgr[0].ExpNo();
298 int runno = evtmgr[0].RunNo();
304 }
else if (mode >= 1) {
312 }
else if (2 == expmc) {
316 if (1. == scale)
return;
320 if (mevtmgr.count() > 0) {
321 mevtmgr[0].flag_scale(1);
322 mevtmgr[0].scale(scale);
324 Belle::Mdst_event_add& meadd = mevtmgr.add();
333 Belle::Mdst_charged_Manager& chgmgr = Belle::Mdst_charged_Manager::get_manager();
334 for (std::vector<Belle::Mdst_charged>::iterator it = chgmgr.begin();
335 it != chgmgr.end(); ++it) {
336 Belle::Mdst_charged& charged = *it;
337 charged.px(scale * charged.px());
338 charged.py(scale * charged.py());
339 charged.pz(scale * charged.pz());
343 Belle::Mdst_vee2_Manager& vee2mgr = Belle::Mdst_vee2_Manager::get_manager();
344 for (std::vector<Belle::Mdst_vee2>::iterator it = vee2mgr.begin();
345 it != vee2mgr.end(); ++it) {
346 Belle::Mdst_vee2& vee2 = *it;
350 (v0mass_scale - v0mass_noscl) * (v0mass_scale + v0mass_noscl)
351 + vee2.energy() * vee2.energy() +
352 (scale - 1.) * (scale + 1.) * (vee2.px() * vee2.px() +
353 vee2.py() * vee2.py() +
354 vee2.pz() * vee2.pz());
355 vee2.energy(std::sqrt(esq_scale));
356 vee2.px(scale * vee2.px());
357 vee2.py(scale * vee2.py());
358 vee2.pz(scale * vee2.pz());
362 double scalei = 1. / scale;
363 double scalei2 = scalei / scale;
365 Belle::Mdst_trk_fit_Manager& trkfmgr = Belle::Mdst_trk_fit_Manager::get_manager();
366 for (std::vector<Belle::Mdst_trk_fit>::iterator it = trkfmgr.begin();
367 it != trkfmgr.end(); ++it) {
368 Belle::Mdst_trk_fit& trkf = *it;
369 trkf.helix(2, scalei * trkf.helix(2));
370 trkf.error(3, scalei * trkf.error(3));
371 trkf.error(4, scalei * trkf.error(4));
372 trkf.error(5, scalei2 * trkf.error(5));
373 trkf.error(8, scalei * trkf.error(8));
374 trkf.error(12, scalei * trkf.error(12));
378 Belle::Mdst_vee_daughters_Manager& vdaumgr = Belle::Mdst_vee_daughters_Manager::get_manager();
379 for (std::vector<Belle::Mdst_vee_daughters>::iterator it = vdaumgr.begin();
380 it != vdaumgr.end(); ++it) {
381 Belle::Mdst_vee_daughters& vdau = *it;
382 vdau.helix_p(2, scalei * vdau.helix_p(2));
383 vdau.error_p(3, scalei * vdau.error_p(3));
384 vdau.error_p(4, scalei * vdau.error_p(4));
385 vdau.error_p(5, scalei2 * vdau.error_p(5));
386 vdau.error_p(8, scalei * vdau.error_p(8));
387 vdau.error_p(12, scalei * vdau.error_p(12));
389 vdau.helix_m(2, scalei * vdau.helix_m(2));
390 vdau.error_m(3, scalei * vdau.error_m(3));
391 vdau.error_m(4, scalei * vdau.error_m(4));
392 vdau.error_m(5, scalei2 * vdau.error_m(5));
393 vdau.error_m(8, scalei * vdau.error_m(8));
394 vdau.error_m(12, scalei * vdau.error_m(12));
400 const int runno,
double& scale)
408 if (expno == 7) {scale = 1.001932;
return;}
409 if (expno == 9) {scale = 1.001413;
return;}
410 if (expno == 11) {scale = 1.001366;
return;}
412 if (expno == 13) {scale = 1.001460;
return;}
413 if (expno >= 15) {B2ERROR(
"scale_momenta mode=1: not ready for exp >=15");}
418 if (runno >= 0 && runno <= 99) {scale = 1.00262126;
return;}
419 if (runno >= 100 && runno <= 199) {scale = 1.00253537;
return;}
420 if (runno >= 200 && runno <= 299) {scale = 1.00246555;
return;}
421 if (runno >= 300 && runno <= 399) {scale = 1.0026452 ;
return;}
422 if (runno >= 400 && runno <= 499) {scale = 1.00290386;
return;}
423 if (runno >= 500 && runno <= 599) {scale = 1.00287753;
return;}
424 if (runno >= 600 && runno <= 699) {scale = 1.00266845;
return;}
425 if (runno >= 700 && runno <= 799) {scale = 1.00184472;
return;}
426 if (runno >= 800 && runno <= 899) {scale = 1.00200021;
return;}
427 if (runno >= 900 && runno <= 999) {scale = 1.00178485;
return;}
428 if (runno >= 1000 && runno <= 1099) {scale = 1.00196071;
return;}
429 if (runno >= 1100 && runno <= 1199) {scale = 1.00224453;
return;}
430 if (runno >= 1200 && runno <= 1299) {scale = 1.00209138;
return;}
431 if (runno >= 1300 && runno <= 1399) {scale = 1.00145455;
return;}
432 if (runno >= 1400 && runno <= 1499) {scale = 1.00119243;
return;}
433 if (runno >= 1500 && runno <= 1599) {scale = 1.00115572;
return;}
434 if (runno >= 1600 && runno <= 1699) {scale = 1.00133916;
return;}
435 if (runno >= 1700 && runno <= 1799) {scale = 1.00186441;
return;}
436 if (runno >= 1800 && runno <= 1899) {scale = 1.00206786;
return;}
437 if (runno >= 1900 && runno <= 1999) {scale = 1.00184794;
return;}
438 if (runno >= 2000 && runno <= 2099) {scale = 1.00187219;
return;}
439 if (runno >= 2100 && runno <= 2199) {scale = 1.00214844;
return;}
440 if (runno >= 2200 && runno <= 2299) {scale = 1.00154502;
return;}
441 if (runno >= 2300 && runno <= 2399) {scale = 1.00179518;
return;}
442 if (runno >= 2400 && runno <= 2499) {scale = 1.00198983;
return;}
443 if (runno >= 2500 && runno <= 2599) {scale = 1.00219242;
return;}
444 if (runno >= 2600 && runno <= 2699) {scale = 1.00227363;
return;}
445 if (runno >= 2700 && runno <= 2799) {scale = 1.00202328;
return;}
446 if (runno >= 2800 && runno <= 2899) {scale = 1.00193147;
return;}
447 }
else if (expno == 9) {
448 if (runno >= 0 && runno <= 99) {scale = 1.00126754;
return;}
449 if (runno >= 100 && runno <= 199) {scale = 1.00119683;
return;}
450 if (runno >= 200 && runno <= 299) {scale = 1.00123771;
return;}
451 if (runno >= 300 && runno <= 399) {scale = 1.00142625;
return;}
452 if (runno >= 400 && runno <= 499) {scale = 1.00134481;
return;}
453 if (runno >= 500 && runno <= 599) {scale = 1.00131973;
return;}
454 if (runno >= 600 && runno <= 699) {scale = 1.00145963;
return;}
455 if (runno >= 700 && runno <= 799) {scale = 1.00161304;
return;}
456 if (runno >= 800 && runno <= 899) {scale = 1.00141795;
return;}
457 if (runno >= 900 && runno <= 999) {scale = 1.00137157;
return;}
458 if (runno >= 1000 && runno <= 1099) {scale = 1.00126209;
return;}
459 if (runno >= 1100 && runno <= 1199) {scale = 1.00147941;
return;}
460 if (runno >= 1200 && runno <= 1299) {scale = 1.00145555;
return;}
461 }
else if (expno == 11) {
462 if (runno >= 0 && runno <= 99) {scale = 1.00149576;
return;}
463 if (runno >= 100 && runno <= 199) {scale = 1.00155153;
return;}
464 if (runno >= 200 && runno <= 299) {scale = 1.0013597 ;
return;}
465 if (runno >= 300 && runno <= 399) {scale = 1.00147504;
return;}
466 if (runno >= 400 && runno <= 499) {scale = 1.00138242;
return;}
467 if (runno >= 500 && runno <= 599) {scale = 1.00144554;
return;}
468 if (runno >= 600 && runno <= 699) {scale = 1.00136961;
return;}
469 if (runno >= 700 && runno <= 799) {scale = 1.00141443;
return;}
470 if (runno >= 800 && runno <= 899) {scale = 1.00136617;
return;}
471 if (runno >= 900 && runno <= 999) {scale = 1.00126262;
return;}
472 if (runno >= 1000 && runno <= 1099) {scale = 1.00133337;
return;}
473 if (runno >= 1100 && runno <= 1199) {scale = 1.00137906;
return;}
474 if (runno >= 1200 && runno <= 1299) {scale = 1.00127944;
return;}
476 if (runno >= 1300 && runno <= 1399) {scale = 1.00127944;
return;}
477 }
else if (expno == 13) {
478 if (runno >= 0 && runno <= 99) {scale = 1.00110691;
return;}
479 if (runno >= 100 && runno <= 199) {scale = 1.00106123;
return;}
480 if (runno >= 200 && runno <= 299) {scale = 1.00109934;
return;}
481 if (runno >= 300 && runno <= 399) {scale = 1.00105759;
return;}
482 if (runno >= 400 && runno <= 499) {scale = 1.000986887;
return;}
483 if (runno >= 500 && runno <= 599) {scale = 1.000928764;
return;}
484 if (runno >= 600 && runno <= 699) {scale = 1.00103925;
return;}
485 if (runno >= 700 && runno <= 799) {scale = 1.0010591 ;
return;}
486 if (runno >= 800 && runno <= 899) {scale = 1.00127043;
return;}
487 if (runno >= 900 && runno <= 999) {scale = 1.00154033;
return;}
488 if (runno >= 1000 && runno <= 1099) {scale = 1.00180656;
return;}
489 if (runno >= 1100 && runno <= 1199) {scale = 1.00202059;
return;}
490 if (runno >= 1200 && runno <= 1299) {scale = 1.00184308;
return;}
491 if (runno >= 1300 && runno <= 1399) {scale = 1.00180153;
return;}
492 if (runno >= 1400 && runno <= 1499) {scale = 1.00189577;
return;}
493 if (runno >= 1500 && runno <= 1599) {scale = 1.00176026;
return;}
495 if (runno >= 1600 && runno <= 1699) {scale = 1.00176026;
return;}
497 }
else if (expno == 15) {
498 if (runno >= 0 && runno <= 99) {scale = 1.00178719;
return;}
499 if (runno >= 100 && runno <= 199) {scale = 1.00205712;
return;}
500 if (runno >= 200 && runno <= 299) {scale = 1.00197622;
return;}
501 if (runno >= 300 && runno <= 399) {scale = 1.00191558;
return;}
502 if (runno >= 400 && runno <= 499) {scale = 1.00207795;
return;}
503 if (runno >= 500 && runno <= 599) {scale = 1.00191871;
return;}
504 if (runno >= 600 && runno <= 699) {scale = 1.00187917;
return;}
505 if (runno >= 700 && runno <= 799) {scale = 1.0019573 ;
return;}
506 if (runno >= 800 && runno <= 899) {scale = 1.00196562;
return;}
507 if (runno >= 900 && runno <= 999) {scale = 1.00205215;
return;}
508 if (runno >= 1000 && runno <= 1099) {scale = 1.00200559;
return;}
509 if (runno >= 1100 && runno <= 1199) {scale = 1.00198568;
return;}
510 if (runno >= 1200 && runno <= 1299) {scale = 1.00212539;
return;}
511 if (runno >= 1300 && runno <= 1399) {scale = 1.00199158;
return;}
512 if (runno >= 1400 && runno <= 1499) {scale = 1.00208257;
return;}
514 }
else if (expno >= 17) { B2ERROR(
"scale_momenta mode=2: not ready for exp >=17");}
522 const int runno,
double& scale)
531 B2ERROR(
"scale_momenta mode=1 not ready for exp " << expno);
537 if (runno >= 0 && runno <= 99) {scale = 1.00284313;
return;}
538 if (runno >= 100 && runno <= 199) {scale = 1.00272563;
return;}
539 if (runno >= 200 && runno <= 299) {scale = 1.00276953;
return;}
540 if (runno >= 300 && runno <= 399) {scale = 1.00286722;
return;}
541 if (runno >= 400 && runno <= 499) {scale = 1.00318492;
return;}
542 if (runno >= 500 && runno <= 599) {scale = 1.00304208;
return;}
543 if (runno >= 600 && runno <= 699) {scale = 1.00292413;
return;}
544 if (runno >= 700 && runno <= 799) {scale = 1.00201286;
return;}
545 if (runno >= 800 && runno <= 899) {scale = 1.00225237;
return;}
546 if (runno >= 900 && runno <= 999) {scale = 1.00210375;
return;}
547 if (runno >= 1000 && runno <= 1099) {scale = 1.00213222;
return;}
548 if (runno >= 1100 && runno <= 1199) {scale = 1.00253683;
return;}
549 if (runno >= 1200 && runno <= 1299) {scale = 1.00234023;
return;}
550 if (runno >= 1300 && runno <= 1399) {scale = 1.00168421;
return;}
551 if (runno >= 1400 && runno <= 1499) {scale = 1.00136169;
return;}
552 if (runno >= 1500 && runno <= 1599) {scale = 1.00138431;
return;}
553 if (runno >= 1600 && runno <= 1699) {scale = 1.00154521;
return;}
554 if (runno >= 1700 && runno <= 1799) {scale = 1.00204405;
return;}
555 if (runno >= 1800 && runno <= 1899) {scale = 1.00223498;
return;}
556 if (runno >= 1900 && runno <= 1999) {scale = 1.00198975;
return;}
557 if (runno >= 2000 && runno <= 2099) {scale = 1.00201868;
return;}
558 if (runno >= 2100 && runno <= 2199) {scale = 1.00233875;
return;}
559 if (runno >= 2200 && runno <= 2299) {scale = 1.00175269;
return;}
560 if (runno >= 2300 && runno <= 2399) {scale = 1.00192858;
return;}
561 if (runno >= 2400 && runno <= 2499) {scale = 1.00217693;
return;}
562 if (runno >= 2500 && runno <= 2599) {scale = 1.00209337;
return;}
563 if (runno >= 2600 && runno <= 2699) {scale = 1.00244277;
return;}
564 if (runno >= 2700 && runno <= 2799) {scale = 1.00221485;
return;}
565 if (runno >= 2800 && runno <= 2899) {scale = 1.00214678;
return;}
566 }
else if (expno == 9) {
567 if (runno >= 0 && runno <= 99) {scale = 1.00127702;
return;}
568 if (runno >= 100 && runno <= 199) {scale = 1.00119957;
return;}
569 if (runno >= 200 && runno <= 299) {scale = 1.00132677;
return;}
570 if (runno >= 300 && runno <= 399) {scale = 1.0014785 ;
return;}
571 if (runno >= 400 && runno <= 499) {scale = 1.00144872;
return;}
572 if (runno >= 500 && runno <= 599) {scale = 1.00145376;
return;}
573 if (runno >= 600 && runno <= 699) {scale = 1.00151659;
return;}
574 if (runno >= 700 && runno <= 799) {scale = 1.00167384;
return;}
575 if (runno >= 800 && runno <= 899) {scale = 1.00153754;
return;}
576 if (runno >= 900 && runno <= 999) {scale = 1.0014984 ;
return;}
577 if (runno >= 1000 && runno <= 1099) {scale = 1.0013764 ;
return;}
578 if (runno >= 1100 && runno <= 1199) {scale = 1.00145545;
return;}
579 if (runno >= 1200 && runno <= 1299) {scale = 1.0017164 ;
return;}
580 }
else if (expno == 11) {
581 if (runno >= 0 && runno <= 99) {scale = 1.00159624;
return;}
582 if (runno >= 100 && runno <= 199) {scale = 1.00153365;
return;}
583 if (runno >= 200 && runno <= 299) {scale = 1.00143809;
return;}
584 if (runno >= 300 && runno <= 399) {scale = 1.00148495;
return;}
585 if (runno >= 400 && runno <= 499) {scale = 1.00143193;
return;}
586 if (runno >= 500 && runno <= 599) {scale = 1.00141905;
return;}
587 if (runno >= 600 && runno <= 699) {scale = 1.0013992 ;
return;}
588 if (runno >= 700 && runno <= 799) {scale = 1.00148836;
return;}
589 if (runno >= 800 && runno <= 899) {scale = 1.00139019;
return;}
590 if (runno >= 900 && runno <= 999) {scale = 1.00151389;
return;}
591 if (runno >= 1000 && runno <= 1099) {scale = 1.00142988;
return;}
592 if (runno >= 1100 && runno <= 1199) {scale = 1.00143519;
return;}
593 if (runno >= 1200 && runno <= 1299) {scale = 1.00132641;
return;}
594 }
else if (expno == 13) {
595 if (runno >= 0 && runno <= 99) {scale = 1.00126317;
return;}
596 if (runno >= 100 && runno <= 199) {scale = 1.00118837;
return;}
597 if (runno >= 200 && runno <= 299) {scale = 1.00122276;
return;}
598 if (runno >= 300 && runno <= 399) {scale = 1.00113233;
return;}
599 if (runno >= 400 && runno <= 499) {scale = 1.00111677;
return;}
600 if (runno >= 500 && runno <= 599) {scale = 1.00100963;
return;}
601 if (runno >= 600 && runno <= 699) {scale = 1.0011474 ;
return;}
602 if (runno >= 700 && runno <= 799) {scale = 1.00116245;
return;}
603 if (runno >= 800 && runno <= 899) {scale = 1.00139826;
return;}
604 if (runno >= 900 && runno <= 999) {scale = 1.0017014 ;
return;}
605 if (runno >= 1000 && runno <= 1099) {scale = 1.00190706;
return;}
606 if (runno >= 1100 && runno <= 1199) {scale = 1.00214688;
return;}
607 if (runno >= 1200 && runno <= 1299) {scale = 1.00207336;
return;}
608 if (runno >= 1300 && runno <= 1399) {scale = 1.00192885;
return;}
609 if (runno >= 1400 && runno <= 1499) {scale = 1.00196289;
return;}
610 if (runno >= 1500 && runno <= 1599) {scale = 1.00185017;
return;}
611 if (runno >= 1600 && runno <= 1699) {scale = 1.00191256;
return;}
612 }
else if (expno == 15) {
613 if (runno >= 0 && runno <= 99) {scale = 1.001953;
return;}
614 if (runno >= 100 && runno <= 199) {scale = 1.00210508;
return;}
615 if (runno >= 200 && runno <= 299) {scale = 1.002139;
return;}
616 if (runno >= 300 && runno <= 399) {scale = 1.00207803;
return;}
617 if (runno >= 400 && runno <= 499) {scale = 1.0022331;
return;}
618 if (runno >= 500 && runno <= 599) {scale = 1.00206421;
return;}
619 if (runno >= 600 && runno <= 699) {scale = 1.00205153;
return;}
620 if (runno >= 700 && runno <= 799) {scale = 1.00214664;
return;}
621 if (runno >= 800 && runno <= 899) {scale = 1.0021456;
return;}
622 if (runno >= 900 && runno <= 999) {scale = 1.00221055;
return;}
623 if (runno >= 1000 && runno <= 1099) {scale = 1.00216472;
return;}
624 if (runno >= 1100 && runno <= 1199) {scale = 1.00214208;
return;}
625 if (runno >= 1200 && runno <= 1299) {scale = 1.00228874;
return;}
626 if (runno >= 1300 && runno <= 1399) {scale = 1.00215047;
return;}
627 if (runno >= 1400 && runno <= 1499) {scale = 1.00219808;
return;}
628 }
else if (expno == 17) {
629 if (runno >= 0 && runno <= 99) {scale = 1.00216742;
return;}
630 if (runno >= 100 && runno <= 199) {scale = 1.00229433;
return;}
631 if (runno >= 200 && runno <= 299) {scale = 1.0022749 ;
return;}
632 if (runno >= 300 && runno <= 399) {scale = 1.00231283;
return;}
633 if (runno >= 400 && runno <= 499) {scale = 1.00223654;
return;}
634 if (runno >= 500 && runno <= 599) {scale = 1.00236524;
return;}
635 if (runno >= 600 && runno <= 699) {scale = 1.00229312;
return;}
636 if (runno >= 700 && runno <= 799) {scale = 1.002262 ;
return;}
637 if (runno >= 800 && runno <= 899) {scale = 1.00220104;
return;}
638 if (runno >= 900 && runno <= 999) {scale = 1.00215475;
return;}
639 }
else if (expno == 19) {
640 if (runno >= 0 && runno <= 99) {scale = 1.00227682;
return;}
641 if (runno >= 100 && runno <= 199) {scale = 1.00235795;
return;}
642 if (runno >= 200 && runno <= 299) {scale = 1.00251509;
return;}
643 if (runno >= 300 && runno <= 399) {scale = 1.0022106 ;
return;}
644 if (runno >= 400 && runno <= 499) {scale = 1.00230963;
return;}
645 if (runno >= 500 && runno <= 599) {scale = 1.002229 ;
return;}
646 if (runno >= 600 && runno <= 699) {scale = 1.00215402;
return;}
647 if (runno >= 700 && runno <= 799) {scale = 1.00217892;
return;}
648 if (runno >= 800 && runno <= 899) {scale = 1.0022305 ;
return;}
649 if (runno >= 900 && runno <= 999) {scale = 1.0021458 ;
return;}
650 if (runno >= 1000 && runno <= 1099) {scale = 1.00215792;
return;}
651 if (runno >= 1100 && runno <= 1199) {scale = 1.0022667 ;
return;}
652 if (runno >= 1200 && runno <= 1299) {scale = 1.00219581;
return;}
653 if (runno >= 1300 && runno <= 1399) {scale = 1.00218378;
return;}
654 if (runno >= 1400 && runno <= 1499) {scale = 1.00232172;
return;}
655 if (runno >= 1500 && runno <= 1599) {scale = 1.00217172;
return;}
656 if (runno >= 1600 && runno <= 1700) {scale = 1.00208639;
return;}
657 if (runno >= 1700 && runno <= 1799) {scale = 1.00188253;
return;}
659 B2ERROR(
"scale_momenta not ready for this exp,run "
660 << expno <<
"," << runno);
662 }
else if (expno == 21) {
663 if (runno >= 0 && runno <= 99) {scale = 1.00228182;
return;}
664 if (runno >= 100 && runno <= 199) {scale = 1.00233446;
return;}
665 if (runno >= 200 && runno <= 299) {scale = 1.00238846;
return;}
666 if (runno >= 300 && runno <= 399) {scale = 1.00238061 ;
return;}
668 B2ERROR(
"scale_momenta not ready for this exp,run "
669 << expno <<
"," << runno);
671 }
else if (expno == 23) {
672 if (runno >= 0 && runno <= 99) {scale = 1.00216089;
return;}
673 if (runno >= 100 && runno <= 199) {scale = 1.0019783;
return;}
674 if (runno >= 200 && runno <= 299) {scale = 1.00172162;
return;}
675 if (runno >= 300 && runno <= 399) {scale = 1.0017938 ;
return;}
676 if (runno >= 400 && runno <= 499) {scale = 1.00177832 ;
return;}
677 if (runno >= 500 && runno <= 599) {scale = 1.0017609 ;
return;}
678 if (runno >= 600 && runno <= 699) {scale = 1.0017756 ;
return;}
680 B2ERROR(
"scale_momenta not ready for this exp,run "
681 << expno <<
"," << runno);
683 }
else if (expno == 25) {
684 if (runno >= 0 && runno <= 99) {scale = 1.00190068;
return;}
685 if (runno >= 100 && runno <= 199) {scale = 1.00199038;
return;}
686 if (runno >= 200 && runno <= 299) {scale = 1.00196171;
return;}
687 if (runno >= 300 && runno <= 399) {scale = 1.00200167;
return;}
688 if (runno >= 400 && runno <= 499) {scale = 1.0019667 ;
return;}
689 if (runno >= 500 && runno <= 599) {scale = 1.00212109;
return;}
690 if (runno >= 600 && runno <= 699) {scale = 1.00202115;
return;}
691 if (runno >= 700 && runno <= 799) {scale = 1.00196456;
return;}
692 if (runno >= 800 && runno <= 899) {scale = 1.00200392;
return;}
693 if (runno >= 900 && runno <= 999) {scale = 1.00199495;
return;}
694 if (runno >= 1000 && runno <= 1099) {scale = 1.00202212;
return;}
695 if (runno >= 1100 && runno <= 1199) {scale = 1.00205312;
return;}
696 if (runno >= 1200 && runno <= 1299) {scale = 1.00200891;
return;}
697 if (runno >= 1300 && runno <= 1399) {scale = 1.00196866;
return;}
698 if (runno >= 1400 && runno <= 1499) {scale = 1.0020257 ;
return;}
699 if (runno >= 1500 && runno <= 1599) {scale = 1.00196995;
return;}
700 if (runno >= 1600 && runno <= 1699) {scale = 1.00189232;
return;}
701 if (runno >= 1700 && runno <= 1799) {scale = 1.00179028;
return;}
702 if (runno >= 1800 && runno <= 1899) {scale = 1.00179459;
return;}
703 if (runno >= 1900 && runno <= 1999) {scale = 1.001762 ;
return;}
704 if (runno >= 2000 && runno <= 2099) {scale = 1.00179514;
return;}
705 if (runno >= 2100 && runno <= 2199) {scale = 1.00175211;
return;}
707 B2ERROR(
"scale_momenta not ready for this exp,run "
708 << expno <<
"," << runno);
710 }
else if (expno == 27) {
711 if (runno >= 0 && runno <= 99) {scale = 1.00192647;
return;}
712 if (runno >= 100 && runno <= 199) {scale = 1.0019717 ;
return;}
713 if (runno >= 200 && runno <= 299) {scale = 1.00196428;
return;}
714 if (runno >= 300 && runno <= 399) {scale = 1.00190998;
return;}
715 if (runno >= 400 && runno <= 499) {scale = 1.00204645;
return;}
716 if (runno >= 500 && runno <= 599) {scale = 1.0020687 ;
return;}
717 if (runno >= 600 && runno <= 699) {scale = 1.00198209;
return;}
719 if (runno >= 700 && runno <= 800) {scale = 1.00187505;
return;}
720 if (runno >= 801 && runno <= 900) {scale = 1.00186805;
return;}
721 if (runno >= 901 && runno <= 1000) {scale = 1.00185576;
return;}
722 if (runno >= 1001 && runno <= 1079) {scale = 1.00177176;
return;}
723 if (runno >= 1080 && runno <= 1100) {scale = 1.00177184;
return;}
724 if (runno >= 1101 && runno <= 1200) {scale = 1.00174057;
return;}
725 if (runno >= 1201 && runno <= 1251) {scale = 1.00189649;
return;}
726 if (runno >= 1252 && runno <= 1300) {scale = 1.00189999;
return;}
727 if (runno >= 1301 && runno <= 1400) {scale = 1.0018818 ;
return;}
728 if (runno >= 1401 && runno <= 1500) {scale = 1.00200148;
return;}
729 if (runno >= 1501 && runno <= 1600) {scale = 1.00220137;
return;}
730 if (runno >= 1601 && runno <= 1632) {scale = 1.00217034;
return;}
732 B2ERROR(
"scale_momenta not ready for this exp,run "
733 << expno <<
"," << runno);
735 }
else if (expno == 31) {
736 if (runno >= 0 && runno <= 99) {scale = 1.000373374;
return;}
737 if (runno >= 100 && runno <= 199) {scale = 1.000684843;
return;}
738 if (runno >= 200 && runno <= 299) {scale = 1.000741216;
return;}
739 if (runno >= 300 && runno <= 399) {scale = 1.00092523 ;
return;}
740 if (runno >= 400 && runno <= 499) {scale = 1.00104576 ;
return;}
741 if (runno >= 500 && runno <= 599) {scale = 1.00103982 ;
return;}
742 if (runno >= 600 && runno <= 699) {scale = 1.0010601 ;
return;}
743 if (runno >= 700 && runno <= 799) {scale = 1.000982515;
return;}
744 if (runno >= 800 && runno <= 899) {scale = 1.00101577 ;
return;}
745 if (runno >= 900 && runno <= 999) {scale = 1.000972193;
return;}
746 if (runno >= 1000 && runno <= 1099) {scale = 1.00102536 ;
return;}
747 if (runno >= 1100 && runno <= 1199) {scale = 1.00127571 ;
return;}
748 if (runno >= 1200 && runno <= 1299) {scale = 1.00117938 ;
return;}
749 if (runno >= 1300 && runno <= 1399) {scale = 1.00121084 ;
return;}
750 if (runno >= 1400 && runno <= 1499) {scale = 1.00125911 ;
return;}
751 if (runno >= 1500 && runno <= 1599) {scale = 1.0012907 ;
return;}
752 if (runno >= 1600 && runno <= 1699) {scale = 1.00125362 ;
return;}
753 if (runno >= 1700 && runno <= 1799) {scale = 1.00131686 ;
return;}
755 B2ERROR(
"scale_momenta not ready for this exp,run "
756 << expno <<
"," << runno);
758 }
else if (expno == 33) {
759 if (runno >= 0 && runno <= 99) {scale = 1.00136407;
return;}
760 if (runno >= 100 && runno <= 199) {scale = 1.0013701 ;
return;}
761 if (runno >= 200 && runno <= 299) {scale = 1.00156244;
return;}
762 if (runno >= 300 && runno <= 399) {scale = 1.00138501;
return;}
763 if (runno >= 400 && runno <= 499) {scale = 1.00148468;
return;}
764 if (runno >= 500 && runno <= 599) {scale = 1.0013797 ;
return;}
765 if (runno >= 600 && runno <= 699) {scale = 1.00152298;
return;}
766 if (runno >= 700 && runno <= 799) {scale = 1.001524 ;
return;}
767 if (runno >= 800 && runno <= 899) {scale = 1.0014635 ;
return;}
769 B2ERROR(
"scale_momenta not ready for this exp,run "
770 << expno <<
"," << runno);
772 }
else if (expno == 35) {
773 if (runno >= 0 && runno <= 99) {scale = 1.00135452;
return;}
774 if (runno >= 100 && runno <= 199) {scale = 1.00135798;
return;}
775 if (runno >= 200 && runno <= 299) {scale = 1.00139979;
return;}
776 if (runno >= 300 && runno <= 399) {scale = 1.00136061;
return;}
777 if (runno >= 400 && runno <= 499) {scale = 1.00135776;
return;}
778 if (runno >= 500 && runno <= 599) {scale = 1.00118666;
return;}
779 if (runno >= 600 && runno <= 699) {scale = 1.0011346 ;
return;}
781 B2ERROR(
"scale_momenta not ready for this exp,run "
782 << expno <<
"," << runno);
784 }
else if (expno == 37) {
785 if (runno >= 0 && runno <= 99) {scale = 1.00076522 ;
return;}
786 if (runno >= 100 && runno <= 199) {scale = 1.000875154;
return;}
787 if (runno >= 200 && runno <= 299) {scale = 1.000946763;
return;}
788 if (runno >= 300 && runno <= 399) {scale = 1.000868444;
return;}
789 if (runno >= 400 && runno <= 499) {scale = 1.000781409;
return;}
790 if (runno >= 500 && runno <= 599) {scale = 1.000781171;
return;}
791 if (runno >= 600 && runno <= 699) {scale = 1.000857962;
return;}
792 if (runno >= 700 && runno <= 799) {scale = 1.000756082;
return;}
793 if (runno >= 800 && runno <= 899) {scale = 1.000727355;
return;}
794 if (runno >= 900 && runno <= 999) {scale = 1.000740236;
return;}
795 if (runno >= 1000 && runno <= 1099) {scale = 1.000499606;
return;}
796 if (runno >= 1100 && runno <= 1199) {scale = 1.000481664;
return;}
797 if (runno >= 1200 && runno <= 1299) {scale = 1.000706924;
return;}
798 if (runno >= 1300 && runno <= 1399) {scale = 1.000673738;
return;}
799 if (runno >= 1400 && runno <= 1499) {scale = 1.000662648;
return;}
800 if (runno >= 1500 && runno <= 1599) {scale = 1.000671198;
return;}
801 if (runno >= 1600 && runno <= 1699) {scale = 1.000604364;
return;}
802 if (runno >= 1700 && runno <= 1799) {scale = 1.000717372;
return;}
803 if (runno >= 1800 && runno <= 1899) {scale = 1.000512399;
return;}
804 if (runno >= 1900 && runno <= 1999) {scale = 1.000436958;
return;}
806 B2ERROR(
"scale_momenta not ready for this exp,run "
807 << expno <<
"," << runno);
809 }
else if (expno == 39) {
810 if (runno >= 0 && runno <= 99) {scale = 1.000504342;
return;}
811 if (runno >= 100 && runno <= 199) {scale = 1.000704544;
return;}
812 if (runno >= 200 && runno <= 299) {scale = 1.00094335 ;
return;}
813 if (runno >= 300 && runno <= 399) {scale = 1.000928819;
return;}
814 if (runno >= 400 && runno <= 499) {scale = 1.000884638;
return;}
815 if (runno >= 500 && runno <= 599) {scale = 1.00083459 ;
return;}
816 if (runno >= 600 && runno <= 699) {scale = 1.000767604;
return;}
817 if (runno >= 700 && runno <= 799) {scale = 1.000882219;
return;}
818 if (runno >= 800 && runno <= 899) {scale = 1.000781437;
return;}
819 if (runno >= 900 && runno <= 999) {scale = 1.000853168;
return;}
820 if (runno >= 1000 && runno <= 1099) {scale = 1.000926527;
return;}
821 if (runno >= 1100 && runno <= 1199) {scale = 1.000942882;
return;}
822 if (runno >= 1200 && runno <= 1299) {scale = 1.000932802;
return;}
823 if (runno >= 1300 && runno <= 1399) {scale = 1.000898892;
return;}
825 B2ERROR(
"scale_momenta not ready for this exp,run "
826 << expno <<
"," << runno);
828 }
else if (expno == 41) {
829 if (runno >= 0 && runno <= 99) {scale = 1.00178427;
return;}
830 if (runno >= 100 && runno <= 199) {scale = 1.00188559;
return;}
831 if (runno >= 200 && runno <= 299) {scale = 1.0019292 ;
return;}
832 if (runno >= 300 && runno <= 399) {scale = 1.00196352;
return;}
833 if (runno >= 400 && runno <= 499) {scale = 1.0019078 ;
return;}
834 if (runno >= 500 && runno <= 599) {scale = 1.00185598;
return;}
835 if (runno >= 600 && runno <= 699) {scale = 1.00191314;
return;}
836 if (runno >= 700 && runno <= 799) {scale = 1.00179647;
return;}
837 if (runno >= 800 && runno <= 899) {scale = 1.00189776;
return;}
838 if (runno >= 900 && runno <= 999) {scale = 1.00184798;
return;}
839 if (runno >= 1000 && runno <= 1099) {scale = 1.00177963;
return;}
840 if (runno >= 1100 && runno <= 1199) {scale = 1.00176408;
return;}
841 if (runno >= 1200 && runno <= 1299) {scale = 1.00171371;
return;}
843 B2ERROR(
"scale_momenta not ready for this exp,run "
844 << expno <<
"," << runno);
846 }
else if (expno == 43) {
847 if (runno >= 0 && runno <= 99) {scale = 1.00142307;
return;}
848 if (runno >= 100 && runno <= 199) {scale = 1.000979455;
return;}
849 if (runno >= 200 && runno <= 299) {scale = 1.000974458;
return;}
850 if (runno >= 300 && runno <= 399) {scale = 1.00103301;
return;}
851 if (runno >= 400 && runno <= 499) {scale = 1.001111994;
return;}
852 if (runno >= 500 && runno <= 599) {scale = 1.00100635;
return;}
853 if (runno >= 600 && runno <= 699) {scale = 1.00105078;
return;}
854 if (runno >= 700 && runno <= 799) {scale = 1.00103593;
return;}
855 if (runno >= 800 && runno <= 899) {scale = 1.00105158;
return;}
856 if (runno >= 900 && runno <= 999) {scale = 1.000955608;
return;}
857 if (runno >= 1000 && runno <= 1099) {scale = 1.00099199;
return;}
858 if (runno >= 1100 && runno <= 1199) {scale = 1.0011439;
return;}
860 B2ERROR(
"scale_momenta not ready for this exp,run "
861 << expno <<
"," << runno);
863 }
else if (expno == 45) {
864 if (runno >= 0 && runno <= 99) {scale = 1.00126261;
return;}
865 if (runno >= 100 && runno <= 199) {scale = 1.00138601;
return;}
866 if (runno >= 200 && runno <= 299) {scale = 1.00135372;
return;}
867 if (runno >= 300 && runno <= 399) {scale = 1.00141286;
return;}
868 if (runno >= 400 && runno <= 499) {scale = 1.00147822;
return;}
870 B2ERROR(
"scale_momenta not ready for this exp,run "
871 << expno <<
"," << runno);
873 }
else if (expno == 47) {
874 if (runno >= 0 && runno <= 99) {scale = 1.00156977;
return;}
875 if (runno >= 100 && runno <= 199) {scale = 1.00155614;
return;}
876 if (runno >= 200 && runno <= 299) {scale = 1.0016555;
return;}
877 if (runno >= 300 && runno <= 399) {scale = 1.00167046;
return;}
878 if (runno >= 400 && runno <= 499) {scale = 1.00168705;
return;}
879 if (runno >= 500 && runno <= 599) {scale = 1.00169555;
return;}
880 if (runno >= 600 && runno <= 699) {scale = 1.00175653;
return;}
881 if (runno >= 700 && runno <= 799) {scale = 1.00174358;
return;}
882 if (runno >= 800 && runno <= 899) {scale = 1.00174004;
return;}
884 B2ERROR(
"scale_momenta not ready for this exp,run "
885 << expno <<
"," << runno);
887 }
else if (expno == 49) {
888 if (runno >= 0 && runno <= 99) {scale = 1.00158837;
return;}
889 if (runno >= 100 && runno <= 199) {scale = 1.00163884;
return;}
890 if (runno >= 200 && runno <= 299) {scale = 1.00160595;
return;}
891 if (runno >= 300 && runno <= 399) {scale = 1.00149916;
return;}
892 if (runno >= 400 && runno <= 499) {scale = 1.0014956 ;
return;}
893 if (runno >= 500 && runno <= 599) {scale = 1.00156212;
return;}
894 if (runno >= 600 && runno <= 699) {scale = 1.00121868;
return;}
895 if (runno >= 700 && runno <= 799) {scale = 1.00134613;
return;}
896 if (runno >= 800 && runno <= 899) {scale = 1.00138985;
return;}
897 if (runno >= 900 && runno <= 999) {scale = 1.00129356;
return;}
898 if (runno >= 1000 && runno <= 1099) {scale = 1.00119732;
return;}
899 if (runno >= 1100 && runno <= 1199) {scale = 1.00121481;
return;}
900 if (runno >= 1200 && runno <= 1299) {scale = 1.00121108;
return;}
902 B2ERROR(
"scale_momenta not ready for this exp,run "
903 << expno <<
"," << runno);
905 }
else if (expno == 51) {
906 if (runno >= 0 && runno <= 99) {scale = 1.00160252;
return;}
907 if (runno >= 100 && runno <= 199) {scale = 1.00156099;
return;}
908 if (runno >= 200 && runno <= 299) {scale = 1.00154760;
return;}
909 if (runno >= 300 && runno <= 399) {scale = 1.00146316;
return;}
910 if (runno >= 400 && runno <= 499) {scale = 1.00145525;
return;}
911 if (runno >= 500 && runno <= 599) {scale = 1.00134429;
return;}
912 if (runno >= 600 && runno <= 699) {scale = 1.00135581;
return;}
913 if (runno >= 700 && runno <= 799) {scale = 1.00134382;
return;}
914 if (runno >= 800 && runno <= 899) {scale = 1.00126462;
return;}
915 if (runno >= 900 && runno <= 999) {scale = 1.00130752;
return;}
916 if (runno >= 1000 && runno <= 1099) {scale = 1.00130452;
return;}
917 if (runno >= 1100 && runno <= 1199) {scale = 1.00131440;
return;}
918 if (runno >= 1200 && runno <= 1299) {scale = 1.00130864;
return;}
919 if (runno >= 1300 && runno <= 1399) {scale = 1.00105290;
return;}
920 if (runno >= 1400 && runno <= 1499) {scale = 1.00126645;
return;}
921 if (runno >= 1500 && runno <= 1599) {scale = 1.00126383;
return;}
922 if (runno >= 1600 && runno <= 1699) {scale = 1.00141111;
return;}
923 if (runno >= 1700 && runno <= 1799) {scale = 1.00126220;
return;}
924 if (runno >= 1800 && runno <= 1899) {scale = 1.00105098;
return;}
926 B2ERROR(
"scale_momenta not ready for this exp,run "
927 << expno <<
"," << runno);
929 }
else if (expno == 53) {
930 if (runno >= 0 && runno <= 99) {scale = 1.0011516;
return;}
931 if (runno >= 100 && runno <= 199) {scale = 1.00115527;
return;}
932 if (runno >= 200 && runno <= 299) {scale = 1.00114844;
return;}
934 B2ERROR(
"scale_momenta not ready for this exp,run "
935 << expno <<
"," << runno);
937 }
else if (expno == 55) {
938 if (runno >= 0 && runno <= 99) {scale = 1.00114284;
return;}
939 if (runno >= 100 && runno <= 199) {scale = 1.00111458;
return;}
940 if (runno >= 200 && runno <= 299) {scale = 1.00109686;
return;}
941 if (runno >= 300 && runno <= 399) {scale = 1.00119475;
return;}
942 if (runno >= 400 && runno <= 499) {scale = 1.00117818;
return;}
943 if (runno >= 500 && runno <= 599) {scale = 1.00115789;
return;}
944 if (runno >= 600 && runno <= 699) {scale = 1.00122261;
return;}
945 if (runno >= 700 && runno <= 799) {scale = 1.00118454;
return;}
946 if (runno >= 800 && runno <= 899) {scale = 1.00118042;
return;}
947 if (runno >= 900 && runno <= 999) {scale = 1.00124759;
return;}
948 if (runno >= 1000 && runno <= 1099) {scale = 1.00128055;
return;}
949 if (runno >= 1100 && runno <= 1199) {scale = 1.00119131;
return;}
950 if (runno >= 1200 && runno <= 1299) {scale = 1.00122238;
return;}
951 if (runno >= 1300 && runno <= 1399) {scale = 1.00129538;
return;}
952 if (runno >= 1400 && runno <= 1499) {scale = 1.00130387;
return;}
953 if (runno >= 1500 && runno <= 1599) {scale = 1.00130858;
return;}
954 if (runno >= 1600 && runno <= 1699) {scale = 1.00111854;
return;}
955 if (runno >= 1700 && runno <= 1799) {scale = 1.00136261;
return;}
957 B2ERROR(
"scale_momenta not ready for this exp,run "
958 << expno <<
"," << runno);
960 }
else if (expno == 61) {
961 if (runno >= 0 && runno <= 99) {scale = 1.0009992;
return;}
962 if (runno >= 100 && runno <= 199) {scale = 1.00113704;
return;}
963 if (runno >= 200 && runno <= 299) {scale = 1.00129904;
return;}
964 if (runno >= 300 && runno <= 399) {scale = 1.00141879;
return;}
965 if (runno >= 400 && runno <= 499) {scale = 1.00146707;
return;}
966 if (runno >= 500 && runno <= 599) {scale = 1.00150101;
return;}
967 if (runno >= 600 && runno <= 699) {scale = 1.00147322;
return;}
968 if (runno >= 700 && runno <= 799) {scale = 1.00153929;
return;}
969 if (runno >= 800 && runno <= 899) {scale = 1.00159997;
return;}
970 if (runno >= 900 && runno <= 999) {scale = 1.00164032;
return;}
971 if (runno >= 1000 && runno <= 1099) {scale = 1.00165878;
return;}
972 if (runno >= 1100 && runno <= 1199) {scale = 1.00163475;
return;}
973 if (runno >= 1200 && runno <= 1207) {scale = 1.00166193;
return;}
974 if (runno >= 1208 && runno <= 1299) {scale = 1.00235824;
return;}
975 if (runno >= 1300 && runno <= 1399) {scale = 1.00242282;
return;}
977 B2ERROR(
"scale_momenta not ready for this exp,run "
978 << expno <<
"," << runno);
980 }
else if (expno == 65) {
982 B2ERROR(
"scale_momenta not ready for this exp,run "
983 << expno <<
"," << runno);
985 if (runno >= 1000 && runno <= 1336) {scale = 1.00145234;
return;}
987 B2ERROR(
"scale_momenta not ready for this exp,run "
988 << expno <<
"," << runno);
991 B2ERROR(
"scale_momenta mode=2 not ready for exp " << expno);
998 const int runno,
double& scale)
1007 B2ERROR(
"scale_momenta mode=1 not ready for exp " << expno);
1014 }
else if (expno == 9) {
1016 }
else if (expno == 11) {
1018 }
else if (expno == 13) {
1020 }
else if (expno == 15) {
1022 }
else if (expno == 17) {
1024 }
else if (expno == 19) {
1025 B2ERROR(
"scale_momenta not ready for this exp,run "
1026 << expno <<
"," << runno);
1028 }
else if (expno == 21) {
1029 B2ERROR(
"scale_momenta not ready for this exp,run "
1030 << expno <<
"," << runno);
1032 }
else if (expno == 23) {
1033 B2ERROR(
"scale_momenta not ready for this exp,run "
1034 << expno <<
"," << runno);
1036 }
else if (expno == 25) {
1037 B2ERROR(
"scale_momenta not ready for this exp,run "
1038 << expno <<
"," << runno);
1040 }
else if (expno == 27) {
1041 B2ERROR(
"scale_momenta not ready for this exp,run "
1042 << expno <<
"," << runno);
1044 }
else if (expno == 31) {
1045 if (runno >= 0 && runno <= 137) {
1046 B2ERROR(
"scale_momenta not ready for this exp,run "
1047 << expno <<
"," << runno);
1049 if (runno >= 138 && runno <= 199) {scale = 1.000931841;
return;}
1050 if (runno >= 200 && runno <= 299) {scale = 1.000916397;
return;}
1051 if (runno >= 300 && runno <= 399) {scale = 1.00108023 ;
return;}
1052 if (runno >= 400 && runno <= 499) {scale = 1.00118662 ;
return;}
1053 if (runno >= 500 && runno <= 599) {scale = 1.00117739 ;
return;}
1054 if (runno >= 600 && runno <= 699) {scale = 1.00119542 ;
return;}
1055 if (runno >= 700 && runno <= 799) {scale = 1.00110396 ;
return;}
1056 if (runno >= 800 && runno <= 899) {scale = 1.00109603 ;
return;}
1057 if (runno >= 900 && runno <= 999) {scale = 1.00112795 ;
return;}
1058 if (runno >= 1000 && runno <= 1099) {scale = 1.00118365 ;
return;}
1059 if (runno >= 1100 && runno <= 1199) {scale = 1.00142214 ;
return;}
1060 if (runno >= 1200 && runno <= 1299) {scale = 1.00133150 ;
return;}
1061 if (runno >= 1300 && runno <= 1399) {scale = 1.00132831 ;
return;}
1062 if (runno >= 1400 && runno <= 1499) {scale = 1.00136554 ;
return;}
1063 if (runno >= 1500 && runno <= 1599) {scale = 1.00141187 ;
return;}
1064 if (runno >= 1600 && runno <= 1699) {scale = 1.00136628 ;
return;}
1065 if (runno >= 1700 && runno <= 1799) {scale = 1.00139273 ;
return;}
1066 if (runno >= 1800) {
1067 B2ERROR(
"scale_momenta not ready for this exp,run "
1068 << expno <<
"," << runno);
1070 }
else if (expno == 33) {
1071 if (runno >= 0 && runno <= 99) {scale = 1.00149319;
return;}
1072 if (runno >= 100 && runno <= 199) {scale = 1.00150915;
return;}
1073 if (runno >= 200 && runno <= 299) {scale = 1.00173040;
return;}
1074 if (runno >= 300 && runno <= 399) {scale = 1.00150449;
return;}
1075 if (runno >= 400 && runno <= 499) {scale = 1.00161519;
return;}
1076 if (runno >= 500 && runno <= 599) {scale = 1.00151670;
return;}
1077 if (runno >= 600 && runno <= 699) {scale = 1.00164347;
return;}
1078 if (runno >= 700 && runno <= 799) {scale = 1.00164165;
return;}
1079 if (runno >= 800 && runno <= 899) {scale = 1.00161369;
return;}
1081 B2ERROR(
"scale_momenta not ready for this exp,run "
1082 << expno <<
"," << runno);
1084 }
else if (expno == 35) {
1085 if (runno >= 0 && runno <= 99) {scale = 1.00147034;
return;}
1086 if (runno >= 100 && runno <= 199) {scale = 1.00148523;
return;}
1087 if (runno >= 200 && runno <= 299) {scale = 1.00153372;
return;}
1088 if (runno >= 300 && runno <= 399) {scale = 1.00148256;
return;}
1089 if (runno >= 400 && runno <= 499) {scale = 1.00144902;
return;}
1090 if (runno >= 500 && runno <= 599) {scale = 1.00131501;
return;}
1091 if (runno >= 600 && runno <= 699) {scale = 1.00126371;
return;}
1093 B2ERROR(
"scale_momenta not ready for this exp,run "
1094 << expno <<
"," << runno);
1096 }
else if (expno == 37) {
1097 if (runno >= 0 && runno <= 99) {scale = 1.000916277;
return;}
1098 if (runno >= 100 && runno <= 199) {scale = 1.001035310;
return;}
1099 if (runno >= 200 && runno <= 299) {scale = 1.001123403;
return;}
1100 if (runno >= 300 && runno <= 399) {scale = 1.001017718;
return;}
1101 if (runno >= 400 && runno <= 499) {scale = 1.000932890;
return;}
1102 if (runno >= 500 && runno <= 599) {scale = 1.000928479;
return;}
1103 if (runno >= 600 && runno <= 699) {scale = 1.000997938;
return;}
1104 if (runno >= 700 && runno <= 799) {scale = 1.000899663;
return;}
1105 if (runno >= 800 && runno <= 899) {scale = 1.000860910;
return;}
1106 if (runno >= 900 && runno <= 999) {scale = 1.000882920;
return;}
1107 if (runno >= 1000 && runno <= 1099) {scale = 1.000616966;
return;}
1108 if (runno >= 1100 && runno <= 1199) {scale = 1.000613018;
return;}
1109 if (runno >= 1200 && runno <= 1299) {scale = 1.000832338;
return;}
1110 if (runno >= 1300 && runno <= 1399) {scale = 1.000803640;
return;}
1111 if (runno >= 1400 && runno <= 1499) {scale = 1.000770454;
return;}
1112 if (runno >= 1500 && runno <= 1599) {scale = 1.000786608;
return;}
1113 if (runno >= 1600 && runno <= 1699) {scale = 1.000718089;
return;}
1114 if (runno >= 1700 && runno <= 1799) {scale = 1.000826042;
return;}
1115 if (runno >= 1800 && runno <= 1899) {scale = 1.000638150;
return;}
1116 if (runno >= 1900 && runno <= 1999) {scale = 1.000529173;
return;}
1117 if (runno >= 2000) {
1118 B2ERROR(
"scale_momenta not ready for this exp,run "
1119 << expno <<
"," << runno);
1121 }
else if (expno == 39) {
1122 if (runno >= 0 && runno <= 99) {scale = 1.000610857;
return;}
1123 if (runno >= 100 && runno <= 199) {scale = 1.000838583;
return;}
1124 if (runno >= 200 && runno <= 299) {scale = 1.00105918 ;
return;}
1125 if (runno >= 300 && runno <= 399) {scale = 1.00105841 ;
return;}
1126 if (runno >= 400 && runno <= 499) {scale = 1.001025523;
return;}
1127 if (runno >= 500 && runno <= 599) {scale = 1.000967373;
return;}
1128 if (runno >= 600 && runno <= 699) {scale = 1.000898585;
return;}
1129 if (runno >= 700 && runno <= 799) {scale = 1.001003199;
return;}
1130 if (runno >= 800 && runno <= 899) {scale = 1.000897072;
return;}
1131 if (runno >= 900 && runno <= 999) {scale = 1.000972551;
return;}
1132 if (runno >= 1000 && runno <= 1099) {scale = 1.001044677;
return;}
1133 if (runno >= 1100 && runno <= 1199) {scale = 1.00106451 ;
return;}
1134 if (runno >= 1200 && runno <= 1299) {scale = 1.00108570 ;
return;}
1135 if (runno >= 1300 && runno <= 1399) {scale = 1.00102381 ;
return;}
1136 if (runno >= 1400) {
1137 B2ERROR(
"scale_momenta not ready for this exp,run "
1138 << expno <<
"," << runno);
1140 }
else if (expno == 41) {
1141 if (runno >= 0 && runno <= 99) {scale = 1.00189378;
return;}
1142 if (runno >= 100 && runno <= 199) {scale = 1.00197304;
return;}
1143 if (runno >= 200 && runno <= 299) {scale = 1.00204049;
return;}
1144 if (runno >= 300 && runno <= 399) {scale = 1.00205065;
return;}
1145 if (runno >= 400 && runno <= 499) {scale = 1.00199205;
return;}
1146 if (runno >= 500 && runno <= 599) {scale = 1.00195618;
return;}
1147 if (runno >= 600 && runno <= 699) {scale = 1.00200889;
return;}
1148 if (runno >= 700 && runno <= 799) {scale = 1.00190365;
return;}
1149 if (runno >= 800 && runno <= 899) {scale = 1.00204192;
return;}
1150 if (runno >= 900 && runno <= 999) {scale = 1.00196542;
return;}
1151 if (runno >= 1000 && runno <= 1099) {scale = 1.00189706;
return;}
1152 if (runno >= 1100 && runno <= 1199) {scale = 1.00187422;
return;}
1153 if (runno >= 1200 && runno <= 1299) {scale = 1.00183714;
return;}
1154 if (runno >= 1300) {
1155 B2ERROR(
"scale_momenta not ready for this exp,run "
1156 << expno <<
"," << runno);
1158 }
else if (expno == 43) {
1159 if (runno >= 0 && runno <= 99) {scale = 1.00151737;
return;}
1160 if (runno >= 100 && runno <= 199) {scale = 1.00110489;
return;}
1161 if (runno >= 200 && runno <= 299) {scale = 1.00108144;
return;}
1162 if (runno >= 300 && runno <= 399) {scale = 1.00114918;
return;}
1163 if (runno >= 400 && runno <= 499) {scale = 1.00122723;
return;}
1164 if (runno >= 500 && runno <= 599) {scale = 1.00111069;
return;}
1165 if (runno >= 600 && runno <= 699) {scale = 1.00115667;
return;}
1166 if (runno >= 700 && runno <= 799) {scale = 1.00113759;
return;}
1167 if (runno >= 800 && runno <= 899) {scale = 1.00115609;
return;}
1168 if (runno >= 900 && runno <= 999) {scale = 1.00105426;
return;}
1172 if (runno >= 1000 && runno <= 1099) {scale = 1.00111210;
return;}
1173 if (runno >= 1100 && runno <= 1199) {scale = 1.00123104;
return;}
1174 if (runno >= 1200) {
1175 B2ERROR(
"scale_momenta not ready for this exp,run "
1176 << expno <<
"," << runno);
1178 }
else if (expno == 45) {
1179 if (runno >= 0 && runno <= 99) {scale = 1.00136477;
return;}
1180 if (runno >= 100 && runno <= 199) {scale = 1.00151600;
return;}
1181 if (runno >= 200 && runno <= 299) {scale = 1.00146757;
return;}
1182 if (runno >= 300 && runno <= 399) {scale = 1.00153299;
return;}
1183 if (runno >= 400 && runno <= 499) {scale = 1.00159018;
return;}
1185 B2ERROR(
"scale_momenta not ready for this exp,run "
1186 << expno <<
"," << runno);
1188 }
else if (expno == 47) {
1189 if (runno >= 0 && runno <= 99) {scale = 1.00166672;
return;}
1190 if (runno >= 100 && runno <= 199) {scale = 1.00165120;
return;}
1191 if (runno >= 200 && runno <= 299) {scale = 1.00175597;
return;}
1192 if (runno >= 300 && runno <= 399) {scale = 1.00177319;
return;}
1193 if (runno >= 400 && runno <= 499) {scale = 1.00179552;
return;}
1194 if (runno >= 500 && runno <= 599) {scale = 1.00179413;
return;}
1195 if (runno >= 600 && runno <= 699) {scale = 1.00186237;
return;}
1196 if (runno >= 700 && runno <= 799) {scale = 1.00183016;
return;}
1197 if (runno >= 800 && runno <= 899) {scale = 1.00184324;
return;}
1199 B2ERROR(
"scale_momenta not ready for this exp,run "
1200 << expno <<
"," << runno);
1202 }
else if (expno == 49) {
1203 if (runno >= 0 && runno <= 99) {scale = 1.00171645;
return;}
1204 if (runno >= 100 && runno <= 199) {scale = 1.00177728;
return;}
1205 if (runno >= 200 && runno <= 299) {scale = 1.00173301;
return;}
1206 if (runno >= 300 && runno <= 399) {scale = 1.00162075;
return;}
1207 if (runno >= 400 && runno <= 499) {scale = 1.00163153;
return;}
1208 if (runno >= 500 && runno <= 599) {scale = 1.00168559;
return;}
1209 if (runno >= 600 && runno <= 699) {scale = 1.00139227;
return;}
1210 if (runno >= 700 && runno <= 799) {scale = 1.00148583;
return;}
1211 if (runno >= 800 && runno <= 899) {scale = 1.00150403;
return;}
1212 if (runno >= 900 && runno <= 999) {scale = 1.00142759;
return;}
1213 if (runno >= 1000 && runno <= 1099) {scale = 1.00134573;
return;}
1214 if (runno >= 1100 && runno <= 1199) {scale = 1.00138313;
return;}
1215 if (runno >= 1200 && runno <= 1299) {scale = 1.00151369;
return;}
1216 if (runno >= 1300) {
1217 B2ERROR(
"scale_momenta not ready for this exp,run "
1218 << expno <<
"," << runno);
1220 }
else if (expno == 51) {
1221 if (runno >= 0 && runno <= 99) {scale = 1.00165035;
return;}
1222 if (runno >= 100 && runno <= 199) {scale = 1.00161504;
return;}
1223 if (runno >= 200 && runno <= 299) {scale = 1.00160162;
return;}
1224 if (runno >= 300 && runno <= 399) {scale = 1.00152725;
return;}
1225 if (runno >= 400 && runno <= 499) {scale = 1.00149943;
return;}
1226 if (runno >= 500 && runno <= 599) {scale = 1.00141294;
return;}
1227 if (runno >= 600 && runno <= 699) {scale = 1.00140154;
return;}
1228 if (runno >= 700 && runno <= 799) {scale = 1.00140759;
return;}
1229 if (runno >= 800 && runno <= 899) {scale = 1.00133671;
return;}
1230 if (runno >= 900 && runno <= 999) {scale = 1.00136792;
return;}
1231 if (runno >= 1000 && runno <= 1099) {scale = 1.00135251;
return;}
1232 if (runno >= 1100 && runno <= 1199) {scale = 1.00138229;
return;}
1233 if (runno >= 1200 && runno <= 1299) {scale = 1.00134938;
return;}
1234 if (runno >= 1300 && runno <= 1399) {scale = 1.00106240;
return;}
1235 if (runno >= 1400 && runno <= 1499) {scale = 1.00132666;
return;}
1236 if (runno >= 1500 && runno <= 1599) {scale = 1.00132654;
return;}
1237 if (runno >= 1600 && runno <= 1699) {scale = 1.00146619;
return;}
1238 if (runno >= 1700 && runno <= 1799) {scale = 1.00131902;
return;}
1239 if (runno >= 1800 && runno <= 1899) {scale = 1.00114243;
return;}
1240 if (runno >= 1900) {
1241 B2ERROR(
"scale_momenta not ready for this exp,run "
1242 << expno <<
"," << runno);
1244 }
else if (expno == 53) {
1245 if (runno >= 0 && runno <= 99) {scale = 1.00125475;
return;}
1246 if (runno >= 100 && runno <= 199) {scale = 1.00124954;
return;}
1247 if (runno >= 200 && runno <= 299) {scale = 1.00122914;
return;}
1249 B2ERROR(
"scale_momenta not ready for this exp,run "
1250 << expno <<
"," << runno);
1252 }
else if (expno == 55) {
1253 if (runno >= 0 && runno <= 99) {scale = 1.00119352;
return;}
1254 if (runno >= 100 && runno <= 199) {scale = 1.00117130;
return;}
1255 if (runno >= 200 && runno <= 299) {scale = 1.00115825;
return;}
1256 if (runno >= 300 && runno <= 399) {scale = 1.00125005;
return;}
1257 if (runno >= 400 && runno <= 499) {scale = 1.00124720;
return;}
1258 if (runno >= 500 && runno <= 599) {scale = 1.00122234;
return;}
1259 if (runno >= 600 && runno <= 699) {scale = 1.00128709;
return;}
1260 if (runno >= 700 && runno <= 799) {scale = 1.00123081;
return;}
1261 if (runno >= 800 && runno <= 899) {scale = 1.00124198;
return;}
1262 if (runno >= 900 && runno <= 999) {scale = 1.00131118;
return;}
1263 if (runno >= 1000 && runno <= 1099) {scale = 1.00132496;
return;}
1264 if (runno >= 1100 && runno <= 1199) {scale = 1.00126186;
return;}
1265 if (runno >= 1200 && runno <= 1299) {scale = 1.00127849;
return;}
1266 if (runno >= 1300 && runno <= 1399) {scale = 1.00135312;
return;}
1267 if (runno >= 1400 && runno <= 1499) {scale = 1.00136637;
return;}
1268 if (runno >= 1500 && runno <= 1599) {scale = 1.00136270;
return;}
1269 if (runno >= 1600 && runno <= 1699) {scale = 1.00118422;
return;}
1270 if (runno >= 1700 && runno <= 1799) {scale = 1.00142667;
return;}
1271 if (runno >= 1800) {
1272 B2ERROR(
"scale_momenta not ready for this exp,run "
1273 << expno <<
"," << runno);
1275 }
else if (expno == 61) {
1276 if (runno >= 0 && runno <= 99) {scale = 1.00103013;
return;}
1277 if (runno >= 100 && runno <= 199) {scale = 1.00116185;
return;}
1278 if (runno >= 200 && runno <= 299) {scale = 1.00133560;
return;}
1279 if (runno >= 300 && runno <= 399) {scale = 1.00145027;
return;}
1280 if (runno >= 400 && runno <= 499) {scale = 1.00147949;
return;}
1281 if (runno >= 500 && runno <= 599) {scale = 1.00151022;
return;}
1282 if (runno >= 600 && runno <= 699) {scale = 1.00150439;
return;}
1283 if (runno >= 700 && runno <= 799) {scale = 1.00155006;
return;}
1284 if (runno >= 800 && runno <= 899) {scale = 1.00162396;
return;}
1285 if (runno >= 900 && runno <= 999) {scale = 1.00168542;
return;}
1286 if (runno >= 1000 && runno <= 1099) {scale = 1.00168249;
return;}
1287 if (runno >= 1100 && runno <= 1207) {scale = 1.00166891;
return;}
1288 if (runno >= 1208 && runno <= 1299) {scale = 1.00249956;
return;}
1289 if (runno >= 1300 && runno <= 1399) {scale = 1.00255134;
return;}
1290 if (runno >= 1400) {
1291 B2ERROR(
"scale_momenta not ready for this exp,run "
1292 << expno <<
"," << runno);
1294 }
else if (expno == 63) {
1295 if (runno >= 0 && runno <= 99) {scale = 1.00129667;
return;}
1296 if (runno >= 100 && runno <= 199) {scale = 1.00123725;
return;}
1297 if (runno >= 200 && runno <= 299) {scale = 1.00126795;
return;}
1298 if (runno >= 300 && runno <= 399) {scale = 1.00122458;
return;}
1299 if (runno >= 400 && runno <= 499) {scale = 1.00116489;
return;}
1300 if (runno >= 500 && runno <= 599) {scale = 1.00116968;
return;}
1301 if (runno >= 600 && runno <= 699) {scale = 1.000918379;
return;}
1302 if (runno >= 700 && runno <= 799) {scale = 1.0010429;
return;}
1304 B2ERROR(
"scale_momenta not ready for this exp,run "
1305 << expno <<
"," << runno);
1307 }
else if (expno == 65) {
1308 if (runno >= 0 && runno <= 99) {scale = 1.00116975;
return;}
1309 if (runno >= 100 && runno <= 199) {scale = 1.00111926;
return;}
1310 if (runno >= 200 && runno <= 299) {scale = 1.00110162;
return;}
1311 if (runno >= 300 && runno <= 399) {scale = 1.00109524;
return;}
1312 if (runno >= 400 && runno <= 499) {scale = 1.00106913;
return;}
1313 if (runno >= 500 && runno <= 599) {scale = 1.00110941;
return;}
1314 if (runno >= 600 && runno <= 699) {scale = 1.000897865;
return;}
1315 if (runno >= 700 && runno <= 999) {scale = 1.00104385;
return;}
1316 if (runno >= 1000 && runno <= 1299) {scale = 1.000876489;
return;}
1317 if (runno >= 1000) {
1318 B2ERROR(
"scale_momenta not ready for this exp,run "
1319 << expno <<
"," << runno);
1321 }
else if (expno == 67) {
1322 if (runno >= 0 && runno <= 199) {scale = 1.000826364;
return;}
1323 if (runno >= 200 && runno <= 299) {scale = 1.000836576;
return;}
1324 if (runno >= 300 && runno <= 399) {scale = 1.000904815;
return;}
1325 if (runno >= 400 && runno <= 499) {scale = 1.000966045;
return;}
1326 if (runno >= 500 && runno <= 599) {scale = 1.000988147;
return;}
1327 if (runno >= 600 && runno <= 699) {scale = 1.000988147;
return;}
1328 if (runno >= 700 && runno <= 742) {scale = 1.000837414;
return;}
1329 if (runno >= 1000 && runno <= 1099) {scale = 1.000984865;
return;}
1330 if (runno >= 1100 && runno <= 1123) {scale = 1.00105248 ;
return;}
1331 if (runno >= 1124) {
1332 B2ERROR(
"scale_momenta not ready for this exp,run "
1333 << expno <<
"," << runno);
1335 }
else if (expno == 69) {
1336 if (runno >= 0 && runno <= 99) {scale = 1.000791450;
return;}
1337 if (runno >= 100 && runno <= 199) {scale = 1.000891748;
return;}
1338 if (runno >= 200 && runno <= 299) {scale = 1.000866165;
return;}
1339 if (runno >= 300 && runno <= 399) {scale = 1.000838834;
return;}
1340 if (runno >= 400 && runno <= 499) {scale = 1.000811878;
return;}
1341 if (runno >= 500 && runno <= 599) {scale = 1.000779810;
return;}
1342 if (runno >= 600 && runno <= 699) {scale = 1.000799086;
return;}
1343 if (runno >= 700 && runno <= 799) {scale = 1.000833797;
return;}
1344 if (runno >= 800 && runno <= 899) {scale = 1.000875203;
return;}
1345 if (runno >= 900 && runno <= 999) {scale = 1.000891998;
return;}
1346 if (runno >= 1000 && runno <= 1099) {scale = 1.000921074;
return;}
1347 if (runno >= 1100 && runno <= 1199) {scale = 1.000900829;
return;}
1348 if (runno >= 1200 && runno <= 1299) {scale = 1.000958405;
return;}
1349 if (runno >= 1300 && runno <= 1399) {scale = 1.000836841;
return;}
1350 if (runno >= 1400) {
1351 B2ERROR(
"scale_momenta not ready for this exp,run "
1352 << expno <<
"," << runno);
1354 }
else if (expno == 71) {
1355 if (runno >= 0 && runno <= 99) {scale = 1.000962999;
return;}
1356 if (runno >= 100 && runno <= 199) {scale = 1.001478932;
return;}
1357 if (runno >= 200 && runno <= 300) {scale = 1.001486524;
return;}
1358 if (runno >= 301 && runno <= 384) {scale = 1.001430843;
return;}
1359 if (runno >= 385 && runno <= 499) {scale = 1.001505696;
return;}
1360 if (runno >= 500 && runno <= 599) {scale = 1.001523980;
return;}
1361 if (runno >= 600 && runno <= 699) {scale = 1.001480830;
return;}
1362 if (runno >= 1000 && runno <= 1013) {scale = 1.001480830;
return;}
1363 if (runno >= 2000 && runno <= 2099) {scale = 1.001617882;
return;}
1364 if (runno >= 2100 && runno <= 2199) {scale = 1.001644395;
return;}
1365 if (runno >= 2200 && runno <= 2299) {scale = 1.001722184;
return;}
1366 if (runno >= 700 && runno <= 999) {
1367 B2ERROR(
"scale_momenta not ready for this exp,run "
1368 << expno <<
"," << runno);
1370 if (runno >= 1014 && runno <= 1999) {
1371 B2ERROR(
"scale_momenta not ready for this exp,run "
1372 << expno <<
"," << runno);
1374 if (runno >= 2299) {
1375 B2ERROR(
"scale_momenta not ready for this exp,run "
1376 << expno <<
"," << runno);
1378 }
else if (expno == 73) {
1379 if (runno >= 0 && runno <= 99) {scale = 1.000721587;
return;}
1380 if (runno >= 100 && runno <= 199) {scale = 1.000707089;
return;}
1381 if (runno >= 200 && runno <= 299) {scale = 1.000722517;
return;}
1382 if (runno >= 300 && runno <= 399) {scale = 1.000722517;
return;}
1383 if (runno >= 400 && runno <= 499) {scale = 1.000750776;
return;}
1384 if (runno >= 500 && runno <= 599) {scale = 1.000729771;
return;}
1385 if (runno >= 600 && runno <= 699) {scale = 1.000751190;
return;}
1386 if (runno >= 700 && runno <= 799) {scale = 1.000702455;
return;}
1387 if (runno >= 800 && runno <= 899) {scale = 1.000771074;
return;}
1388 if (runno >= 900 && runno <= 999) {scale = 1.000868463;
return;}
1389 if (runno >= 1000) {
1390 B2ERROR(
"scale_momenta not ready for this exp,run "
1391 << expno <<
"," << runno);
1395 B2ERROR(
"scale_momenta mode=2 not ready for exp " << expno);
1462 get_event_id(
int* no_exp,
int* no_run,
int* no_evt,
int* no_frm,
int* expmc)
1464 *no_exp = -1, *no_run = -1, *no_evt = -1, *no_frm = -1;
1466 belle_event* belle_event;
1467 belle_event = (
struct belle_event*)BsGetEnt(BELLE_EVENT, 1, BBS_No_Index);
1469 *no_exp = belle_event->m_ExpNo;
1470 *no_run = belle_event->m_RunNo;
1471 *no_evt = belle_event->m_EvtNo & 0x0fffffff;
1472 *no_frm = (
unsigned int)belle_event->m_EvtNo >> 28;
1473 *expmc = belle_event->m_ExpMC;
1481 Belle::Mdst_event_add_Manager& addmgr = Belle::Mdst_event_add_Manager::get_manager();
1482 if (addmgr.count() >= 1) {
1484 if (addmgr[0].flag_error() == 1) {
1489 addmgr[0].flag_error(1);
1495 static int first = 1;
1496 B2ERROR(
"scale_error: no Mdst_event_add");
1498 B2ERROR(
"scale_error: analysis continues");
1499 B2ERROR(
"scale_error: scale_error will not be applied");
1512 vfunc(
const double x,
const double x1,
const double yc,
const double a1,
const double a2)
1514 return x < x1 ? (x - x1) * a1 + yc :
1515 (x - x1) * a2 + yc ;
1519 cupfunc(
const double x,
const double x1,
const double x2,
const double yc,
const double a1,
const double a2)
1521 return x < x1 ? (x - x1) * a1 + yc :
1522 x > x2 ? (x - x2) * a2 + yc : yc;
1526 rootfunc(
const double x,
const double x1,
const double x2,
const double yc,
const double a1,
const double a2)
1528 return x < x1 ? (x - x1) * a1 + yc :
1529 x > x2 ? (x2 - x1) * a2 + yc : (x - x1) * a2 + yc;
1534 lambdafunc(
const double x,
const double x1,
const double x2,
const double yc,
const double a1,
const double a2,
const double a3)
1536 return x < x1 ? (x - x1) * a1 + yc :
1537 x < x2 ? (x - x1) * a2 + yc : (x - x2) * a3 + (x2 - x1) * a2 + yc;
1555 scale[0] = +1.0115E+00 - 3.6966E-02 * pt;
1556 scale[1] = +9.8369E-01 + 3.2783E-02 * pt;
1557 scale[2] = +6.8401E-01 + 1.0190E-01 * pt;
1558 scale[3] = +1.0968E+00 - 3.3011E-02 * pt;
1559 scale[4] = +1.0992E+00 - 2.7929E-02 * pt;
1571 scale[0] = +1.0257E+00 - 0.30671E-01 * pt;
1572 scale[1] = +1.0503E+00 + 0.97257E-02 * pt;
1573 scale[2] = +0.70751E+00 + 0.93039E-01 * pt;
1574 scale[3] = +1.0720E+00 - 0.15976E-01 * pt;
1575 scale[4] = +1.0530E+00 + 0.63696E-02 * pt;
1587 scale[0] = 1.0874 - 0.26640E-01 * pt;
1588 scale[1] = 1.0320 + 0.18869E-01 * pt;
1589 scale[2] = 0.75302 + 0.89109E-01 * pt;
1590 scale[3] = 1.1435 - 0.73830E-01 * pt;
1591 scale[4] = 1.1227 - 0.19112E-01 * pt;
1609 scale[0] = 1.1197 - 0.15104E-01 * pt;
1610 scale[1] = 1.0502 + 0.22138E-01 * pt;
1611 scale[2] = 0.75267 + 0.85377E-01 * pt;
1614 scale[3] = 1.1608 - 0.43478E-01 * pt;
1615 scale[4] = 1.0936 + 0.18447E-01 * pt;
1618 scale[0] = 0.98971 - 0.12162E-01 * pt;
1619 scale[1] = 1.0132 + 0.22283E-01 * pt;
1620 scale[2] = 0.74947 + 0.81233E-01 * pt;
1621 scale[3] = 1.0601 - 0.54626E-01 * pt;
1622 scale[4] = 1.0454 - 0.33036E-02 * pt;
1640 scale[0] = 1.0835 + 0.79781E-02 * pt;
1641 scale[1] = 1.0685 + 0.13339E-01 * pt;
1642 scale[2] = 0.72615 + 0.96936E-01 * pt;
1643 scale[3] = 1.1298 - 0.35734E-01 * pt;
1644 scale[4] = 1.0994 + 0.13150E-01 * pt;
1660 scale[0] = 1.0694 - 0.19048E-01 * pt;
1661 scale[1] = 1.0732 + 0.95531E-02 * pt;
1662 scale[2] = 0.74888 + 0.89957E-01 * pt;
1663 scale[3] = 1.1107 - 0.57216E-01 * pt;
1664 scale[4] = 1.1098 - 0.13305E-01 * pt;
1677 scale[0] = 1.055465 - 0.2863498E-01 * pt;
1678 scale[1] = 1.005986 + 0.2709512E-01 * pt;
1679 scale[2] = 0.7459061 + 0.8352030E-01 * pt;
1680 scale[3] = 1.056039 - 0.6258768E-01 * pt;
1681 scale[4] = 1.043329 - 0.2975207E-03 * pt;
1693 scale[0] = 1.013759 - 0.8743831E-02 * pt;
1694 scale[1] = 1.071626 - 0.1333353E-01 * pt;
1695 scale[2] = 0.7507483 + 0.8399138E-01 * pt;
1696 scale[3] = 1.054345 - 0.5644758E-01 * pt;
1697 scale[4] = 1.020721 + 0.1323117E-01 * pt;
1709 scale[0] = 1.011008 - 0.2272887E-01 * pt;
1710 scale[1] = 1.030603 + 0.8892579E-02 * pt;
1711 scale[2] = 0.7181793 + 0.9717058E-01 * pt;
1712 scale[3] = 1.065804 - 0.6852337E-01 * pt;
1713 scale[4] = 1.085136 - 0.2324515E-01 * pt;
1725 scale[0] = 0.9806778 - 0.2010826E-02 * pt;
1726 scale[1] = 0.9996797 + 0.2633917E-01 * pt;
1727 scale[2] = 0.7450445 + 0.7637244E-01 * pt;
1728 scale[3] = 1.084419 - 0.6828102E-01 * pt;
1729 scale[4] = 1.013550 + 0.1201861E-01 * pt;
1741 scale[0] = 1.000635 - 0.1659129E-01 * pt;
1742 scale[1] = 1.046513 - 0.2994663E-02 * pt;
1743 scale[2] = 0.7241409 + 0.9558808E-01 * pt;
1744 scale[3] = 1.062597 - 0.6663921E-01 * pt;
1745 scale[4] = 1.076486 - 0.2023062E-01 * pt;
1757 scale[0] = 0.98242 - 0.71780E-02 * pt;
1758 scale[1] = 1.0465 + 0.44401E-03 * pt;
1759 scale[2] = 0.71433 + 0.10176 * pt;
1760 scale[3] = 1.0875 - 0.80972E-01 * pt;
1761 scale[4] = 1.0777 - 0.20428E-01 * pt;
1773 scale[0] = 0.99832 - 0.17290E-01 * pt;
1774 scale[1] = 1.0434 + 0.47995E-02 * pt;
1775 scale[2] = 0.72111 + 0.10093 * pt;
1776 scale[3] = 1.1022 - 0.87951E-01 * pt;
1777 scale[4] = 1.0643 - 0.11962E-01 * pt;
1789 scale[0] = 0.98871 - 0.88399E-02 * pt;
1790 scale[1] = 1.0159 + 0.16468E-01 * pt;
1791 scale[2] = 0.72813 + 0.94737E-01 * pt;
1792 scale[3] = 1.1060 - 0.88323E-01 * pt;
1793 scale[4] = 1.0914 - 0.30607E-01 * pt;
1805 scale[0] = 0.97322 - 0.29003E-02 * pt;
1806 scale[1] = 0.94704 + 0.44719E-01 * pt;
1807 scale[2] = 0.73547 + 0.98431E-01 * pt;
1808 scale[3] = 1.0752 - 0.77818E-01 * pt;
1809 scale[4] = 1.0759 - 0.27057E-01 * pt;
1812 scale[0] *= 0.99600 - 0.97573E-02 * tanl;
1813 scale[1] *= 1.0080 - 0.37122E-01 * tanl;
1814 scale[2] *= 0.99150 - 0.13390E-01 * tanl;
1815 scale[3] *= 0.99758 - 0.43508E-01 * tanl;
1816 scale[4] *= 0.99913 + 0.34211E-01 * tanl;
1828 scale[0] = 0.99845 - 0.18739E-01 * pt;
1829 scale[1] = 1.0024 + 0.17833E-01 * pt;
1830 scale[2] = 0.72369 + 0.96994E-01 * pt;
1831 scale[3] = 1.0605 - 0.64072E-01 * pt;
1832 scale[4] = 1.0623 - 0.14320E-01 * pt;
1835 scale[0] *= 0.99597 - 0.13069E-01 * tanl;
1836 scale[1] *= 1.0072 - 0.18622E-01 * tanl;
1837 scale[2] *= 0.99515 - 0.16591E-01 * tanl;
1838 scale[3] *= 0.99466 - 0.14489E-02 * tanl;
1839 scale[4] *= 1.0036 - 0.15095E-01 * tanl;
1854 scale[0] = 0.96783 - 0.37174E-02 * pt;
1855 scale[1] = 0.97888 + 0.34689E-01 * pt;
1856 scale[2] = 0.80870 + 0.68302E-01 * pt;
1857 scale[3] = 1.0615 - 0.60750E-01 * pt;
1858 scale[4] = 1.0372 - 0.52332E-03 * pt;
1861 scale[0] *= 0.99897 + 0.62207E-02 * tanl;
1862 scale[1] *= 1.0037 + 0.10714E-01 * tanl;
1863 scale[2] *= 0.99129 - 0.92521E-02 * tanl;
1864 scale[3] *= 0.99483 - 0.43402E-02 * tanl;
1865 scale[4] *= 1.0062 + 0.15306E-01 * tanl;
1878 scale[0] = +1.1280E+00 - 7.6839E-03 * pt;
1879 scale[1] = +1.1368E+00 + 2.8106E-02 * pt;
1880 scale[2] = +7.6448E-01 + 1.1248E-01 * pt;
1881 scale[3] = +1.1396E+00 - 3.6738E-02 * pt;
1882 scale[4] = +1.1766E+00 - 2.7477E-02 * pt;
1894 scale[0] = +1.1002E+00 + 3.9852E-02 * pt;
1895 scale[1] =
rootfunc(pt, 1.0015, 1.6591, 1.0420, -0.31809, 0.17149);
1896 scale[2] = +8.4706E-01 + 0.8914E-01 * pt;
1897 scale[3] = +1.1067E+00 + 1.0304E-02 * pt;
1898 scale[4] = +1.0495E+00 + 3.9923E-02 * pt;
1910 scale[0] = 1.1908 + 0.20678E-02 * pt;
1911 scale[1] = 1.0304 + 0.54826E-01 * pt;
1912 scale[2] = 1.0806 + 0.33829E-01 * pt;
1913 scale[3] = 1.1325 - 0.34811E-01 * pt;
1914 scale[4] = 1.1549 - 0.20974E-01 * pt;
1931 scale[0] = 1.2175 + 0.14290E-01 * pt;
1932 scale[1] = 1.0362 + 0.80614E-01 * pt;
1933 scale[2] = 1.0313 + 0.12930E-01 * pt;
1934 scale[3] = 1.0411 + 0.17319E-01 * pt;
1935 scale[4] = 1.0445 + 0.27526E-01 * pt;
1938 scale[0] = 1.2712 - 0.42098E-01 * pt;
1939 scale[1] = 1.0634 - 0.13652E-01 * pt;
1940 scale[2] = 0.95435 + 0.64895E-01 * pt;
1941 scale[3] = 1.0758 + 0.10778E-01 * pt;
1942 scale[4] = 1.0892 - 0.75700E-02 * pt;
1961 scale[0] = 1.1084 + 0.45825E-01 * pt;
1962 scale[1] = 1.1014 + 0.14211E-01 * pt;
1963 scale[2] = 0.99716 + 0.52509E-01 * pt;
1964 scale[3] = 1.1361 - 0.25355E-01 * pt;
1965 scale[4] = 1.1079 - 0.92563E-02 * pt;
1980 scale[0] = 1.2129 + 0.36787E-01 * pt;
1981 scale[1] = 1.0750 + 0.32722E-01 * pt;
1982 scale[2] = 0.98340 + 0.39096E-01 * pt;
1983 scale[3] = 1.1768 - 0.43894E-01 * pt;
1984 scale[4] = 1.1275 - 0.12562E-02 * pt;
1996 scale[0] = 1.182285 + 0.4142677E-01 * pt;
1997 scale[1] = 1.090022 + 0.2995044E-01 * pt;
1998 scale[2] = 0.9581690 + 0.5764173E-01 * pt;
1999 scale[3] = 1.119173 - 0.2177483E-01 * pt;
2000 scale[4] = 1.126323 - 0.3786523E-02 * pt;
2012 scale[0] = 1.262359 + 0.1411302E-01 * pt;
2013 scale[1] = 1.051793 + 0.6225422E-01 * pt;
2014 scale[2] = 0.9668697 + 0.5492099E-01 * pt;
2015 scale[3] = 1.110838 - 0.2386986E-01 * pt;
2016 scale[4] = 1.106516 + 0.1239970E-01 * pt;
2028 scale[0] = 1.164526 + 0.7671143E-01 * pt;
2029 scale[1] = 1.094987 + 0.2949413E-01 * pt;
2030 scale[2] = 1.084826 + 0.2513991E-01 * pt;
2031 scale[3] = 1.099221 - 0.2389658E-02 * pt;
2032 scale[4] = 1.146892 + 0.2682884E-02 * pt;
2044 scale[0] = 1.243211 + 0.5776083E-01 * pt;
2045 scale[1] = 1.209483 - 0.3366023E-01 * pt;
2046 scale[2] = 1.059087 + 0.4300838E-01 * pt;
2047 scale[3] = 1.123665 + 0.6342933E-02 * pt;
2048 scale[4] = 1.208850 - 0.3171053E-01 * pt;
2060 scale[0] = 1.2097 + 0.36177E-01 * pt;
2061 scale[1] = 1.2218 - 0.84772E-02 * pt;
2062 scale[2] = 0.97937 + 0.26397E-01 * pt;
2063 scale[3] = 1.0944 - 0.12745E-02 * pt;
2064 scale[4] = 1.2140 - 0.56809E-01 * pt;
2067 scale[0] *= 1.0492 + 0.72972E-01 * tanl;
2068 scale[1] *= 1.0298 + 0.40625E-02 * tanl;
2069 scale[2] *= 0.93367 + 0.11969E-01 * tanl;
2070 scale[3] *= 1.0170 + 0.41039E-01 * tanl;
2071 scale[4] *= 1.0677 - 0.41684E-01 * tanl;
2083 scale[0] = 1.2587 + 0.32782E-01 * pt;
2084 scale[1] = 1.2413 - 0.36535E-01 * pt;
2085 scale[2] = 0.97465 + 0.22937E-01 * pt;
2086 scale[3] = 1.1197 - 0.59050E-02 * pt;
2087 scale[4] = 1.1877 - 0.32893E-01 * pt;
2099 scale[0] = 1.2654 + 0.15660E-01 * pt;
2100 scale[1] = 1.0278 + 0.81680E-01 * pt;
2101 scale[2] = 0.94291 + 0.54575E-01 * pt;
2102 scale[3] = 1.1151 - 0.52387E-02 * pt;
2103 scale[4] = 1.1020 + 0.10518E-01 * pt;
2106 scale[0] *= 1.0334 + 0.10236E-01 * tanl;
2107 scale[1] *= 1.0346 + 0.11024E-01 * tanl;
2109 scale[3] *= 1.0140 + 0.19030E-01 * tanl;
2110 scale[4] *= 1.0345 - 0.90291E-01 * tanl;
2122 scale[0] = 1.1184 + 0.55671E-01 * pt;
2123 scale[1] = 1.1142 + 0.74526E-02 * pt;
2124 scale[2] = 0.93626 + 0.66670E-01 * pt;
2125 scale[3] = 1.1003 - 0.11587E-01 * pt;
2126 scale[4] = 1.1589 - 0.40223E-01 * pt;
2129 scale[0] *= 1.0442 - 0.46775E-01 * tanl;
2130 scale[1] *= 1.0337 + 0.44071E-01 * tanl;
2132 scale[3] *= 1.0037 + 0.29736E-01 * tanl;
2133 scale[4] *= 1.0378 - 0.73239E-01 * tanl;
2145 scale[0] = 1.1598 + 0.28880E-01 * pt;
2146 scale[1] = 1.0844 + 0.23384E-01 * pt;
2147 scale[2] = 0.94566 + 0.53157E-01 * pt;
2148 scale[3] = 1.1578 - 0.31156E-01 * pt;
2149 scale[4] = 1.0725 + 0.13714E-01 * pt;
2152 scale[0] *= 1.0223 - 0.56165E-02 * tanl;
2153 scale[1] *= 1.0203 - 0.81857E-02 * tanl;
2155 scale[3] *= 0.99703 + 0.14976E-01 * tanl;
2156 scale[4] *= 1.0212 + 0.41300E-01 * tanl;
2171 scale[0] = 1.2101 + 0.29496E-01 * pt;
2172 scale[1] = 1.0723 + 0.13773E-01 * pt;
2173 scale[2] = 0.90988 + 0.78667E-01 * pt;
2174 scale[3] = 1.1444 - 0.20780E-01 * pt;
2175 scale[4] = 1.0962 + 0.83309E-02 * pt;
2178 scale[0] *= 1.0207 - 0.17810E-01 * tanl;
2179 scale[1] *= 1.0272 + 0.61498E-01 * tanl;
2181 scale[3] *= 0.99766 + 0.32434E-01 * tanl;
2182 scale[4] *= 1.0200 - 0.14935E-01 * tanl;
2195 scale[0] =
vfunc(pt, 0.34602, 1.0605, -0.36011, 0.38189E-01);
2197 scale[2] =
cupfunc(pt, 0.44599, 1.2989, 0.85646, -0.73968, 0.17425);
2198 scale[3] = 1.1460 - 0.57101E-01 * pt;
2202 scale[0] *= +1.0122E+00 + 1.3568E-04 * tanl + 1.9856E-02 * tanl * tanl;
2203 scale[1] *= +1.0002E+00 - 4.5128E-03 * tanl + 1.6211E-02 * tanl * tanl;
2204 scale[2] *= +9.7051E-01 + 2.6876E-02 * tanl + 8.2365E-02 * tanl * tanl;
2205 scale[3] *= +9.7198E-01 + 3.8373E-02 * tanl + 4.9111E-02 * tanl * tanl;
2206 scale[4] *= +9.8880E-01 + 2.2090E-02 * tanl + 2.2701E-02 * tanl * tanl;
2218 scale[0] = 1.092E+00 - 0.86138E-01 * pt;
2219 scale[1] = 1.0448E+00 - 0.26158E-01 * pt;
2220 scale[2] = 1.1942E+00 - 1.0025E+00 * pt + 0.85334 * pt * pt - 0.20305 * pt * pt * pt;
2221 scale[3] = 1.1260E+00 - 0.46048E-01 * pt;
2222 scale[4] = 1.0378E+00 + 0.5109E-01 * pt;
2225 scale[0] *= +1.0136E+00 + 0.15293E-01 * tanl;
2226 scale[1] *= +0.9936E+00 + 0.71983E-02 * tanl + 0.14004E-01 * tanl * tanl;
2227 scale[2] *= +0.97532E+00 + 0.22718E-01 * tanl + 0.73556E-01 * tanl * tanl;
2228 scale[3] *=
vfunc(tanl, -0.26650, 0.92765, -0.13393, 0.11704);
2229 scale[4] *= +0.98203E+00 + 0.21612E-01 * tanl + 0.32751E-01 * tanl * tanl;
2241 scale[0] = 1.2619 - 0.11170 * pt;
2242 scale[1] = 1.2263 - 0.24619E-01 * pt;
2243 scale[2] =
vfunc(pt, 1.1432, 0.87555, -0.24211, 0.10876);
2244 scale[3] = 1.3254 - 0.21162 * pt;
2245 scale[4] = 1.1609 + 0.73808E-02 * pt;
2248 scale[3] *=
vfunc(tanl, -0.12026, 0.95892, -0.71461E-01, 0.69535E-01);
2263 scale[0] = 1.3083 - 0.10894 * pt;
2264 scale[1] = 1.2471 - 0.30959E-01 * pt;
2266 scale[2] =
vfunc(pt, 0.79736, 0.90954, -0.45673, 0.37072E-02);
2267 scale[3] = 1.3307 - 0.17559 * pt;
2268 scale[4] = 1.2408 - 0.29914E-01 * pt;
2272 scale[3] *=
vfunc(tanl, -0.63864E-01, 0.95936, -0.11035, 0.10057);
2275 scale[0] =
vfunc(pt, 1.4506, 1.0599, -0.10534, -0.14118);
2276 scale[1] =
lambdafunc(pt, 0.23691, 0.47860, 1.1996, -0.39938E-01, 0.23518, -0.62661E-01);
2277 scale[2] =
lambdafunc(pt, 0.45865, 0.92603, 0.95622, -0.51715, -0.12868, 0.45187E-01);
2278 scale[3] = 1.2555 - 0.19038 * pt;
2279 scale[4] =
vfunc(pt, 0.68946, 1.1772, 0.15927, -0.79017E-01);
2303 scale[0] = 1.2548 - 0.87786E-01 * pt;
2304 scale[1] = 1.2562 - 0.89296E-03 * pt;
2305 scale[2] =
vfunc(pt, 0.67905, 0.91705, -0.57837, -0.37276E-02);
2306 scale[3] = 1.3180 - 0.19459 * pt;
2307 scale[4] = 1.1652 + 0.33812E-01 * pt;
2310 scale[3] *=
vfunc(tanl, -0.47522E-01, 0.96537, -0.41720E-01, 0.68031E-01);
2323 scale[0] = 1.236096 - 0.1015809 * pt;
2324 scale[1] = 1.248921 - 0.1130577E-01 * pt;
2325 scale[2] =
vfunc(pt, 0.5129282, 0.9300365, -0.9450958, -0.1157168E-01);
2326 scale[3] =
vfunc(pt, 1.650362, 0.9371865, -0.2142342, 0.7384746E-01);
2327 scale[4] =
vfunc(pt, 0.7497343, 1.204451, 0.1333454, -0.7826934E-01);
2339 scale[0] = 1.240166 - 0.1051634 * pt;
2340 scale[1] = 1.257180 - 0.3122512E-01 * pt;
2341 scale[2] =
vfunc(pt, 0.5272015, 0.9386514, -0.9648152, -0.1623573E-01);
2342 scale[3] = 1.280515 - 0.1991213 * pt;
2343 scale[4] =
vfunc(pt, 0.6579201, 1.192409, 0.1197880, -0.5404800E-01);
2355 scale[0] = 1.213823 - .1029683 * pt;
2356 scale[1] = 1.239279 - .3706657E-01 * pt;
2357 scale[2] =
vfunc(pt, 0.6145123 , 0.8834459 , -.4620622 , 0.2099150E-01);
2358 scale[3] = 1.253126 - .1884352 * pt;
2359 scale[4] =
vfunc(pt, 0.4928604 , 1.169158 , 0.2063893 , -.5428730E-01);
2362 scale[2] *=
vfunc(tanl, -.1240821 , 0.9274375 , -.8750933E-01 , 0.8611448E-01);
2374 scale[0] = 1.218633 - .1078999 * pt;
2375 scale[1] = 1.237288 - .2890434E-01 * pt;
2376 scale[2] =
vfunc(pt, 0.4334312 , 0.9027213 , -.7119852 , 0.1031877E-01);
2377 scale[3] = 1.252394 - .1835607 * pt;
2378 scale[4] =
vfunc(pt, 0.6194937 , 1.168190 , 0.1285120 , -.5815693E-01);
2390 scale[0] = 1.217751 - .1075724 * pt;
2391 scale[1] = 1.233774 - .3122749E-01 * pt;
2392 scale[2] =
vfunc(pt, 0.5276512 , 0.8852152 , -.7025786 , 0.3136450E-01);
2393 scale[3] = 1.258038 - .1949899 * pt;
2394 scale[4] =
vfunc(pt, 0.5924365 , 1.162905 , 0.9632715E-01, -.6221822E-01);
2407 scale[0] =
vfunc(pt, 0.35776, 1.1919, 0.84229E-01, -0.88550E-01);
2408 scale[1] =
vfunc(pt, 0.37833, 1.2394, 0.34089, -0.54440E-01);
2409 scale[2] =
lambdafunc(pt, 0.87688, 1.4065, 0.86733, -0.23657, 0.21714E-01, 0.20876);
2410 scale[3] =
lambdafunc(pt, 0.39825, 1.0950, 1.2104, 0.11718E-01, -0.21145, -0.89681E-01);
2411 scale[4] =
vfunc(pt, 0.48051, 1.1672, 0.19241, -0.32273E-01);
2414 scale[2] *=
vfunc(tanl, -0.40697, 0.92948, -0.29453, 0.59416E-01);
2426 scale[0] =
lambdafunc(pt, 0.50681, 1.2150, 1.2266, 0.99662E-01, -0.23508, -0.52268E-01);
2427 scale[1] =
lambdafunc(pt, 0.50787, 1.2308, 1.3108, 0.42334, -0.25502, -0.13522E-01);
2428 scale[2] =
vfunc(pt, 1.2149, 0.88700, -0.15323, 0.97993E-01);
2429 scale[3] =
lambdafunc(pt, 0.45595, 1.1561, 1.2383, 0.17605, -0.34753, -0.97049E-01);
2430 scale[4] =
vfunc(pt, 0.55269, 1.2261, 0.39706, -0.12333);
2442 scale[0] =
vfunc(pt, 0.34925, 1.1780, 0.89069E-01, -0.10090);
2443 scale[1] =
vfunc(pt, 0.35168, 1.2380, 0.41479, -0.63250E-01);
2444 scale[2] =
vfunc(pt, 1.2497, 0.88495, -0.14338, 0.94307E-01);
2445 scale[3] =
lambdafunc(pt, 0.29565, 1.4502, 1.2139, 0.14353, -0.21211, -0.82968E-01);
2446 scale[4] =
vfunc(pt, 1.2496, 1.1216, 0.97174E-02, -0.41166E-01);
2458 scale[0] =
vfunc(pt, 1.4501, 1.0348, -0.12125, -0.27519E-01);
2459 scale[1] =
lambdafunc(pt, 0.48988, 1.5501, 1.2544, 0.21014, -0.10419, 0.74755E-01);
2460 scale[2] =
lambdafunc(pt, 0.44993, 1.3616, 0.93316, -0.58441, -0.30814E-01, 0.90806E-01);
2461 scale[3] = 1.2385 - 0.17733 * pt;
2462 scale[4] =
vfunc(pt, 0.75590, 1.1726, 0.12749, -0.75183E-01);
2474 scale[0] =
vfunc(pt, 1.0501, 1.0852, -0.14604, -0.66317E-01);
2475 scale[1] =
lambdafunc(pt, 0.37538, 2.5672, 1.2362, 0.14203, -0.58242E-01, 0.28431E-02);
2476 scale[2] =
lambdafunc(pt, 0.52700, 1.3506, 0.90327, -0.55627, 0.13131E-02, 0.11059);
2477 scale[3] = 1.2577 - 0.19572 * pt;
2478 scale[4] =
vfunc(pt, 0.69484, 1.1636, 0.96169E-01, -0.80421E-01);
2493 scale[0] =
vfunc(pt, 1.7258, 1.0126, -0.12693, 0.31924E-01);
2494 scale[1] =
lambdafunc(pt, 0.37552, 1.2217, 1.2532, 0.37276, -0.77830E-01, -0.31378E-01);
2495 scale[2] =
lambdafunc(pt, 0.40176, 1.1748, 0.95524, -0.72331, -0.53213E-01, 0.90074E-01);
2496 scale[3] = 1.2644 - 0.19783 * pt;
2497 scale[4] =
vfunc(pt, 0.56934, 1.1649, 0.13098, -0.52232E-01);
2504 static const struct cal_scale_error_func_set_t
2616 static cal_scale_error_func_set_t
2643 const double pt,
const double tanl,
2644 const int expmc,
const int no_exp,
const int no_run)
2646 double scale_error_hadronic_mc[5] = {1.0, 1.0, 1.0, 1.0, 1.0};
2647 double scale_error_cosmic_mc[5] = {1.0, 1.0, 1.0, 1.0, 1.0};
2648 double scale_error_cosmic_data[5] = {1.0, 1.0, 1.0, 1.0, 1.0};
2653 B2ERROR(
"!!!! scale_error: FATAL: FATAL ERROR occured. Abort !!!!");
2659 static bool first =
true;
2660 static int belle_scale_error_debug_mode = 0;
2663 char* belle_scale_error_debug = getenv(
"BELLE_SCALE_ERROR_DEBUG");
2666 if (!belle_scale_error_debug)
2667 belle_scale_error_debug_mode = 0;
2668 else if (!strcasecmp(belle_scale_error_debug,
"none"))
2669 belle_scale_error_debug_mode = 1;
2670 else if (!strcasecmp(belle_scale_error_debug,
"cosmic_mc"))
2671 belle_scale_error_debug_mode = 2;
2672 else if (!strcasecmp(belle_scale_error_debug,
"cosmic_data"))
2673 belle_scale_error_debug_mode = 3;
2674 else if (!strcasecmp(belle_scale_error_debug,
"hadron_mc") || !strcasecmp(belle_scale_error_debug,
"hadronic_mc"))
2675 belle_scale_error_debug_mode = 4;
2677 B2ERROR(
"BELLE_SCALE_ERROR_DEBUG=" << belle_scale_error_debug <<
": bad directive");
2681 if (belle_scale_error_debug)
2682 B2ERROR(
"BELLE_SCALE_ERROR_DEBUG=" << belle_scale_error_debug <<
": applied");
2686 switch (belle_scale_error_debug_mode) {
2688 (cal_func.
m_hadMC)(scale_error_hadronic_mc, pt, tanl);
2690 if (
SE_Message_Level >= 2) B2ERROR(
"scale_error: info: scale on real data");
2691 (cal_func.
m_cosMC)(scale_error_cosmic_mc, pt, tanl);
2692 (cal_func.
m_cosDATA)(scale_error_cosmic_data, pt, tanl);
2703 (cal_func.
m_cosMC)(scale_error_hadronic_mc, pt, tanl);
2707 (cal_func.
m_cosDATA)(scale_error_hadronic_mc, pt, tanl);
2711 (cal_func.
m_hadMC)(scale_error_hadronic_mc, pt, tanl);
2717 for (
int i = 0; i < 5; i++)
2718 scale[i] = scale_error_hadronic_mc[i] * scale_error_cosmic_data[i] / scale_error_cosmic_mc[i];
2723 B2ERROR(
"scale_error: info: hadronic MC: "
2724 << scale_error_hadronic_mc[0] <<
" " << scale_error_hadronic_mc[1] <<
" "
2725 << scale_error_hadronic_mc[2] <<
" " << scale_error_hadronic_mc[3] <<
" "
2726 << scale_error_hadronic_mc[4]);
2728 B2ERROR(
"scale_error: info: cosmic MC: "
2729 << scale_error_cosmic_mc[0] <<
" " << scale_error_cosmic_mc[1] <<
" "
2730 << scale_error_cosmic_mc[2] <<
" " << scale_error_cosmic_mc[3] <<
" "
2731 << scale_error_cosmic_mc[4]);
2733 B2ERROR(
"scale_error: info: cosmic data: "
2734 << scale_error_cosmic_data[0] <<
" " << scale_error_cosmic_data[1] <<
" "
2735 << scale_error_cosmic_data[2] <<
" " << scale_error_cosmic_data[3] <<
" "
2736 << scale_error_cosmic_data[4]);
2738 B2ERROR(
"scale_error: info: final scale: "
2739 << scale[0] <<
" " << scale[1] <<
" " << scale[2] <<
" "
2740 << scale[3] <<
" " << scale[4]);
2743 const double scale_lo = 0.5, scale_hi = 4.0;
2744 bool too_lo =
false, too_hi =
false;
2745 for (
int i = 0; i < 5; i++) {
2746 if (scale[i] < scale_lo) { scale[i] = scale_lo; too_lo =
true;}
2747 if (scale[i] > scale_hi) { scale[i] = scale_hi; too_hi =
true;}
2751 B2ERROR(
"scale_error: warning: scale factor beyond the limit: "
2752 << scale_error_hadronic_mc[0] * scale_error_cosmic_data[0] / scale_error_cosmic_mc[0] <<
" "
2753 << scale_error_hadronic_mc[1] * scale_error_cosmic_data[1] / scale_error_cosmic_mc[1] <<
" "
2754 << scale_error_hadronic_mc[2] * scale_error_cosmic_data[2] / scale_error_cosmic_mc[2] <<
" "
2755 << scale_error_hadronic_mc[3] * scale_error_cosmic_data[3] / scale_error_cosmic_mc[3] <<
" "
2756 << scale_error_hadronic_mc[4] * scale_error_cosmic_data[4] / scale_error_cosmic_mc[4]);
2773 int no_exp{0}, no_run{0}, no_evt{0}, no_frm{0}, expmc{0};
2774 get_event_id(&no_exp, &no_run, &no_evt, &no_frm, &expmc);
2779 static int first_exp73 =
true;
2780 if (no_exp == 73 && first_exp73) {
2781 first_exp73 =
false;
2783 "scale_error: warning: scale parameters for exp#71 are tentatively used for exp#73.");
2796 Belle::Mdst_trk_fit_Manager& fitmgr = Belle::Mdst_trk_fit_Manager::get_manager();
2797 for (std::vector<Belle::Mdst_trk_fit>::iterator it = fitmgr.begin(); it != fitmgr.end(); ++it) {
2798 Belle::Mdst_trk_fit& fit = *it;
2799 if (fit.helix(2) == 0.)
continue;
2801 const double pt = 1. / fabs(fit.helix(2));
2802 const double tanl = fit.helix(4);
2806 fit.error(0, scale[0]*scale[0]*fit.error(0));
2807 fit.error(1, scale[1]*scale[0]*fit.error(1));
2808 fit.error(2, scale[1]*scale[1]*fit.error(2));
2809 fit.error(3, scale[2]*scale[0]*fit.error(3));
2810 fit.error(4, scale[2]*scale[1]*fit.error(4));
2811 fit.error(5, scale[2]*scale[2]*fit.error(5));
2812 fit.error(6, scale[3]*scale[0]*fit.error(6));
2813 fit.error(7, scale[3]*scale[1]*fit.error(7));
2814 fit.error(8, scale[3]*scale[2]*fit.error(8));
2815 fit.error(9, scale[3]*scale[3]*fit.error(9));
2816 fit.error(10, scale[4]*scale[0]*fit.error(10));
2817 fit.error(11, scale[4]*scale[1]*fit.error(11));
2818 fit.error(12, scale[4]*scale[2]*fit.error(12));
2819 fit.error(13, scale[4]*scale[3]*fit.error(13));
2820 fit.error(14, scale[4]*scale[4]*fit.error(14));
2825 Belle::Mdst_vee_daughters_Manager& daumgr = Belle::Mdst_vee_daughters_Manager::get_manager();
2826 for (std::vector<Belle::Mdst_vee_daughters>::iterator it = daumgr.begin(); it != daumgr.end(); ++it) {
2827 Belle::Mdst_vee_daughters& dau = *it;
2828 if (dau.helix_p(2) == 0. || dau.helix_m(2) == 0.)
continue;
2831 const double pt_p = 1. / fabs(dau.helix_p(2));
2832 const double tanl_p = dau.helix_p(4);
2836 dau.error_p(0, scale[0]*scale[0]*dau.error_p(0));
2837 dau.error_p(1, scale[1]*scale[0]*dau.error_p(1));
2838 dau.error_p(2, scale[1]*scale[1]*dau.error_p(2));
2839 dau.error_p(3, scale[2]*scale[0]*dau.error_p(3));
2840 dau.error_p(4, scale[2]*scale[1]*dau.error_p(4));
2841 dau.error_p(5, scale[2]*scale[2]*dau.error_p(5));
2842 dau.error_p(6, scale[3]*scale[0]*dau.error_p(6));
2843 dau.error_p(7, scale[3]*scale[1]*dau.error_p(7));
2844 dau.error_p(8, scale[3]*scale[2]*dau.error_p(8));
2845 dau.error_p(9, scale[3]*scale[3]*dau.error_p(9));
2846 dau.error_p(10, scale[4]*scale[0]*dau.error_p(10));
2847 dau.error_p(11, scale[4]*scale[1]*dau.error_p(11));
2848 dau.error_p(12, scale[4]*scale[2]*dau.error_p(12));
2849 dau.error_p(13, scale[4]*scale[3]*dau.error_p(13));
2850 dau.error_p(14, scale[4]*scale[4]*dau.error_p(14));
2853 const double pt_m = 1. / fabs(dau.helix_m(2));
2854 const double tanl_m = dau.helix_m(4);
2858 dau.error_m(0, scale[0]*scale[0]*dau.error_m(0));
2859 dau.error_m(1, scale[1]*scale[0]*dau.error_m(1));
2860 dau.error_m(2, scale[1]*scale[1]*dau.error_m(2));
2861 dau.error_m(3, scale[2]*scale[0]*dau.error_m(3));
2862 dau.error_m(4, scale[2]*scale[1]*dau.error_m(4));
2863 dau.error_m(5, scale[2]*scale[2]*dau.error_m(5));
2864 dau.error_m(6, scale[3]*scale[0]*dau.error_m(6));
2865 dau.error_m(7, scale[3]*scale[1]*dau.error_m(7));
2866 dau.error_m(8, scale[3]*scale[2]*dau.error_m(8));
2867 dau.error_m(9, scale[3]*scale[3]*dau.error_m(9));
2868 dau.error_m(10, scale[4]*scale[0]*dau.error_m(10));
2869 dau.error_m(11, scale[4]*scale[1]*dau.error_m(11));
2870 dau.error_m(12, scale[4]*scale[2]*dau.error_m(12));
2871 dau.error_m(13, scale[4]*scale[3]*dau.error_m(13));
2872 dau.error_m(14, scale[4]*scale[4]*dau.error_m(14));
2881 static int result_before = -1;
2885 if (result != result_before) {
2889 "scale_error: info: scale error is properly applied.");
2895 "scale_error: warning: scale error is not applied. Reason: it has been already applied.");
2900 int no_exp, no_run, no_evt, no_frm, expmc;
2901 get_event_id(&no_exp, &no_run, &no_evt, &no_frm, &expmc);
2903 "scale_error: error: scale error is not applied. Reason: it is not available for exp " << no_exp <<
". Exit! (I'll crash job.)");
2911 result_before = result;
2922 CLHEP::HepSymMatrix& epvtx_err)
2925 Belle::Evtvtx_primary_vertex_Manager& evtvtx_mgr
2926 = Belle::Evtvtx_primary_vertex_Manager::get_manager();
2928 Belle::Evtvtx_trk_Manager& evttrk_mgr = Belle::Evtvtx_trk_Manager::get_manager();
2930 Belle::Evtvtx_primary_vertex_Manager::iterator itvtx = evtvtx_mgr.begin();
2931 if (itvtx == evtvtx_mgr.end())
return 4;
2933 if (!(itvtx->quality() == 2 || itvtx->quality() == 3))
return 3;
2938 HepPoint3D pvtx(itvtx->PV_x(), itvtx->PV_y(), itvtx->PV_z());
2942 unsigned int nchrgd(0);
2943 for (Belle::Evtvtx_trk_Manager::iterator i = evttrk_mgr.begin(); i != evttrk_mgr.end(); ++i) {
2945 const Belle::Mdst_charged& p = i->charged();
2946 if (p.trk().mhyp(2).nhits(3) < 2)
continue;
2947 if (p.trk().mhyp(2).nhits(4) < 2)
continue;
2950 const HepPoint3D pivot(p.trk().mhyp(hyp).pivot_x(),
2951 p.trk().mhyp(hyp).pivot_y(),
2952 p.trk().mhyp(hyp).pivot_z());
2953 CLHEP::HepVector a(5);
2954 a[0] = p.trk().mhyp(hyp).helix(0);
2955 a[1] = p.trk().mhyp(hyp).helix(1);
2956 a[2] = p.trk().mhyp(hyp).helix(2);
2957 a[3] = p.trk().mhyp(hyp).helix(3);
2958 a[4] = p.trk().mhyp(hyp).helix(4);
2959 CLHEP::HepSymMatrix Ea(5, 0);
2960 Ea[0][0] = p.trk().mhyp(hyp).error(0);
2961 Ea[1][0] = p.trk().mhyp(hyp).error(1);
2962 Ea[1][1] = p.trk().mhyp(hyp).error(2);
2963 Ea[2][0] = p.trk().mhyp(hyp).error(3);
2964 Ea[2][1] = p.trk().mhyp(hyp).error(4);
2965 Ea[2][2] = p.trk().mhyp(hyp).error(5);
2966 Ea[3][0] = p.trk().mhyp(hyp).error(6);
2967 Ea[3][1] = p.trk().mhyp(hyp).error(7);
2968 Ea[3][2] = p.trk().mhyp(hyp).error(8);
2969 Ea[3][3] = p.trk().mhyp(hyp).error(9);
2970 Ea[4][0] = p.trk().mhyp(hyp).error(10);
2971 Ea[4][1] = p.trk().mhyp(hyp).error(11);
2972 Ea[4][2] = p.trk().mhyp(hyp).error(12);
2973 Ea[4][3] = p.trk().mhyp(hyp).error(13);
2974 Ea[4][4] = p.trk().mhyp(hyp).error(14);
2975 Belle::Helix helix(pivot, a, Ea);
2977 CLHEP::HepLorentzVector mom;
2978 CLHEP::HepSymMatrix err(7, 0);
2980 if (pivot.x() != 0. ||
2984 mom = helix.momentum(0., 0.13957f, pos, err);
2986 mom = helix.momentum(0., 0.13957f, pos, err);
2989 kv.
addTrack(mom, pos, err, p.charge());
2993 if (Belle::IpProfile::usable()) {
2995 HepPoint3D ip_position = Belle::IpProfile::e_position();
2996 CLHEP::HepSymMatrix ip_err = Belle::IpProfile::e_position_err();
3000 unsigned int err(1);
3001 if (nchrgd > 2 || (nchrgd > 0 && Belle::IpProfile::usable())) err = kv.
doFit();
3061 float[],
float[],
int*);
3066 Belle::Mdst_event_add_Manager& mevtmgr = Belle::Mdst_event_add_Manager::get_manager();
3067 if (mevtmgr.count() == 0) {
3069 }
else if (mevtmgr.count() == 1) {
3072 unsigned flag(mevtmgr[1].flag(0));
3073 if (flag != 0)
return -1;
3074 Belle::Mdst_trk_extra_Manager& teMgr(Belle::Mdst_trk_extra_Manager::get_manager());
3075 Belle::Mdst_trk_Manager& tMgr(Belle::Mdst_trk_Manager::get_manager());
3076 Belle::Mdst_charged_Manager& chMgr(Belle::Mdst_charged_Manager::get_manager());
3077 const int i_ch(chMgr.count() + 1);
3078 const int i_trk(tMgr.count() + 1);
3079 for (std::vector<Belle::Mdst_trk_extra>::const_iterator i = teMgr.begin();
3080 i != teMgr.end(); ++i) {
3081 Belle::Mdst_trk& trk(tMgr.add());
3082 trk.quality((*i).quality());
3083 for (
int j = 0; j < 5; j++) trk.mhyp(j, (*i).mhyp(j));
3087 if (!(trk.quality() & 15u)) {
3088 B2FATAL(
"recsim_mdst_propgt_ is missing");
3118 B2ERROR(
"Warning from B2BIIFixMdst: strange track in Belle::Mdst_trk_extra: quality="
3124 Belle::Mdst_sim_trk_extra_Manager& steMgr
3125 (Belle::Mdst_sim_trk_extra_Manager::get_manager());
3126 Belle::Mdst_sim_trk_Manager& stMgr(Belle::Mdst_sim_trk_Manager::get_manager());
3128 for (std::vector<Belle::Mdst_sim_trk_extra>::const_iterator i = steMgr.begin();
3129 i != steMgr.end(); ++i) {
3130 Belle::Mdst_sim_trk& strk(stMgr.add());
3131 int argn = tMgr.count() - teMgr.count() + ist;
3132 if (argn < tMgr.count()) {
3133 strk.trk(tMgr[argn]);
3136 strk.hepevt((*i).hepevt());
3137 strk.relation(0, (*i).relation(0));
3138 strk.relation(1, (*i).relation(1));
3139 strk.relation(2, (*i).relation(2));
3143 Belle::Mdst_svd_hit_extra_Manager& sheMgr
3144 (Belle::Mdst_svd_hit_extra_Manager::get_manager());
3145 Belle::Mdst_svd_hit_Manager& shMgr(Belle::Mdst_svd_hit_Manager::get_manager());
3146 for (std::vector<Belle::Mdst_svd_hit_extra>::iterator it = sheMgr.begin();
3147 it != sheMgr.end(); ++it) {
3148 Belle::Mdst_svd_hit_extra& she = *it;
3149 Belle::Mdst_svd_hit& sh(shMgr.add());
3151 sh.width(she.width());
3152 sh.electrons(she.electrons());
3153 sh.dssd(she.dssd());
3154 sh.type(she.type());
3155 int argn = tMgr.count() - teMgr.count() + she.trk().get_ID() - 1;
3156 if (argn < tMgr.count()) {
3162 Belle::Mdst_vee2_Manager& vMgr(Belle::Mdst_vee2_Manager::get_manager());
3163 Belle::Mdst_vee2_extra_Manager& veMgr(Belle::Mdst_vee2_extra_Manager::get_manager());
3164 const int i_vee2(vMgr.count() + 1);
3165 for (std::vector<Belle::Mdst_vee2_extra>::const_iterator i = veMgr.begin();
3166 i != veMgr.end(); ++i) {
3167 Belle::Mdst_vee2& vee(vMgr.add());
3168 vee.kind((*i).kind());
3170 if ((*i).extra_ID(0)) {
3171 Belle::Mdst_charged& tmp(chMgr[(*i).extra_ID(0) + i_ch - 2]);
3174 vee.chgd(0, (*i).chgd());
3177 if ((*i).extra_ID(1)) {
3178 Belle::Mdst_charged& tmp(chMgr[(*i).extra_ID(1) + i_ch - 2]);
3181 vee.chgd(1, (*i).chgd());
3187 vee.energy((*i).energy());
3191 vee.z_dist((*i).z_dist());
3192 vee.chisq((*i).chisq());
3193 vee.type((*i).type());
3194 vee.daut((*i).daut());
3200 if (i_ch & 0xffffff00) B2ERROR(
"Warning from B2BIIFixMdst: overflow! i_ch = " << i_ch);
3201 if (i_trk & 0xffffff00) B2ERROR(
"Warning from B2BIIFixMdst: overflow! i_trk = " << i_trk);
3202 if (i_vee2 & 0xffffff00) B2ERROR(
"Warning from B2BIIFixMdst: overflow! i_vee2 = " << i_vee2);
3204 flag |= ((i_trk & 0xff) << 8);
3205 flag |= ((i_vee2 & 0xff) << 16);
3206 mevtmgr[1].flag(0, flag);
3213 Belle::Mdst_event_add_Manager& mevtmgr = Belle::Mdst_event_add_Manager::get_manager();
3214 if (mevtmgr.count() <= 1) {
3217 unsigned flag(mevtmgr[1].flag(0));
3218 if (0 == flag)
return -1;
3219 const int i_ch(flag & 0xff);
3220 const int i_trk((flag >> 8) & 0xff);
3221 const int i_vee2((flag >> 16) & 0xff);
3222 Belle::Mdst_charged_Manager& chMgr(Belle::Mdst_charged_Manager::get_manager());
3223 Belle::Mdst_trk_Manager& tMgr(Belle::Mdst_trk_Manager::get_manager());
3224 Belle::Mdst_vee2_Manager& veeMgr(Belle::Mdst_vee2_Manager::get_manager());
3226 while (chMgr.count() >= i_ch) chMgr.remove(chMgr[chMgr.count() - 1]);
3229 while (tMgr.count() >= i_trk) tMgr.remove(tMgr[tMgr.count() - 1]);
3232 while (veeMgr.count() >= i_vee2) veeMgr.remove(veeMgr[veeMgr.count() - 1]);
3235 mevtmgr[1].flag(0, flag);
3242 Belle::Mdst_event_add_Manager& mevtmgr = Belle::Mdst_event_add_Manager::get_manager();
3243 if (mevtmgr.count() <= 1) {
3246 unsigned flag(mevtmgr[1].flag(0));
3247 if (0 == flag)
return -1;
3248 const int i_ch(flag & 0xff);
3249 const int i_trk((flag >> 8) & 0xff);
3250 const int i_vee2((flag >> 16) & 0xff);
3252 Belle::Mdst_trk_Manager& tMgr(Belle::Mdst_trk_Manager::get_manager());
3253 Belle::Mdst_vee2_Manager& veeMgr(Belle::Mdst_vee2_Manager::get_manager());
3254 Belle::Mdst_trk_extra_Manager& teMgr(Belle::Mdst_trk_extra_Manager::get_manager());
3255 Belle::Mdst_vee2_extra_Manager& veeeMgr(Belle::Mdst_vee2_extra_Manager::get_manager());
3257 std::vector<int> extra_ID;
3258 if (teMgr.count()) teMgr.remove();
3259 for (std::vector<Belle::Mdst_trk>::iterator i = tMgr.begin();
3260 i != tMgr.end(); ++i) {
3261 if ((*i).get_ID() < i_trk) {
3262 extra_ID.push_back(0);
3265 if (!((*i).quality() & 16u)) {
3266 B2ERROR(
"Warning from B2BIIFixMdst: inconsistency between Belle::Mdst_trk and Belle::Mdst_evet_add"
3269 Belle::Mdst_trk_extra& trk(teMgr.add());
3270 for (
int j = 0; j < 5; j++) trk.mhyp(j, (*i).mhyp(j));
3271 trk.quality((*i).quality());
3272 extra_ID.push_back(trk.get_ID());
3275 if (veeeMgr.count()) veeeMgr.remove();
3276 for (std::vector<Belle::Mdst_vee2>::iterator i = veeMgr.begin();
3277 i != veeMgr.end(); ++i) {
3278 if ((*i).get_ID() < i_vee2)
continue;
3279 if (!((*i).chgd(0).trk().quality() & 16u) && !((*i).chgd(1).trk().quality() & 16u)) {
3280 B2ERROR(
"Warning from B2BIIFixMdst: inconsistency between Belle::Mdst_vee2 and Belle::Mdst_evet_add"
3283 Belle::Mdst_vee2_extra& vee(veeeMgr.add());
3284 vee.kind((*i).kind());
3285 const int extra_id0(extra_ID[(*i).chgd(0).trk_ID() - 1]);
3286 const int extra_id1(extra_ID[(*i).chgd(1).trk_ID() - 1]);
3288 vee.extra(0, teMgr[extra_id0 - 1]);
3290 vee.chgd((*i).chgd(0));
3293 vee.extra(1, teMgr[extra_id1 - 1]);
3295 if (vee.chgd_ID()) {
3296 B2ERROR(
"Warning from B2BIIFixMdst: both tracks of Belle::Mdst_vee2_extra are good track"
3299 vee.chgd((*i).chgd(1));
3305 vee.energy((*i).energy());
3309 vee.z_dist((*i).z_dist());
3310 vee.chisq((*i).chisq());
3311 vee.type((*i).type());
3312 vee.daut((*i).daut());
3314 int id = BsCouTab(MDST_VEE2);
3315 while (
id >= i_vee2) BsDelEnt(MDST_VEE2,
id--);
3317 int id = BsCouTab(MDST_TRK);
3318 while (
id >= i_trk) BsDelEnt(MDST_TRK,
id--);
3321 int id = BsCouTab(MDST_CHARGED);
3322 while (
id >= i_ch) BsDelEnt(MDST_CHARGED,
id--);
3325 mevtmgr[1].flag(0, flag);
3334 static void scale_err_ms(Belle::Mdst_trk_fit& fit,
double scale[]);
3335 static void smear_trk_ms(Belle::Mdst_trk_fit& fit,
double scale[]);
3342 int expNo = 0, runNo = 0, expmc = 1;
3343 Belle::Belle_event_Manager& evtMgr = Belle::Belle_event_Manager::get_manager();
3344 if (evtMgr.count()) {
3345 expNo = evtMgr[0].ExpNo();
3346 runNo = evtMgr[0].RunNo();
3347 expmc = evtMgr[0].ExpMC();
3349 if (expmc == 1)
return;
3351 Belle::Mdst_event_add_Manager& addmgr = Belle::Mdst_event_add_Manager::get_manager();
3352 if (addmgr.count() == 0) {
3353 B2ERROR(
"No Belle::Mdst_event_add table -> kill the job");
3355 }
else if (addmgr.count() >= 2) {
3356 if (addmgr[1].flag(1) != 0)
return;
3359 int flag_err = addmgr[0].flag_error();
3361 static bool start =
true;
3364 B2INFO(
"smear_trk: MC events -> track smearing is ON\n");
3367 double scale_mc[5] = {1, 1, 1, 1, 1};
3368 double scale_rd[5] = {1, 1, 1, 1, 1};
3371 Belle::Mdst_trk_fit_Manager& fitmgr = Belle::Mdst_trk_fit_Manager::get_manager();
3372 for (std::vector<Belle::Mdst_trk_fit>::iterator it = fitmgr.begin(); it != fitmgr.end(); ++it) {
3373 Belle::Mdst_trk_fit& fit = *it;
3374 if (fit.helix(2) == 0.)
continue;
3376 double pt = 1. / fabs(fit.helix(2));
3377 double tanl = fit.helix(4);
3381 for (
int i = 0; i < 5; i++) scale[i] = scale_rd[i] / scale_mc[i];
3391 addmgr[0].flag_error(1);
3394 if (addmgr.count() == 1) {
3395 Belle::Mdst_event_add& meadd = addmgr.add();
3397 }
else if (addmgr.count() >= 2) {
3398 addmgr[1].flag(1, 1);
3407 fit.error(0, scale[0]*scale[0]*fit.error(0));
3408 fit.error(1, scale[1]*scale[0]*fit.error(1));
3409 fit.error(2, scale[1]*scale[1]*fit.error(2));
3410 fit.error(3, scale[2]*scale[0]*fit.error(3));
3411 fit.error(4, scale[2]*scale[1]*fit.error(4));
3412 fit.error(5, scale[2]*scale[2]*fit.error(5));
3413 fit.error(6, scale[3]*scale[0]*fit.error(6));
3414 fit.error(7, scale[3]*scale[1]*fit.error(7));
3415 fit.error(8, scale[3]*scale[2]*fit.error(8));
3416 fit.error(9, scale[3]*scale[3]*fit.error(9));
3417 fit.error(10, scale[4]*scale[0]*fit.error(10));
3418 fit.error(11, scale[4]*scale[1]*fit.error(11));
3419 fit.error(12, scale[4]*scale[2]*fit.error(12));
3420 fit.error(13, scale[4]*scale[3]*fit.error(13));
3421 fit.error(14, scale[4]*scale[4]*fit.error(14));
3432 for (
int i = 0; i < n; i++) {
3433 for (
int j = 0; j <= i; j++) {
3434 a[i][j] = fit.error(k) * (scale[i] * scale[j] - 1.0);
3435 if (i != j) a[j][i] = a[i][j];
3442 for (
int j = 0; j < n; j++) {
3444 for (
int k2 = 0; k2 < j; k2++) s -= u[j][k2] * u[j][k2];
3447 for (
int i = j + 1; i < n; i++) {
3449 for (
int k3 = 0; k3 < j; k3++) s -= u[i][k3] * u[j][k3];
3450 u[i][j] = s / u[j][j];
3453 for (
int i = j; i < n; i++) u[i][j] = 0;
3459 for (
int i = 0; i < n; i++) g[i] = gRandom->Gaus();
3461 for (
int i = 0; i < n; i++) {
3464 for (
int j = 0; j <= i; j++) x[i] += u[i][j] * g[j];
3467 for (
int i = 0; i < n; i++) fit.helix(i, fit.helix(i) + x[i]);
3475 Belle::Mdst_charged_Manager& chgmgr = Belle::Mdst_charged_Manager::get_manager();
3476 for (std::vector<Belle::Mdst_charged>::iterator it = chgmgr.begin(); it != chgmgr.end(); ++it) {
3477 Belle::Mdst_charged& c = *it;
3478 Belle::Mdst_trk_fit& t = c.trk().mhyp(2);
3480 double kp = std::abs(t.helix(2));
3481 kp = std::max(kp, 1.e-10);
3482 kp = std::min(kp, 1.e10);
3483 c.px(-sin(t.helix(1)) / kp);
3484 c.py(cos(t.helix(1)) / kp);
3485 c.pz(t.helix(4) / kp);