BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtBTo4piCP.cc File Reference
#include "EvtBTo4piCP.hh"
#include "../EvtGenBase/EvtCPUtil.hh"
#include "../EvtGenBase/EvtConst.hh"
#include "../EvtGenBase/EvtGenKine.hh"
#include "../EvtGenBase/EvtId.hh"
#include "../EvtGenBase/EvtPDL.hh"
#include "../EvtGenBase/EvtParticle.hh"
#include "../EvtGenBase/EvtPatches.hh"
#include "../EvtGenBase/EvtReport.hh"
#include <stdlib.h>
#include <string>

Go to the source code of this file.

Functions

EvtComplex EvtAmpA2 (const EvtVector4R &p4pi1, const EvtVector4R &p4pi2, const EvtVector4R &p4pi3, const EvtVector4R &p4pi4)
EvtComplex EvtAmpA1 (const EvtVector4R &p4pi1, const EvtVector4R &p4pi2, const EvtVector4R &p4pi3, const EvtVector4R &p4pi4)

Function Documentation

◆ EvtAmpA1()

EvtComplex EvtAmpA1 ( const EvtVector4R & p4pi1,
const EvtVector4R & p4pi2,
const EvtVector4R & p4pi3,
const EvtVector4R & p4pi4 )

Definition at line 92 of file EvtBTo4piCP.cc.

93 {
94
95 // added by Lange Jan4,2000
96 static EvtId A1M = EvtPDL::getId( "a_1-" );
97 static EvtId RHO0 = EvtPDL::getId( "rho0" );
98
99 EvtVector4R p4a1, p4rho, p4b;
100
101 p4rho = p4pi1 + p4pi2;
102
103 p4a1 = p4rho + p4pi3;
104
105 p4b = p4a1 + p4pi4;
106
107 EvtVector4R p4b_a1, p4rho_a1, p4pi1_a1, p4a1_a1;
108
109 p4b_a1 = boostTo( p4b, p4a1 );
110 p4rho_a1 = boostTo( p4rho, p4a1 );
111 p4pi1_a1 = boostTo( p4pi1, p4a1 );
112 p4a1_a1 = boostTo( p4a1, p4a1 );
113
114 EvtVector4R p4pi1_rho;
115
116 p4pi1_rho = boostTo( p4pi1_a1, p4rho_a1 );
117
118 EvtVector4R vb, vrho, vpi, t;
119
120 vb = p4b_a1 / p4b_a1.d3mag();
121 vrho = p4rho_a1 / p4rho_a1.d3mag();
122 vpi = p4pi1_rho / p4pi1_rho.d3mag();
123
124 t.set( 1.0, 0.0, 0.0, 0.0 );
125
126 EvtComplex amp_a1;
127
128 double bwm_a1 = EvtPDL::getMeanMass( A1M );
129 double gamma_a1 = EvtPDL::getWidth( A1M );
130 // double bwm_a2=EvtPDL::getMeanMass(A2M);
131 // double gamma_a2=EvtPDL::getWidth(A2M);
132 double bwm_rho = EvtPDL::getMeanMass( RHO0 );
133 double gamma_rho = EvtPDL::getWidth( RHO0 );
134
135 amp_a1 = ( sqrt( gamma_a1 / EvtConst::twoPi ) /
136 ( ( p4a1 ).mass() - bwm_a1 - EvtComplex( 0.0, 0.5 * gamma_a1 ) ) ) *
137 ( sqrt( gamma_rho / EvtConst::twoPi ) /
138 ( ( p4rho ).mass() - bwm_rho - EvtComplex( 0.0, 0.5 * gamma_rho ) ) );
139
140 return amp_a1 * ( vb.get( 1 ) * vpi.get( 1 ) + vb.get( 2 ) * vpi.get( 2 ) +
141 vb.get( 3 ) * vpi.get( 3 ) );
142}
double mass
EvtDiracSpinor boostTo(const EvtDiracSpinor &sp, const EvtVector4R p4)
static const double twoPi
Definition EvtConst.hh:28
Definition EvtId.hh:27
static double getWidth(EvtId i)
Definition EvtPDL.hh:59
static double getMeanMass(EvtId i)
Definition EvtPDL.hh:43
static EvtId getId(const std::string &name)
Definition EvtPDL.cc:272
double get(int i) const
double d3mag() const
int t()
Definition t.c:1

