BOSS
8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtFlatte.cc
Go to the documentation of this file.
1
//--------------------------------------------------------------------------
2
//
3
// Environment:
4
// This software is part of the EvtGen package developed jointly
5
// for the BaBar and CLEO collaborations. If you use all or part
6
// of it, please give an appropriate acknowledgement.
7
//
8
// Copyright Information: See EvtGen/COPYRIGHT
9
// Copyright (C) 1998 Caltech, UCSB
10
//
11
// Module: EvtFlatte.cc
12
//
13
// Description: resonance-defining class
14
//
15
// Modification history:
16
//
17
// ponyisi 18 Feb 2008 created
18
//
19
//------------------------------------------------------------------------
20
//
21
#include "
EvtFlatte.hh
"
22
#include "
EvtComplex.hh
"
23
#include "
EvtConst.hh
"
24
#include "
EvtKine.hh
"
25
#include "
EvtPatches.hh
"
26
#include "
EvtReport.hh
"
27
#include "
EvtVector4R.hh
"
28
#include <math.h>
29
30
EvtFlatte::~EvtFlatte
() {}
31
32
// operator
33
34
EvtFlatte
&
EvtFlatte::operator=
(
const
EvtFlatte
&
n
) {
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
}
51
52
// constructor
53
54
EvtFlatte::EvtFlatte
(
const
EvtVector4R
&
p4_p
,
const
EvtVector4R
&
p4_d1
,
55
const
EvtVector4R
&
p4_d2
,
double
ampl,
double
theta
,
double
mass
,
56
vector<EvtFlatteParam>& params
57
// double m1a, double m1b, double g1,
58
// double m2a, double m2b, double g2
59
)
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
{}
70
71
// amplitude function
72
73
EvtComplex
EvtFlatte::resAmpl
() {
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
}
n
const Int_t n
Definition
DataBase/tau_mode.c:57
EvtComplex.hh
EvtConst.hh
EvtFlatte.hh
EvtKine.hh
EvtPatches.hh
w
double w
Definition
EvtPhokharaDef.hh:28
EvtReport.hh
EvtVector4R.hh
sin
double sin(const BesAngle a)
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MdcGeom/BesAngle.h:185
cos
double cos(const BesAngle a)
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MdcGeom/BesAngle.h:187
EvtComplex
Definition
EvtComplex.hh:28
EvtConst::radToDegrees
static const double radToDegrees
Definition
EvtConst.hh:29
EvtFlatte::resAmpl
EvtComplex resAmpl()
Definition
EvtFlatte.cc:73
EvtFlatte::~EvtFlatte
virtual ~EvtFlatte()
Definition
EvtFlatte.cc:30
EvtFlatte::EvtFlatte
EvtFlatte(const EvtVector4R &p4_p, const EvtVector4R &p4_d1, const EvtVector4R &p4_d2, double ampl, double theta, double mass, vector< EvtFlatteParam > ¶ms)
Definition
EvtFlatte.cc:54
EvtFlatte::operator=
EvtFlatte & operator=(const EvtFlatte &)
Definition
EvtFlatte.cc:34
EvtFlatte::p4_d2
const EvtVector4R & p4_d2()
Definition
EvtFlatte.hh:66
EvtFlatte::p4_d1
const EvtVector4R & p4_d1()
Definition
EvtFlatte.hh:65
EvtFlatte::p4_p
const EvtVector4R & p4_p()
Definition
EvtFlatte.hh:64
EvtFlatte::mass
double mass()
Definition
EvtFlatte.hh:75
EvtFlatte::theta
double theta()
Definition
EvtFlatte.hh:72
EvtVector4R
Definition
EvtVector4R.hh:29
m2
double double * m2
Definition
qcdloop1.h:83
m1
double * m1
Definition
qcdloop1.h:83
8.0.0
BOSS_Gen
BesEvtGen
src
EvtGen
EvtGenBase
EvtFlatte.cc
Generated by
1.16.1