StRoot
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
StarGenerator
EvtGen1_06_00
EvtGenModels
EvtBBScalar.hh
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) 2003 Caltech
10
//
11
// Module: EvtGen/EvtBBScalar
12
//
13
// Description:Implementation of the decay B- -> lambda p_bar pi according to
14
// hep-ph/0204185, hep-ph/0211240
15
// This model is intended to be applicable to all decays of the type B-> baryon baryon scalar
16
//
17
// Modification history:
18
//
19
// Jan Strube March 24th, 2006 Module created
20
//
21
//------------------------------------------------------------------------
22
23
#ifndef EVTBBSCALAR_HH
24
#define EVTBBSCALAR_HH
25
26
#include "EvtGenBase/EvtDecayAmp.hh"
27
#include "EvtGenBase/EvtPDL.hh"
28
#include "EvtGenBase/EvtComplex.hh"
29
#include "EvtGenBase/EvtParticle.hh"
30
#include "EvtGenBase/EvtScalarParticle.hh"
31
#include "EvtGenBase/EvtDiracParticle.hh"
32
#include "EvtGenBase/EvtConst.hh"
33
#include "EvtGenBase/EvtId.hh"
34
#include "EvtGenBase/EvtVector4C.hh"
35
36
#include <map>
37
#include <string>
38
#include <vector>
39
#include <bitset>
40
41
struct
FormFactor
{
42
double
value;
43
double
sigma1;
44
double
sigma2;
45
double
mV;
46
};
47
48
enum
Baryons {
49
Lambda, Proton, Neutron, Sigma0, Sigma_minus, Xi0, Xi_minus, nBaryons
50
};
51
52
53
class
EvtBBScalar
:
public
EvtDecayAmp
{
54
55
public
:
56
EvtBBScalar
();
57
std::string getName();
58
EvtDecayBase
* clone();
59
void
decay(
EvtParticle
* p);
60
void
init();
61
void
initProbMax();
62
63
private
:
64
// used values of constants
65
static
const
EvtComplex
I;
66
static
const
EvtComplex
V_ub;
67
static
const
EvtComplex
V_us_star;
68
static
const
EvtComplex
a1;
69
static
const
EvtComplex
V_tb;
70
static
const
EvtComplex
V_ts_star;
71
static
const
EvtComplex
a4;
72
static
const
EvtComplex
a6;
73
74
// used parameters in the calculation of the magnetic form factors
75
static
const
double
x[];
76
static
const
double
y[];
77
// quark masses as used in the model
78
static
const
double
m_s;
79
static
const
double
m_u;
80
static
const
double
m_b;
81
82
// used to choose the right value for the form factor depending on the type of scalar
83
std::string _scalarType;
84
mutable
std::map<std::string, FormFactor> _f0Map;
85
mutable
std::map<std::string, FormFactor> _f1Map;
86
87
// only consider F1+F2 here
88
std::bitset<nBaryons> _baryonCombination;
89
void
setKnownBaryonTypes(
const
EvtId
& baryon);
90
91
double
B_pi_f1(
double
t)
const
;
92
double
B_pi_f0(
double
t)
const
;
93
double
baryonF1F2(
double
t)
const
;
94
double
G_p(
double
t)
const
;
95
double
G_n(
double
t)
const
;
96
97
double
baryon_gA(
double
t)
const
;
98
double
baryon_hA(
double
t)
const
;
99
double
baryon_gP(
double
t)
const
;
100
double
baryon_fS(
double
t)
const
;
101
102
double
D_A(
double
t)
const
;
103
double
F_A(
double
t)
const
;
104
double
D_P(
double
t)
const
;
105
double
F_P(
double
t)
const
;
106
double
D_S(
double
t)
const
;
107
double
F_S(
double
t)
const
;
108
109
// (mB1 - mB2)/(mq1 - mq1)
110
double
_massRatio;
111
double
_baryonMassSum;
112
double
formFactorFit(
double
t,
const
std::vector<double>&
params
)
const
;
113
114
static
const
EvtComplex
const_B;
115
static
const
EvtComplex
const_C;
116
const
EvtVector4C
117
amp_A(
const
EvtVector4R
& p4B,
const
EvtVector4R
& p4Scalar);
118
const
EvtComplex
119
amp_B(
const
EvtDiracParticle
* baryon1,
const
EvtDiracSpinor
& b1Pol
120
,
const
EvtDiracParticle
* baryon2,
const
EvtDiracSpinor
& b2Pol
121
,
int
index);
122
const
EvtComplex
123
amp_B_vectorPart(
const
EvtDiracParticle
* baryon1,
const
EvtDiracSpinor
& b1Pol
124
,
const
EvtDiracParticle
* baryon2,
const
EvtDiracSpinor
& b2Pol
125
,
int
index);
126
const
EvtComplex
127
amp_B_axialPart(
const
EvtDiracParticle
* baryon1,
const
EvtDiracSpinor
& b1Pol
128
,
const
EvtDiracParticle
* baryon2,
const
EvtDiracSpinor
& b2Pol
129
,
int
index);
130
const
EvtComplex
131
amp_C(
const
EvtDiracParticle
* baryon1,
const
EvtDiracSpinor
& b1Pol
132
,
const
EvtDiracParticle
* baryon2,
const
EvtDiracSpinor
& b2Pol
133
,
int
index);
134
const
EvtComplex
135
amp_C_scalarPart(
const
EvtDiracSpinor
& b1Pol,
const
EvtDiracSpinor
& b2Pol,
double
t);
136
const
EvtComplex
137
amp_C_pseudoscalarPart(
const
EvtDiracSpinor
& b1Pol,
const
EvtDiracSpinor
& b2Pol,
double
t);
138
139
// initialize phasespace and calculate the amplitude for one (i=0,1) state of the photon
140
EvtComplex
calcAmpliude(
const
EvtParticle
* p,
const
unsigned
int
polState);
141
};
142
143
#endif
EvtVector4R
Definition:
EvtVector4R.hh:29
EvtBBScalar
Definition:
EvtBBScalar.hh:53
EvtDiracSpinor
Definition:
EvtDiracSpinor.hh:33
EvtDecayBase
Definition:
EvtDecayBase.hh:33
EvtId
Definition:
EvtId.hh:27
EvtDecayAmp
Definition:
EvtDecayAmp.hh:27
params
Definition:
St_geant_Maker.cxx:797
EvtDiracParticle
Definition:
EvtDiracParticle.hh:30
EvtVector4C
Definition:
EvtVector4C.hh:30
EvtParticle
Definition:
EvtParticle.hh:45
FormFactor
Definition:
EvtBBScalar.hh:41
EvtComplex
Definition:
EvtComplex.hh:28
Generated by
1.8.5