BOSS
7.1.1
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 <string>
18
#include <vector>
19
#include <map>
20
21
#include "
EvtGenBase/EvtComplex.hh
"
22
#include "
EvtGenBase/EvtCyclic3.hh
"
23
#include "
EvtGenBase/EvtSpinType.hh
"
24
#include "
EvtGenBase/EvtTwoBodyVertex.hh
"
25
#include "
EvtGenBase/EvtDalitzPoint.hh
"
26
#include "
EvtGenBase/EvtDecayAmp.hh
"
27
#include "
EvtGenBase/EvtBlattWeisskopf.hh
"
28
29
using
std::vector;
30
using
std::map;
31
32
class
EvtBlattWeisskopf
;
33
34
class
EvtDalitzReso
35
{
36
public
:
37
// Numerator type
38
enum
NumType
{
NBW
= 0 ,
RBW_ZEMACH
= 1 ,
RBW_KUEHN
= 2 ,
RBW_CLEO
= 3 ,
39
RBW_ZEMACH2
= 4 ,
GS_CLEO
= 5 ,
K_MATRIX
= 6 ,
RBW_CLEO_ZEMACH
= 7 ,
40
GS_CLEO_ZEMACH
= 8 ,
LASS
= 9 ,
K_MATRIX_I
= 10,
K_MATRIX_II
= 11,
41
GAUSS_CLEO
= 12,
GAUSS_CLEO_ZEMACH
= 13 };
42
43
// Coupling type
44
// ChgPion : pi+ pi-
45
// NeuPion : pi0 pi0
46
// Pion : 0.5*[(pi+ pi-) + (pi0 pi0)]
47
// ChgKaon : K+ K-
48
// NeuKaon : K0 K0
49
// Kaon : 0.5*[(K+ K-) + (K0 K0)]
50
// EtaPion : eta pi0
51
enum
CouplingType
{
Undefined
=0,
PicPic
=1,
PizPiz
,
PiPi
,
KcKc
,
KzKz
,
KK
,
EtaPic
,
EtaPiz
,
PicPicKK
,
WA76
};
52
53
EvtDalitzReso
() {};
54
55
EvtDalitzReso
(
const
EvtDalitzPlot
& dp,
EvtCyclic3::Pair
pairAng,
EvtCyclic3::Pair
pairRes,
56
EvtSpinType::spintype
spin,
double
m0,
double
g0,
NumType
typeN);
57
58
EvtDalitzReso
(
const
EvtDalitzPlot
& dp,
EvtCyclic3::Pair
pairAng,
EvtCyclic3::Pair
pairRes,
59
EvtSpinType::spintype
spin,
double
m0,
double
g0,
NumType
typeN,
60
double
m0_mix,
double
g0_mix,
double
delta_mix,
EvtComplex
amp_mix);
61
62
EvtDalitzReso
(
const
EvtDalitzPlot
& dp,
EvtCyclic3::Pair
pairAng,
EvtCyclic3::Pair
pairRes,
63
EvtSpinType::spintype
spin,
double
m0,
NumType
typeN,
double
g1
,
double
g2,
CouplingType
coupling2);
64
65
// K-matrix
66
EvtDalitzReso
(
const
EvtDalitzPlot
& dp,
EvtCyclic3::Pair
pairRes, std::string nameIndex,
NumType
typeN,
67
EvtComplex
fr12prod,
EvtComplex
fr13prod,
EvtComplex
fr14prod,
EvtComplex
fr15prod,
double
s0prod);
68
69
// LASS
70
EvtDalitzReso
(
const
EvtDalitzPlot
& dp,
EvtCyclic3::Pair
pairRes,
double
m0,
double
g0,
71
double
a,
double
r,
double
B,
double
phiB,
double
R,
double
phiR);
72
73
EvtDalitzReso
(
const
EvtDalitzReso
& other);
74
75
~EvtDalitzReso
();
76
77
EvtDalitzReso
*
clone
()
const
{
return
new
EvtDalitzReso
(*
this
); }
78
79
EvtComplex
evaluate
(
const
EvtDalitzPoint
& p);
80
81
void
set_fd
(
double
R ) { _vd.
set_f
( R ); }
82
void
set_fb
(
double
R ) { _vb.
set_f
( R ); }
83
84
private
:
85
EvtComplex
psFactor(
double
& ma,
double
& mb,
double
& m);
86
EvtComplex
psFactor(
double
& ma1,
double
& mb1,
double
& ma2,
double
& mb2,
double
& m);
87
EvtComplex
propGauss(
const
double
& m0,
const
double
& s0,
const
double
& m);
88
EvtComplex
propBreitWigner(
const
double
& m0,
const
double
& g0,
const
double
& m);
89
EvtComplex
propBreitWignerRel(
const
double
& m0,
const
double
& g0,
const
double
& m);
90
EvtComplex
propBreitWignerRel(
const
double
& m0,
const
EvtComplex
& g0,
const
double
& m);
91
EvtComplex
propBreitWignerRelCoupled(
const
double
& m0,
const
EvtComplex
&
g1
,
const
EvtComplex
& g2,
const
double
& m);
92
EvtComplex
propGounarisSakurai(
const
double
& m0,
const
double
& g0,
const
double
& k0,
93
const
double
& m,
const
double
& g,
const
double
& k);
94
inline
double
GS_f(
const
double
& m0,
const
double
& g0,
const
double
& k0,
const
double
& m,
const
double
& k);
95
inline
double
GS_h(
const
double
& m,
const
double
& k);
96
inline
double
GS_dhods(
const
double
& m0,
const
double
& k0);
97
inline
double
GS_d(
const
double
& m0,
const
double
& k0);
98
99
EvtComplex
numerator(
const
EvtDalitzPoint
& p,
const
EvtTwoBodyKine
& vb,
const
EvtTwoBodyKine
& vd);
100
double
angDep(
const
EvtDalitzPoint
& p);
101
EvtComplex
mixFactor(
EvtComplex
prop,
EvtComplex
prop_mix);
102
EvtComplex
Fvector(
double
s
,
int
index );
103
EvtComplex
lass(
double
s
);
104
105
// Dalitz plot
106
EvtDalitzPlot
_dp;
107
108
// Pairing indices:
109
EvtCyclic3::Pair
_pairAng;
// angular
110
EvtCyclic3::Pair
_pairRes;
// resonance
111
112
// Spin
113
EvtSpinType::spintype
_spin;
114
115
// Numerator type
116
NumType
_typeN;
117
118
// Nominal mass and width
119
double
_m0,_g0;
120
121
// Vertices
122
EvtTwoBodyVertex
_vb;
123
EvtTwoBodyVertex
_vd;
124
125
// Daughter masses
126
double
_massFirst,_massSecond;
127
128
// variables for electromagnetic mass mixing
129
double
_m0_mix,_g0_mix,_delta_mix;
130
EvtComplex
_amp_mix;
131
132
// variables for coupled Breit-Wigner
133
double
_g1,_g2;
134
CouplingType
_coupling2;
135
136
// K-matrix
137
int
_kmatrix_index;
138
EvtComplex
_fr12prod,_fr13prod,_fr14prod,_fr15prod;
139
double
_s0prod;
140
141
// LASS
142
double
_a;
143
double
_r;
144
double
_Blass;
145
double
_phiB;
146
double
_R;
147
double
_phiR;
148
};
149
150
#endif
151
g1
TF1 * g1
Definition
DataBase/tau_mode.c:66
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:35
EvtDalitzReso::evaluate
EvtComplex evaluate(const EvtDalitzPoint &p)
Definition
EvtDalitzReso.cc:177
EvtDalitzReso::CouplingType
CouplingType
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::KK
@ KK
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::PiPi
@ PiPi
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::PizPiz
@ PizPiz
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::EtaPic
@ EtaPic
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::WA76
@ WA76
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::KzKz
@ KzKz
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::EtaPiz
@ EtaPiz
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::KcKc
@ KcKc
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::PicPicKK
@ PicPicKK
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::PicPic
@ PicPic
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::Undefined
@ Undefined
Definition
EvtDalitzReso.hh:51
EvtDalitzReso::NumType
NumType
Definition
EvtDalitzReso.hh:38
EvtDalitzReso::RBW_ZEMACH
@ RBW_ZEMACH
Definition
EvtDalitzReso.hh:38
EvtDalitzReso::GS_CLEO
@ GS_CLEO
Definition
EvtDalitzReso.hh:39
EvtDalitzReso::GAUSS_CLEO
@ GAUSS_CLEO
Definition
EvtDalitzReso.hh:41
EvtDalitzReso::RBW_CLEO
@ RBW_CLEO
Definition
EvtDalitzReso.hh:38
EvtDalitzReso::RBW_ZEMACH2
@ RBW_ZEMACH2
Definition
EvtDalitzReso.hh:39
EvtDalitzReso::K_MATRIX_II
@ K_MATRIX_II
Definition
EvtDalitzReso.hh:40
EvtDalitzReso::RBW_KUEHN
@ RBW_KUEHN
Definition
EvtDalitzReso.hh:38
EvtDalitzReso::K_MATRIX
@ K_MATRIX
Definition
EvtDalitzReso.hh:39
EvtDalitzReso::GAUSS_CLEO_ZEMACH
@ GAUSS_CLEO_ZEMACH
Definition
EvtDalitzReso.hh:41
EvtDalitzReso::K_MATRIX_I
@ K_MATRIX_I
Definition
EvtDalitzReso.hh:40
EvtDalitzReso::RBW_CLEO_ZEMACH
@ RBW_CLEO_ZEMACH
Definition
EvtDalitzReso.hh:39
EvtDalitzReso::GS_CLEO_ZEMACH
@ GS_CLEO_ZEMACH
Definition
EvtDalitzReso.hh:40
EvtDalitzReso::LASS
@ LASS
Definition
EvtDalitzReso.hh:40
EvtDalitzReso::NBW
@ NBW
Definition
EvtDalitzReso.hh:38
EvtDalitzReso::clone
EvtDalitzReso * clone() const
Definition
EvtDalitzReso.hh:77
EvtDalitzReso::~EvtDalitzReso
~EvtDalitzReso()
Definition
EvtDalitzReso.cc:173
EvtDalitzReso::EvtDalitzReso
EvtDalitzReso()
Definition
EvtDalitzReso.hh:53
EvtDalitzReso::set_fb
void set_fb(double R)
Definition
EvtDalitzReso.hh:82
EvtDalitzReso::set_fd
void set_fd(double R)
Definition
EvtDalitzReso.hh:81
EvtSpinType::spintype
spintype
Definition
EvtSpinType.hh:31
EvtTwoBodyKine
Definition
EvtTwoBodyKine.hh:17
EvtTwoBodyVertex
Definition
EvtTwoBodyVertex.hh:21
EvtTwoBodyVertex::set_f
void set_f(double R)
Definition
EvtTwoBodyVertex.cc:50
EvtCyclic3::Pair
Pair
Definition
EvtCyclic3.hh:21
7.1.1
Generator
BesEvtGen
BesEvtGen-00-04-28
src
EvtGen
EvtGenBase
EvtDalitzReso.hh
Generated by
1.12.0