BOSS
8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtDalitzReso.hh
Go to the documentation of this file.
1
/*****************************************************************************
2
* Project: BaBar detector at the SLAC PEP-II B-factory
3
* Package: EvtGenBase
4
* File: $Id: EvtDalitzReso.hh,v 1.1 2009/05/08 01:59:56 pingrg Exp $
5
*
6
* Description:
7
* Class to compute Dalitz amplitudes based on many models that cannot be
8
* handled with EvtResonance.
9
*
10
* Modification history:
11
* Jordi Garra Tic� 2008/07/03 File created
12
*****************************************************************************/
13
14
#ifndef __EVTDALITZRESO_HH__
15
#define __EVTDALITZRESO_HH__
16
17
#include <map>
18
#include <string>
19
#include <vector>
20
21
#include "
EvtBlattWeisskopf.hh
"
22
#include "
EvtComplex.hh
"
23
#include "
EvtCyclic3.hh
"
24
#include "
EvtDalitzPoint.hh
"
25
#include "
EvtDecayAmp.hh
"
26
#include "
EvtSpinType.hh
"
27
#include "
EvtTwoBodyVertex.hh
"
28
29
using
std::map;
30
using
std::vector;
31
32
class
EvtBlattWeisskopf
;
33
34
class
EvtDalitzReso
{
35
public
:
36
// Numerator type
37
enum
NumType
{
38
NBW
= 0,
39
RBW_ZEMACH
= 1,
40
RBW_KUEHN
= 2,
41
RBW_CLEO
= 3,
42
RBW_ZEMACH2
= 4,
43
GS_CLEO
= 5,
44
K_MATRIX
= 6,
45
RBW_CLEO_ZEMACH
= 7,
46
GS_CLEO_ZEMACH
= 8,
47
LASS
= 9,
48
K_MATRIX_I
= 10,
49
K_MATRIX_II
= 11,
50
GAUSS_CLEO
= 12,
51
GAUSS_CLEO_ZEMACH
= 13
52
};
53
54
// Coupling type
55
// ChgPion : pi+ pi-
56
// NeuPion : pi0 pi0
57
// Pion : 0.5*[(pi+ pi-) + (pi0 pi0)]
58
// ChgKaon : K+ K-
59
// NeuKaon : K0 K0
60
// Kaon : 0.5*[(K+ K-) + (K0 K0)]
61
// EtaPion : eta pi0
62
enum
CouplingType
{
63
Undefined
= 0,
64
PicPic
= 1,
65
PizPiz
,
66
PiPi
,
67
KcKc
,
68
KzKz
,
69
KK
,
70
EtaPic
,
71
EtaPiz
,
72
PicPicKK
,
73
WA76
74
};
75
76
EvtDalitzReso
(){};
77
78
EvtDalitzReso
(
const
EvtDalitzPlot
& dp,
EvtCyclic3::Pair
pairAng,
EvtCyclic3::Pair
pairRes,
79
EvtSpinType::spintype
spin,
double
m0,
double
g0,
NumType
typeN );
80
81
EvtDalitzReso
(
const
EvtDalitzPlot
& dp,
EvtCyclic3::Pair
pairAng,
EvtCyclic3::Pair
pairRes,
82
EvtSpinType::spintype
spin,
double
m0,
double
g0,
NumType
typeN,
83
double
m0_mix,
double
g0_mix,
double
delta_mix,
EvtComplex
amp_mix );
84
85
EvtDalitzReso
(
const
EvtDalitzPlot
& dp,
EvtCyclic3::Pair
pairAng,
EvtCyclic3::Pair
pairRes,
86
EvtSpinType::spintype
spin,
double
m0,
NumType
typeN,
double
g1
,
double
g2,
87
CouplingType
coupling2 );
88
89
// K-matrix
90
EvtDalitzReso
(
const
EvtDalitzPlot
& dp,
EvtCyclic3::Pair
pairRes, std::string nameIndex,
91
NumType
typeN,
EvtComplex
fr12prod,
EvtComplex
fr13prod,
EvtComplex
fr14prod,
92
EvtComplex
fr15prod,
double
s0prod );
93
94
// LASS
95
EvtDalitzReso
(
const
EvtDalitzPlot
& dp,
EvtCyclic3::Pair
pairRes,
double
m0,
double
g0,
96
double
a,
double
r,
double
B,
double
phiB,
double
R,
double
phiR );
97
98
EvtDalitzReso
(
const
EvtDalitzReso
& other );
99
100
~EvtDalitzReso
();
101
102
EvtDalitzReso
*
clone
()
const
{
return
new
EvtDalitzReso
( *
this
); }
103
104
EvtComplex
evaluate
(
const
EvtDalitzPoint
& p );
105
106
void
set_fd
(
double
R ) { _vd.set_f( R ); }
107
void
set_fb
(
double
R ) { _vb.set_f( R ); }
108
109
private
:
110
EvtComplex
psFactor(
double
& ma,
double
& mb,
double
& m );
111
EvtComplex
psFactor(
double
& ma1,
double
& mb1,
double
& ma2,
double
& mb2,
double
& m );
112
EvtComplex
propGauss(
const
double
& m0,
const
double
& s0,
const
double
& m );
113
EvtComplex
propBreitWigner(
const
double
& m0,
const
double
& g0,
const
double
& m );
114
EvtComplex
propBreitWignerRel(
const
double
& m0,
const
double
& g0,
const
double
& m );
115
EvtComplex
propBreitWignerRel(
const
double
& m0,
const
EvtComplex
& g0,
const
double
& m );
116
EvtComplex
propBreitWignerRelCoupled(
const
double
& m0,
const
EvtComplex
&
g1
,
117
const
EvtComplex
& g2,
const
double
& m );
118
EvtComplex
propGounarisSakurai(
const
double
& m0,
const
double
& g0,
const
double
& k0,
119
const
double
& m,
const
double
& g,
const
double
& k );
120
inline
double
GS_f(
const
double
& m0,
const
double
& g0,
const
double
& k0,
const
double
& m,
121
const
double
& k );
122
inline
double
GS_h(
const
double
& m,
const
double
& k );
123
inline
double
GS_dhods(
const
double
& m0,
const
double
& k0 );
124
inline
double
GS_d(
const
double
& m0,
const
double
& k0 );
125
126
EvtComplex
numerator(
const
EvtDalitzPoint
& p,
const
EvtTwoBodyKine
& vb,
127
const
EvtTwoBodyKine
& vd );
128
double
angDep(
const
EvtDalitzPoint
& p );
129
EvtComplex
mixFactor(
EvtComplex
prop,
EvtComplex
prop_mix );
130
EvtComplex
Fvector(
double
s
,
int
index );
131
EvtComplex
lass(
double
s
);
132
133
// Dalitz plot
134
EvtDalitzPlot
_dp;
135
136
// Pairing indices:
137
EvtCyclic3::Pair
_pairAng;
// angular
138
EvtCyclic3::Pair
_pairRes;
// resonance
139
140
// Spin
141
EvtSpinType::spintype
_spin;
142
143
// Numerator type
144
NumType
_typeN;
145
146
// Nominal mass and width
147
double
_m0, _g0;
148
149
// Vertices
150
EvtTwoBodyVertex
_vb;
151
EvtTwoBodyVertex
_vd;
152
153
// Daughter masses
154
double
_massFirst, _massSecond;
155
156
// variables for electromagnetic mass mixing
157
double
_m0_mix, _g0_mix, _delta_mix;
158
EvtComplex
_amp_mix;
159
160
// variables for coupled Breit-Wigner
161
double
_g1, _g2;
162
CouplingType
_coupling2;
163
164
// K-matrix
165
int
_kmatrix_index;
166
EvtComplex
_fr12prod, _fr13prod, _fr14prod, _fr15prod;
167
double
_s0prod;
168
169
// LASS
170
double
_a;
171
double
_r;
172
double
_Blass;
173
double
_phiB;
174
double
_R;
175
double
_phiR;
176
};
177
178
#endif
g1
TF1 * g1
Definition
DataBase/tau_mode.c:58
EvtBlattWeisskopf.hh
EvtComplex.hh
EvtCyclic3.hh
EvtDalitzPoint.hh
EvtDecayAmp.hh
EvtSpinType.hh
EvtTwoBodyVertex.hh
s
XmlRpcServer s
Definition
HelloServer.cpp:11
EvtBlattWeisskopf
Definition
EvtBlattWeisskopf.hh:16
EvtComplex
Definition
EvtComplex.hh:28
EvtDalitzPlot
Definition
EvtDalitzPlot.hh:25
EvtDalitzPoint
Definition
EvtDalitzPoint.hh:27
EvtDalitzReso
Definition
EvtDalitzReso.hh:34
EvtDalitzReso::evaluate
EvtComplex evaluate(const EvtDalitzPoint &p)
Definition
EvtDalitzReso.cc:268
EvtDalitzReso::CouplingType
CouplingType
Definition
EvtDalitzReso.hh:62
EvtDalitzReso::KK
@ KK
Definition
EvtDalitzReso.hh:69
EvtDalitzReso::PiPi
@ PiPi
Definition
EvtDalitzReso.hh:66
EvtDalitzReso::PizPiz
@ PizPiz
Definition
EvtDalitzReso.hh:65
EvtDalitzReso::EtaPic
@ EtaPic
Definition
EvtDalitzReso.hh:70
EvtDalitzReso::WA76
@ WA76
Definition
EvtDalitzReso.hh:73
EvtDalitzReso::KzKz
@ KzKz
Definition
EvtDalitzReso.hh:68
EvtDalitzReso::EtaPiz
@ EtaPiz
Definition
EvtDalitzReso.hh:71
EvtDalitzReso::KcKc
@ KcKc
Definition
EvtDalitzReso.hh:67
EvtDalitzReso::PicPicKK
@ PicPicKK
Definition
EvtDalitzReso.hh:72
EvtDalitzReso::PicPic
@ PicPic
Definition
EvtDalitzReso.hh:64
EvtDalitzReso::Undefined
@ Undefined
Definition
EvtDalitzReso.hh:63
EvtDalitzReso::NumType
NumType
Definition
EvtDalitzReso.hh:37
EvtDalitzReso::RBW_ZEMACH
@ RBW_ZEMACH
Definition
EvtDalitzReso.hh:39
EvtDalitzReso::GS_CLEO
@ GS_CLEO
Definition
EvtDalitzReso.hh:43
EvtDalitzReso::GAUSS_CLEO
@ GAUSS_CLEO
Definition
EvtDalitzReso.hh:50
EvtDalitzReso::RBW_CLEO
@ RBW_CLEO
Definition
EvtDalitzReso.hh:41
EvtDalitzReso::RBW_ZEMACH2
@ RBW_ZEMACH2
Definition
EvtDalitzReso.hh:42
EvtDalitzReso::K_MATRIX_II
@ K_MATRIX_II
Definition
EvtDalitzReso.hh:49
EvtDalitzReso::RBW_KUEHN
@ RBW_KUEHN
Definition
EvtDalitzReso.hh:40
EvtDalitzReso::K_MATRIX
@ K_MATRIX
Definition
EvtDalitzReso.hh:44
EvtDalitzReso::GAUSS_CLEO_ZEMACH
@ GAUSS_CLEO_ZEMACH
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::K_MATRIX_I
@ K_MATRIX_I
Definition
EvtDalitzReso.hh:48
EvtDalitzReso::RBW_CLEO_ZEMACH
@ RBW_CLEO_ZEMACH
Definition
EvtDalitzReso.hh:45
EvtDalitzReso::GS_CLEO_ZEMACH
@ GS_CLEO_ZEMACH
Definition
EvtDalitzReso.hh:46
EvtDalitzReso::LASS
@ LASS
Definition
EvtDalitzReso.hh:47
EvtDalitzReso::NBW
@ NBW
Definition
EvtDalitzReso.hh:38
EvtDalitzReso::clone
EvtDalitzReso * clone() const
Definition
EvtDalitzReso.hh:102
EvtDalitzReso::~EvtDalitzReso
~EvtDalitzReso()
Definition
EvtDalitzReso.cc:266
EvtDalitzReso::EvtDalitzReso
EvtDalitzReso()
Definition
EvtDalitzReso.hh:76
EvtDalitzReso::set_fb
void set_fb(double R)
Definition
EvtDalitzReso.hh:107
EvtDalitzReso::set_fd
void set_fd(double R)
Definition
EvtDalitzReso.hh:106
EvtSpinType::spintype
spintype
Definition
EvtSpinType.hh:30
EvtTwoBodyKine
Definition
EvtTwoBodyKine.hh:17
EvtTwoBodyVertex
Definition
EvtTwoBodyVertex.hh:21
EvtCyclic3::Pair
Pair
Definition
EvtCyclic3.hh:20
8.0.0
BOSS_Gen
BesEvtGen
src
EvtGen
EvtGenBase
EvtDalitzReso.hh
Generated by
1.16.1