Referenced by EvtBTo4piCP::decay().

◆ EvtAmpA2()

EvtComplex EvtAmpA2 ( const EvtVector4R & p4pi1,
const EvtVector4R & p4pi2,
const EvtVector4R & p4pi3,
const EvtVector4R & p4pi4 )

Definition at line 35 of file EvtBTo4piCP.cc.

36 {
37
38 // added by Lange Jan4,2000
39 static EvtId A2M = EvtPDL::getId( "a_2-" );
40 static EvtId RHO0 = EvtPDL::getId( "rho0" );
41
42 EvtVector4R p4a2, p4rho, p4b;
43
44 p4rho = p4pi1 + p4pi2;
45
46 p4a2 = p4rho + p4pi3;
47
48 p4b = p4a2 + p4pi4;
49
50 EvtVector4R p4b_a2, p4rho_a2, p4pi1_a2, p4a2_a2;
51
52 p4b_a2 = boostTo( p4b, p4a2 );
53 p4rho_a2 = boostTo( p4rho, p4a2 );
54 p4pi1_a2 = boostTo( p4pi1, p4a2 );
55 p4a2_a2 = boostTo( p4a2, p4a2 );
56
57 EvtVector4R p4pi1_rho;
58
59 p4pi1_rho = boostTo( p4pi1_a2, p4rho_a2 );
60
61 EvtVector4R vb, vrho, vpi, t;
62
63 vb = p4b_a2 / p4b_a2.d3mag();
64 vrho = p4rho_a2 / p4rho_a2.d3mag();
65 vpi = p4pi1_rho / p4pi1_rho.d3mag();
66
67 t.set( 1.0, 0.0, 0.0, 0.0 );
68
69 // EvtComplex amp_a1,amp_a2;
70 EvtComplex amp_a2;
71
72 // double bwm_a1=EvtPDL::getMeanMass(A1M);
73 // double gamma_a1=EvtPDL::getWidth(A1M);
74 double bwm_a2 = EvtPDL::getMeanMass( A2M );
75 double gamma_a2 = EvtPDL::getWidth( A2M );
76 double bwm_rho = EvtPDL::getMeanMass( RHO0 );
77 double gamma_rho = EvtPDL::getWidth( RHO0 );
78
79 amp_a2 = ( sqrt( gamma_a2 / EvtConst::twoPi ) /
80 ( ( p4a2 ).mass() - bwm_a2 - EvtComplex( 0.0, 0.5 * gamma_a2 ) ) ) *
81 ( sqrt( gamma_rho / EvtConst::twoPi ) /
82 ( ( p4rho ).mass() - bwm_rho - EvtComplex( 0.0, 0.5 * gamma_rho ) ) );
83
84 return amp_a2 *
85 ( vb.get( 1 ) * vrho.get( 1 ) + vb.get( 2 ) * vrho.get( 2 ) +
86 vb.get( 3 ) * vrho.get( 3 ) ) *
87 ( vpi.get( 1 ) * ( vb.get( 2 ) * vrho.get( 3 ) - vb.get( 3 ) * vrho.get( 2 ) ) +
88 vpi.get( 2 ) * ( vb.get( 3 ) * vrho.get( 1 ) - vb.get( 1 ) * vrho.get( 3 ) ) +
89 vpi.get( 3 ) * ( vb.get( 1 ) * vrho.get( 2 ) - vb.get( 2 ) * vrho.get( 1 ) ) );
90}

Referenced by EvtBTo4piCP::decay().