BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtFlatte Class Reference

#include <EvtFlatte.hh>

Public Member Functions

EvtFlatteoperator= (const EvtFlatte &)
 EvtFlatte (const EvtVector4R &p4_p, const EvtVector4R &p4_d1, const EvtVector4R &p4_d2, double ampl, double theta, double mass, vector< EvtFlatteParam > &params)
virtual ~EvtFlatte ()
const EvtVector4Rp4_p ()
const EvtVector4Rp4_d1 ()
const EvtVector4Rp4_d2 ()
double amplitude ()
double theta ()
double mass ()
EvtComplex resAmpl ()

Detailed Description

Definition at line 47 of file EvtFlatte.hh.

Constructor & Destructor Documentation

◆ EvtFlatte()

EvtFlatte::EvtFlatte ( const EvtVector4R & p4_p,
const EvtVector4R & p4_d1,
const EvtVector4R & p4_d2,
double ampl,
double theta,
double mass,
vector< EvtFlatteParam > & params )

Definition at line 54 of file EvtFlatte.cc.

60 : _p4_p( p4_p )
61 , _p4_d1( p4_d1 )
62 , _p4_d2( p4_d2 )
63 , _ampl( ampl )
64 , _theta( theta )
65 , _mass( mass )
66 , _params( params )
67// _m1a(m1a), _m1b(m1b), _g1(g1),
68// _m2a(m2a), _m2b(m2b), _g2(g2)
69{}
const EvtVector4R & p4_d2()
Definition EvtFlatte.hh:66
const EvtVector4R & p4_d1()
Definition EvtFlatte.hh:65
const EvtVector4R & p4_p()
Definition EvtFlatte.hh:64
double mass()
Definition EvtFlatte.hh:75
double theta()
Definition EvtFlatte.hh:72

Referenced by operator=().

◆ ~EvtFlatte()

EvtFlatte::~EvtFlatte ( )
virtual

Definition at line 30 of file EvtFlatte.cc.

30{}

Member Function Documentation

◆ amplitude()

double EvtFlatte::amplitude ( )
inline

Definition at line 69 of file EvtFlatte.hh.

69{ return _ampl; }

◆ mass()

double EvtFlatte::mass ( )
inline

Definition at line 75 of file EvtFlatte.hh.

75{ return _mass; }

Referenced by EvtFlatte(), and resAmpl().

◆ operator=()

EvtFlatte & EvtFlatte::operator= ( const EvtFlatte & n)

Definition at line 34 of file EvtFlatte.cc.

34 {
35 if ( &n == this ) return *this;
36 _p4_p = n._p4_p;
37 _p4_d1 = n._p4_d1;
38 _p4_d2 = n._p4_d2;
39 _ampl = n._ampl;
40 _theta = n._theta;
41 _mass = n._mass;
42 _params = n._params;
43 // _m1a = n._m1a;
44 // _m1b = n._m1b;
45 // _g1 = n._g1;
46 // _m2a = n._m2a;
47 // _m2b = n._m2b;
48 // _g2 = n._g2;
49 return *this;
50}
const Int_t n

◆ p4_d1()

const EvtVector4R & EvtFlatte::p4_d1 ( )
inline

Definition at line 65 of file EvtFlatte.hh.

65{ return _p4_d1; }

Referenced by EvtFlatte().

◆ p4_d2()

const EvtVector4R & EvtFlatte::p4_d2 ( )
inline

Definition at line 66 of file EvtFlatte.hh.

66{ return _p4_d2; }

Referenced by EvtFlatte().

◆ p4_p()

const EvtVector4R & EvtFlatte::p4_p ( )
inline

Definition at line 64 of file EvtFlatte.hh.

64{ return _p4_p; }

Referenced by EvtFlatte().

◆ resAmpl()

EvtComplex EvtFlatte::resAmpl ( )

Definition at line 73 of file EvtFlatte.cc.

73 {
74
75 double pi180inv = 1.0 / EvtConst::radToDegrees;
76
77 // EvtComplex ampl(cos(_theta*pi180inv), sin(_theta*pi180inv));
78 // ampl *= _ampl;
79
80 // SCALARS ONLY
81 double mR = ( _p4_d1 + _p4_d2 ).mass();
82
83 EvtComplex w;
84
85 for ( vector<EvtFlatteParam>::const_iterator param = _params.begin(); param != _params.end();
86 ++param )
87 {
88
89 double m1 = ( *param ).m1();
90 double m2 = ( *param ).m2();
91 double g = ( *param ).g();
92 w += ( g * g *
93 sqrtCplx( ( 1 - ( ( m1 - m2 ) * ( m1 - m2 ) ) / ( mR * mR ) ) *
94 ( 1 - ( ( m1 + m2 ) * ( m1 + m2 ) ) / ( mR * mR ) ) ) );
95 // cout << m1 << " " << mR << " " << w << endl;
96 }
97
98 EvtComplex denom = _mass * _mass - mR * mR - EvtComplex( 0, 1 ) * w;
99 EvtComplex ampl =
100 _ampl * EvtComplex( cos( _theta * pi180inv ), sin( _theta * pi180inv ) ) / denom;
101 // cout << abs(1/denom) << endl;
102 return ampl;
103}
double w
static const double radToDegrees
Definition EvtConst.hh:29
double double * m2
Definition qcdloop1.h:83
double * m1
Definition qcdloop1.h:83

Referenced by EvtDDalitz::decay().

◆ theta()

double EvtFlatte::theta ( )
inline

Definition at line 72 of file EvtFlatte.hh.

72{ return _theta; }

Referenced by EvtFlatte().


The documentation for this class was generated from the following files: