384 {
385
386
402
403 double oneby2 = 0.707106782;
404
405 bool isBToDK=false;
406 if ( p -> getParent () ) {
407 std::string name1;
409
411 if ( ( BP == parId ) || ( BM == parId ) || ( B0 == parId ) ||
412 ( B0B == parId ) )
413 if (name1 == "BTODDALITZCPK") isBToDK=true;
414 }
415
416
417
418
423
425 p4_p.
set(p->
mass(),0.0,0.0,0.0);
426
428
429
430
431
432
433
434
435
436 if ( _flag==1) {
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451 EvtResonance2 DplusRes11( p4_p, moms1, moms2, 1.0, 0.0, 0.0503, 0.896,
452 1, true );
453 EvtResonance2 DplusRes12( p4_p, moms3, moms1, 1.0, 0.0, 0.0503, 0.896,
454 1, true );
455 EvtResonance2 DplusRes21( p4_p, moms1, moms2, 3.0, 49.7 - 180.0, 0.164,
456 1.463, 0 );
457 EvtResonance2 DplusRes22( p4_p, moms3, moms1, 3.0, 49.7 - 180.0, 0.164,
458 1.463, 0 );
459 EvtResonance2 DplusRes31( p4_p, moms1, moms2, 0.96, -29.9 + 180.0,
460 0.109, 1.4324, 2, true );
461 EvtResonance2 DplusRes32( p4_p, moms3, moms1, 0.96, -29.9 + 180.0,
462 0.109, 1.4324, 2, true );
463 EvtResonance2 DplusRes41( p4_p, moms1, moms2, 6.5, 29.0, 0.323, 1.717,
464 1, true );
465 EvtResonance2 DplusRes42( p4_p, moms3, moms1, 6.5, 29.0, 0.323, 1.717,
466 1, true );
467 EvtResonance2 DplusRes51( p4_p, moms1, moms2, 5.01, -163.7 + 180.0,
468 0.470, 0.809, 0 );
469 EvtResonance2 DplusRes52( p4_p, moms3, moms1, 5.01, -163.7 + 180.0,
470 0.470, 0.809, 0 );
473 7.4 *
sin( ( -18.4 + 180.0 ) * pi180inv ) ) +
474 oneby2 * ( -DplusRes11.resAmpl() + DplusRes12.resAmpl() ) +
475 oneby2 * ( DplusRes21.resAmpl() + DplusRes22.resAmpl() ) +
476 oneby2 * ( DplusRes31.resAmpl() + DplusRes32.resAmpl() ) +
477 oneby2 * ( -DplusRes41.resAmpl() + DplusRes42.resAmpl() ) +
478 oneby2 * ( DplusRes51.resAmpl() + DplusRes52.resAmpl() );
479
480 }
481
482 if ( _flag==2) {
483
484
485
486
487
488
489
490
491
492
493
494
495
497
498
499
500
501
502
503
504
505 double amp1[8]={0.797929, 1, 0.194377, 0.332583, 0, 1.440519, 2.278415, 0.611784};
506 double phi[8]={279, 0, 293, 334, 0, 252, 187, 93};
507 EvtResonance2 DplusKpipi0Res1(p4_p,moms2,moms3,amp1[1],phi[1],0.1494,0.77549,1);
508 EvtResonance2 DplusKpipi0Res2(p4_p,moms1,moms3,amp1[2],phi[2],0.0503,0.896 ,1);
509 EvtResonance2 DplusKpipi0Res3(p4_p,moms1,moms3,amp1[3],phi[3],0.27 ,1.425 ,0);
510 EvtResonance2 DplusKpipi0Res4(p4_p,moms1,moms3,amp1[4],phi[4],0.109 ,1.4324 ,2);
511 EvtResonance2 DplusKpipi0Res5(p4_p,moms1,moms3,amp1[5],phi[5],0.322 ,1.717 ,1);
512
513 EvtResonance2 DplusKpipi0Res6(p4_p,moms2,moms3,amp1[6],phi[6],0.4 ,1.465 ,1);
514 EvtResonance2 DplusKpipi0Res7(p4_p,moms1,moms3,1,0, 0.175, 1.465, 0);
515 amp = amp1[0]*
EvtComplex(
cos(phi[0]*pi180inv),
sin(phi[0]*pi180inv)) + DplusKpipi0Res1.resAmpl()+DplusKpipi0Res2.resAmpl()
516 + DplusKpipi0Res3.resAmpl()+DplusKpipi0Res4.resAmpl()+ DplusKpipi0Res5.resAmpl() +DplusKpipi0Res6.resAmpl();
517
518
519
522 }
523
524 if(_flag==3) {
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539 if ( isBToDK ) {
540
543
546
549
552
555
557 if ( p->
getId() == D0 ) {
558
559
560
561
562
563
564 amp = amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) +
565 Factor * amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) ;
566 }
567 else {
568 amp = amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) +
569 Factor * amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) ;
570 }
571 }
572 else if ( ( p->
getParent() -> getId() == BM ) ||
575
576 if ( p->
getId() == D0 ) {
577 amp = amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) +
578 Factor * amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) ;
579 }
580 else {
581 amp = amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) +
582 Factor * amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) ;
583 }
584 }
585 }
586 else {
587 amp = amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) ;
588 }
589 }
590
591
592 if(_flag==4) {
593
594 EvtResonance2 DKpipi0Res1(p4_p,moms2,moms3,1.0 ,0.0 ,0.1507,0.770 ,1);
595 EvtResonance2 DKpipi0Res2(p4_p,moms1,moms2,0.39, -0.2 ,0.0505,0.8961,1);
596 EvtResonance2 DKpipi0Res3(p4_p,moms1,moms3,0.44, 163.0 ,0.050 ,0.8915,1);
597
598 EvtResonance2 DKpipi0Res4(p4_p,moms1,moms3,0.77 ,55.5 ,0.294 ,1.412 ,0);
599 EvtResonance2 DKpipi0Res5(p4_p,moms1,moms2,0.85 ,166.0 ,0.294 ,1.412 ,0);
600 EvtResonance2 DKpipi0Res6(p4_p,moms2,moms3,2.5 ,171.0 ,0.240 ,1.700 ,1);
601 EvtResonance2 DKpipi0Res7(p4_p,moms1,moms3,2.5 ,103.0 ,0.322 ,1.717 ,1);
602
603
604
606
608 + DKpipi0Res1.resAmpl() + DKpipi0Res2.resAmpl() + DKpipi0Res3.resAmpl()
609 + DKpipi0Res4.resAmpl() + DKpipi0Res5.resAmpl()
610 + DKpipi0Res6.resAmpl()
611 + DKpipi0Res7.resAmpl();
612
613 }
614
615
616 if(_flag==5) {
617
618
619
620
621
622
623 if ( isBToDK ){
624
627
630
633
636
639
641 if ( p->
getId() == D0 ) {
642
643
644
645
646
647
648 amp = amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) +
649 Factor * amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) ;
650 }
651 else {
652 amp = amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) +
653 Factor * amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) ;
654 }
655 }
656 else if ( ( p->
getParent() -> getId() == BM ) ||
659
660 if ( p->
getId() == D0 ) {
661 amp = amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) +
662 Factor * amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) ;
663 }
664 else {
665 amp = amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) +
666 Factor * amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) ;
667 }
668 }
669 }
670 else {
671 amp = amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) ;
672 }
673 }
674
675
676 if(_flag==6) {
677 EvtResonance2 DsKKpiRes1(p4_p, moms3, moms1, 1.0, 0.0, 0.0455, 0.8944, 1,
true);
678 EvtResonance2 DsKKpiRes2(p4_p, moms3, moms1, 1.48, 138., 0.290, 1.414, 0);
679 EvtFlatte DsKKpiRes3(p4_p, moms1, moms2, 5.07, 156., 0.965, _kkpi_params);
680 EvtResonance2 DsKKpiRes4(p4_p, moms1, moms2, 1.15, -10., 0.00426, 1.019455, 1,
true);
681 EvtResonance2 DsKKpiRes5(p4_p, moms1, moms2, 1.28, 53., 0.265, 1.350, 0);
682 EvtResonance2 DsKKpiRes6(p4_p, moms1, moms2, 1.19, 87., 0.137, 1.724, 0);
683 amp = DsKKpiRes1.resAmpl() + DsKKpiRes2.resAmpl() + DsKKpiRes3.resAmpl()
684 + DsKKpiRes4.resAmpl() + DsKKpiRes5.resAmpl() + DsKKpiRes6.resAmpl();
685 }
686
687
688 if(_flag==7) {
689
690
691
692
693
694
695
696 EvtResonance2 DspipipiRes1(p4_p, moms1, moms2, 1.0, 0.0, 0.1867, 1.2755, 2,
true,
false);
697 EvtResonance2 DspipipiRes2(p4_p, moms1, moms3, 1.0, 0.0, 0.1867, 1.2755, 2,
true,
false);
698
703
704 const double xl[] = {0.28, 0.448, 0.55, 0.647, 0.736, 0.803, 0.873, 0.921, 0.951, 0.968, 0.981, 0.993, 1.024, 1.078, 1.135, 1.193, 1.235, 1.267, 1.297, 1.323, 1.35, 1.376, 1.402, 1.427, 1.455, 1.492, 1.557, 1.64, 1.735};
705 const double ym[] = {1.23487, 2.80323, 3.42035, 3.31677, 5.45084, 6.21976, 7.88104, 11.8548, 16.8433, 21.7424, 26.455, 18.6398, 11.1707, 8.00181, 6.74089, 6.09654, 6.62815, 6.26746, 6.50165, 7.49954, 7.2659, 7.53306, 8.49471, 8.07989, 8.28178, 5.8168, 1.63515, 1.37752, 2.08794};
706 const double yp[] = {-3.59059, -3.82322, -3.87059, -3.74264, -3.37687, -3.09568, -2.59601, -2.15795, -1.76578, -1.21117, -0.577655, -0.246062, 0.17292, 0.550796, 0.981734, 1.27572, 1.32191, 1.56281, 1.46746, 1.60172, 1.75168, 1.79924, 1.94462, 2.09212, 2.53836, 3.06809, 3.05283, 7.0558, 7.31884};
710
711 amp = DspipipiRes1.resAmpl() + DspipipiRes2.resAmpl() + DspipipiRes3.resAmpl()
712 + DspipipiRes4.resAmpl() + DspipipiRes5.resAmpl() + DspipipiRes6.resAmpl()
713 + Dspipipiswave1.resAmpl() + Dspipipiswave2.resAmpl();
714
715 }
716
717
718
719 if(_flag==8) {
720
721 EvtResonance2 DpKKpiRes1( p4_p, moms3, moms1, 1.0, 0.0, 0.0503, 0.8960, 1,
true );
722 EvtResonance2 DpKKpiRes2( p4_p, moms3, moms1, 3.7, 73.0, 0.290, 1.414, 0 );
723 EvtResonance2 DpKKpiRes3( p4_p, moms1, moms2, 1.189, -179.0 + 180.0, 0.00426, 1.019455, 1,
true );
724 EvtResonance2 DpKKpiRes4( p4_p, moms1, moms2, 1.72, 123., 0.265, 1.474, 0 );
725 EvtResonance2 DpKKpiRes5( p4_p, moms1, moms2, 1.9, -52.0 + 180.0, 0.15, 1.68, 1,
true );
726 EvtResonance2 DpKKpiRes6( p4_p, moms3, moms1, 6.4, 150., 0.109, 1.4324, 2,
true );
728 amp =
EvtComplex( 5.1 *
cos( ( 53.0 ) * pi180inv ), 5.1 *
sin( ( 53.0 ) * pi180inv ) ) +
729 DpKKpiRes1.resAmpl() + DpKKpiRes2.resAmpl() + DpKKpiRes3.resAmpl() +
730 DpKKpiRes4.resAmpl() + DpKKpiRes5.resAmpl() + DpKKpiRes6.resAmpl();
731
732 }
733
734
735
736
737
738
739 if(_flag==9) {
740 EvtResonance2 DpKpipiDCSRes1( p4_p, moms1, moms2, 1.0, 0.0, 0.149, 0.775, 1,
true );
741 EvtResonance2 DpKpipiDCSRes2( p4_p, moms3, moms1, 1.0971, -167.1, 0.0487, 0.896, 1,
true );
742 EvtResonance2 DpKpipiDCSRes3( p4_p, moms1, moms2, 0.4738, -134.5, 0.059, 0.972, 0 );
743 EvtResonance2 DpKpipiDCSRes4( p4_p, moms3, moms1, 2.2688, 54.4, 0.109, 1.432, 2,
true );
744 amp = DpKpipiDCSRes1.resAmpl() + DpKpipiDCSRes2.resAmpl() +
745 DpKpipiDCSRes3.resAmpl() + DpKpipiDCSRes4.resAmpl();
746 }
747
748
749
750
751
752
753 if(_flag==10) {
754 EvtResonance2 DppipipiRes11( p4_p, moms1, moms2, 1.0, 0.0, 0.150, 0.769, 1,
true );
755 EvtResonance2 DppipipiRes12( p4_p, moms3, moms1, 1.0, 0.0, 0.150, 0.769, 1,
true );
756 EvtResonance2 DppipipiRes21( p4_p, moms1, moms2, 2.2811, 205.7, 0.324, 0.478, 0 );
757 EvtResonance2 DppipipiRes22( p4_p, moms3, moms1, 2.2811, 205.7, 0.324, 0.478, 0 );
758 EvtResonance2 DppipipiRes31( p4_p, moms1, moms2, 0.4265, 165.0, 0.044, 0.977, 0 );
759 EvtResonance2 DppipipiRes32( p4_p, moms3, moms1, 0.4265, 165.0, 0.044, 0.977, 0 );
760 EvtResonance2 DppipipiRes41( p4_p, moms1, moms2, 2.0321, 57.3, 0.185, 1.275, 2,
true );
761 EvtResonance2 DppipipiRes42( p4_p, moms3, moms1, 2.0321, 57.3, 0.185, 1.275, 2,
true );
762 EvtResonance2 DppipipiRes51( p4_p, moms1, moms2, 0.7888, 105.4, 0.173, 1.434, 0 );
763 EvtResonance2 DppipipiRes52( p4_p, moms3, moms1, 0.7888, 105.4, 0.173, 1.434, 0 );
764 EvtResonance2 DppipipiRes61( p4_p, moms1, moms2, 0.7363, 319.1, 0.310, 1.465, 1,
true );
765 EvtResonance2 DppipipiRes62( p4_p, moms3, moms1, 0.7363, 319.1, 0.310, 1.465, 1,
true );
767 amp =
EvtComplex( -3.98 *
cos( 57.3 * pi180inv ), -3.98 *
sin( 57.3 * pi180inv ) ) +
768 ( DppipipiRes11.resAmpl() - DppipipiRes12.resAmpl() )
769 + ( DppipipiRes21.resAmpl() + DppipipiRes22.resAmpl() ) +
770 ( DppipipiRes31.resAmpl() + DppipipiRes32.resAmpl() ) +
771 ( DppipipiRes41.resAmpl() + DppipipiRes42.resAmpl() ) +
772 ( DppipipiRes51.resAmpl() + DppipipiRes52.resAmpl() ) +
773 ( DppipipiRes61.resAmpl() - DppipipiRes62.resAmpl() );
774 }
775
776
777
778 if(_flag==11) {
779 EvtResonance2 DpipipiRes1p( p4_p, moms2, moms3, 1.0, 0.0, 0.149, 0.775, 1,
true );
780 EvtResonance2 DpipipiRes1( p4_p, moms1, moms2, 0.588, 16.2, 0.149, 0.775, 1,
true );
781 EvtResonance2 DpipipiRes1m( p4_p, moms3, moms1, 0.714, -2.0, 0.149, 0.775, 1,
true );
782 EvtResonance2 DpipipiRes2p( p4_p, moms2, moms3, 0.21, -146.0, 0.400, 1.465, 1,
true );
783 EvtResonance2 DpipipiRes2( p4_p, moms1, moms2, 0.33, 10.0, 0.400, 1.465, 1,
true );
784 EvtResonance2 DpipipiRes2m( p4_p, moms3, moms1, 0.82, 16.0, 0.400, 1.465, 1,
true );
785 EvtResonance2 DpipipiRes3p( p4_p, moms2, moms3, 2.25, -17.0, 0.250, 1.720, 1,
true );
786 EvtResonance2 DpipipiRes3( p4_p, moms1, moms2, 2.51, -17.0, 0.250, 1.720, 1,
true );
787 EvtResonance2 DpipipiRes3m( p4_p, moms3, moms1, 2.00, -50.0, 0.250, 1.720, 1,
true );
788 EvtResonance2 DpipipiRes4( p4_p, moms1, moms2, 0.015, -59.0, 0.07, 0.980, 0 );
789 EvtResonance2 DpipipiRes5( p4_p, moms1, moms2, 0.063, 156.0, 0.350, 1.370, 0 );
790 EvtResonance2 DpipipiRes6( p4_p, moms1, moms2, 0.058, 12.0, 0.109, 1.505, 0 );
791 EvtResonance2 DpipipiRes7( p4_p, moms1, moms2, 0.112, 51.0, 0.135, 1.720, 0 );
792 EvtResonance2 DpipipiRes8( p4_p, moms1, moms2, 1.04, -171.0, 0.185, 1.275, 2,
true );
793 EvtResonance2 DpipipiRes9( p4_p, moms1, moms2, 0.069, 8.0, 0.600, 0.400, 0 );
794
796 amp =
EvtComplex( 0.57 *
cos( -11.0 * pi180inv ), 0.57 *
sin( -11.0 * pi180inv ) ) +
797 DpipipiRes1p.resAmpl() + DpipipiRes1.resAmpl() +
798 DpipipiRes1m.resAmpl() + DpipipiRes2p.resAmpl() +
799 DpipipiRes2.resAmpl() + DpipipiRes2m.resAmpl() +
800 DpipipiRes3p.resAmpl() + DpipipiRes3.resAmpl() +
801 DpipipiRes3m.resAmpl() + DpipipiRes4.resAmpl() +
802 DpipipiRes5.resAmpl() + DpipipiRes6.resAmpl() +
803 DpipipiRes7.resAmpl() + DpipipiRes8.resAmpl() +
804 DpipipiRes9.resAmpl();
805 }
806
808
809 return ;
810}
double sin(const BesAngle a)
double cos(const BesAngle a)
static const double radToDegrees
static void setParams(const vector< double > x, const vector< double > ym, const vector< double > yp)
void vertex(const EvtComplex &)
virtual void getName(std::string &name)=0
static EvtDecayBase * getDecayFunc(EvtParticle *)
static EvtId getId(const std::string &name)
EvtParticle * getParent()
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
void set(int i, double d)