BOSS
7.0.8
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0mixDalitz.hh
Go to the documentation of this file.
1
/*****************************************************************************
2
* Project: BaBar detector at the SLAC PEP-II B-factory
3
* Package: EvtGenModels
4
* File: $Id: EvtD0mixDalitz.hh,v 1.1 2009/05/08 01:59:56 pingrg Exp $
5
*
6
* Description:
7
* The D0mixDalitz model, with many resonances and mixing implemented.
8
*
9
* Modification history:
10
* Jordi Garra Tic� 2008/07/03 File created
11
*****************************************************************************/
12
13
#ifndef __EVTD0MIXDALITZ_HH__
14
#define __EVTD0MIXDALITZ_HH__
15
16
#include "
EvtGenBase/EvtComplex.hh
"
17
#include "
EvtGenBase/EvtPDL.hh
"
18
#include "
EvtGenBase/EvtId.hh
"
19
#include "
EvtGenBase/EvtDecayAmp.hh
"
20
#include "
EvtGenBase/EvtDalitzPoint.hh
"
21
#include "
EvtGenBase/EvtSpinType.hh
"
22
#include "
EvtGenBase/EvtDalitzReso.hh
"
23
#include "
EvtGenBase/EvtCyclic3.hh
"
24
25
26
class
EvtD0mixDalitz
:
public
EvtDecayAmp
27
{
28
private
:
29
int
_d1;
30
int
_d2;
31
int
_d3;
32
33
// Mixing parameters.
34
double
_x;
35
double
_y;
36
37
// q/p CP violation in the mixing.
38
EvtComplex
_qp;
39
40
// Checker of the decay mode.
41
bool
_isKsPiPi;
42
bool
_isRBWmodel;
43
44
// Useful constants.
45
static
const
EvtSpinType::spintype
& _SCALAR;
46
static
const
EvtSpinType::spintype
& _VECTOR;
47
static
const
EvtSpinType::spintype
& _TENSOR;
48
49
static
const
EvtDalitzReso::CouplingType
& _EtaPic;
50
static
const
EvtDalitzReso::CouplingType
& _PicPicKK;
51
52
static
const
EvtDalitzReso::NumType
& _RBW;
53
static
const
EvtDalitzReso::NumType
& _GS;
54
static
const
EvtDalitzReso::NumType
& _KMAT;
55
56
static
const
EvtCyclic3::Pair
& _AB;
57
static
const
EvtCyclic3::Pair
& _AC;
58
static
const
EvtCyclic3::Pair
& _BC;
59
60
// Values to be read or computed based on values in the evt.pdl file.
61
// IDs of the relevant particles.
62
EvtId
_D0;
63
EvtId
_D0B;
64
EvtId
_KM;
65
EvtId
_KP;
66
EvtId
_K0;
67
EvtId
_K0B;
68
EvtId
_KL;
69
EvtId
_KS;
70
EvtId
_PIM;
71
EvtId
_PIP;
72
73
// Masses of the relevant particles.
74
double
_mD0;
75
double
_mKs;
76
double
_mPi;
77
double
_mK;
78
79
// Life time and decay rate.
80
double
_ctau;
81
double
_gamma;
82
83
// Some useful integrals over the Dalitz plot.
84
EvtComplex
_iChi;
85
EvtComplex
_iChi2;
86
87
void
readPDGValues();
88
EvtComplex
dalitzKsPiPi(
const
EvtDalitzPoint
& point );
89
EvtComplex
dalitzKsKK (
const
EvtDalitzPoint
& point );
90
91
// Time evolution functions for hamiltonian eigenstates.
92
// Negative exponential part removed.
93
EvtComplex
h1(
const
double
& ct )
const
;
94
EvtComplex
h2(
const
double
& ct )
const
;
95
96
void
reportInvalidAndExit()
const
97
{
98
report
(
ERROR
,
"EvtD0mixDalitz"
) <<
"EvtD0mixDalitz: Invalid mode."
<< std::endl;
99
exit( 1 );
100
}
101
public
:
102
EvtD0mixDalitz
() : _d1( 0 ), _d2( 0 ), _d3( 0 ),
103
_x( 0. ), _y( 0. ), _qp( 1. ),
104
_isKsPiPi(
false
), _isRBWmodel(
true
)
105
{}
106
107
virtual
~EvtD0mixDalitz
() {};
108
109
// One-line inline functions.
110
void
getName
(std::string& model_name) { model_name =
"D0MIXDALITZ"
; }
111
EvtDecayBase
*
clone
() {
return
new
EvtD0mixDalitz
; }
112
void
initProbMax
() {
setProbMax
( 5200. ); }
113
114
void
init
();
115
void
decay
(
EvtParticle
* p );
116
};
117
118
#endif
119
true
#define true
Definition:
BesCxxPolicy/BesCxxPolicy-00-01-01/CxxFeatures/config.h:19
false
#define false
Definition:
BesCxxPolicy/BesCxxPolicy-00-01-01/CxxFeatures/config.h:22
EvtComplex.hh
EvtCyclic3.hh
EvtDalitzPoint.hh
EvtDalitzReso.hh
EvtDecayAmp.hh
EvtId.hh
EvtPDL.hh
report
ostream & report(Severity severity, const char *facility)
Definition:
EvtReport.cc:36
ERROR
@ ERROR
Definition:
EvtReport.hh:49
EvtSpinType.hh
EvtComplex
Definition:
EvtComplex.hh:28
EvtD0mixDalitz
Definition:
EvtD0mixDalitz.hh:27
EvtD0mixDalitz::~EvtD0mixDalitz
virtual ~EvtD0mixDalitz()
Definition:
EvtD0mixDalitz.hh:107
EvtD0mixDalitz::EvtD0mixDalitz
EvtD0mixDalitz()
Definition:
EvtD0mixDalitz.hh:102
EvtD0mixDalitz::decay
void decay(EvtParticle *p)
Definition:
EvtD0mixDalitz.cc:117
EvtD0mixDalitz::init
void init()
Definition:
EvtD0mixDalitz.cc:40
EvtD0mixDalitz::clone
EvtDecayBase * clone()
Definition:
EvtD0mixDalitz.hh:111
EvtD0mixDalitz::initProbMax
void initProbMax()
Definition:
EvtD0mixDalitz.hh:112
EvtD0mixDalitz::getName
void getName(std::string &model_name)
Definition:
EvtD0mixDalitz.hh:110
EvtDalitzPoint
Definition:
EvtDalitzPoint.hh:27
EvtDalitzReso::CouplingType
CouplingType
Definition:
EvtDalitzReso.hh:51
EvtDalitzReso::NumType
NumType
Definition:
EvtDalitzReso.hh:38
EvtDecayAmp
Definition:
EvtDecayAmp.hh:27
EvtDecayBase
Definition:
EvtDecayBase.hh:33
EvtDecayBase::setProbMax
void setProbMax(double prbmx)
Definition:
EvtDecayBase.cc:297
EvtId
Definition:
EvtId.hh:27
EvtParticle
Definition:
EvtParticle.hh:42
EvtSpinType::spintype
spintype
Definition:
EvtSpinType.hh:31
EvtCyclic3::Pair
Pair
Definition:
EvtCyclic3.hh:21
source
Generator
BesEvtGen
BesEvtGen-00-04-08
src
EvtGen
EvtGenModels
EvtD0mixDalitz.hh
Generated by
1.9.6