BOSS
8.0.0
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/EvtCyclic3.hh
"
18
#include "
../EvtGenBase/EvtDalitzPoint.hh
"
19
#include "
../EvtGenBase/EvtDalitzReso.hh
"
20
#include "
../EvtGenBase/EvtDecayAmp.hh
"
21
#include "
../EvtGenBase/EvtId.hh
"
22
#include "
../EvtGenBase/EvtPDL.hh
"
23
#include "
../EvtGenBase/EvtSpinType.hh
"
24
25
class
EvtD0mixDalitz
:
public
EvtDecayAmp
{
26
private
:
27
int
_d1;
28
int
_d2;
29
int
_d3;
30
31
// Mixing parameters.
32
double
_x;
33
double
_y;
34
35
// q/p CP violation in the mixing.
36
EvtComplex
_qp;
37
38
// Checker of the decay mode.
39
bool
_isKsPiPi;
40
bool
_isRBWmodel;
41
42
// Useful constants.
43
static
const
EvtSpinType::spintype
& _SCALAR;
44
static
const
EvtSpinType::spintype
& _VECTOR;
45
static
const
EvtSpinType::spintype
& _TENSOR;
46
47
static
const
EvtDalitzReso::CouplingType
& _EtaPic;
48
static
const
EvtDalitzReso::CouplingType
& _PicPicKK;
49
50
static
const
EvtDalitzReso::NumType
& _RBW;
51
static
const
EvtDalitzReso::NumType
& _GS;
52
static
const
EvtDalitzReso::NumType
& _KMAT;
53
54
static
const
EvtCyclic3::Pair
& _AB;
55
static
const
EvtCyclic3::Pair
& _AC;
56
static
const
EvtCyclic3::Pair
& _BC;
57
58
// Values to be read or computed based on values in the evt.pdl file.
59
// IDs of the relevant particles.
60
EvtId
_D0;
61
EvtId
_D0B;
62
EvtId
_KM;
63
EvtId
_KP;
64
EvtId
_K0;
65
EvtId
_K0B;
66
EvtId
_KL;
67
EvtId
_KS;
68
EvtId
_PIM;
69
EvtId
_PIP;
70
71
// Masses of the relevant particles.
72
double
_mD0;
73
double
_mKs;
74
double
_mPi;
75
double
_mK;
76
77
// Life time and decay rate.
78
double
_ctau;
79
double
_gamma;
80
81
// Some useful integrals over the Dalitz plot.
82
EvtComplex
_iChi;
83
EvtComplex
_iChi2;
84
85
void
readPDGValues();
86
EvtComplex
dalitzKsPiPi(
const
EvtDalitzPoint
& point );
87
EvtComplex
dalitzKsKK(
const
EvtDalitzPoint
& point );
88
89
// Time evolution functions for hamiltonian eigenstates.
90
// Negative exponential part removed.
91
EvtComplex
h1(
const
double
& ct )
const
;
92
EvtComplex
h2(
const
double
& ct )
const
;
93
94
void
reportInvalidAndExit()
const
{
95
report
(
ERROR
,
"EvtD0mixDalitz"
) <<
"EvtD0mixDalitz: Invalid mode."
<< std::endl;
96
exit( 1 );
97
}
98
99
public
:
100
EvtD0mixDalitz
()
101
: _d1( 0 )
102
, _d2( 0 )
103
, _d3( 0 )
104
, _x( 0. )
105
, _y( 0. )
106
, _qp( 1. )
107
, _isKsPiPi( false )
108
, _isRBWmodel( true ) {}
109
110
virtual
~EvtD0mixDalitz
(){};
111
112
// One-line inline functions.
113
void
getName
( std::string& model_name ) { model_name =
"D0MIXDALITZ"
; }
114
EvtDecayBase
*
clone
() {
return
new
EvtD0mixDalitz
; }
115
void
initProbMax
() {
setProbMax
( 5200. ); }
116
117
void
init
();
118
void
decay
(
EvtParticle
* p );
119
};
120
121
#endif
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:34
ERROR
@ ERROR
Definition
EvtReport.hh:49
EvtSpinType.hh
EvtComplex
Definition
EvtComplex.hh:28
EvtD0mixDalitz::~EvtD0mixDalitz
virtual ~EvtD0mixDalitz()
Definition
EvtD0mixDalitz.hh:110
EvtD0mixDalitz::EvtD0mixDalitz
EvtD0mixDalitz()
Definition
EvtD0mixDalitz.hh:100
EvtD0mixDalitz::decay
void decay(EvtParticle *p)
Definition
EvtD0mixDalitz.cc:104
EvtD0mixDalitz::init
void init()
Definition
EvtD0mixDalitz.cc:38
EvtD0mixDalitz::clone
EvtDecayBase * clone()
Definition
EvtD0mixDalitz.hh:114
EvtD0mixDalitz::initProbMax
void initProbMax()
Definition
EvtD0mixDalitz.hh:115
EvtD0mixDalitz::getName
void getName(std::string &model_name)
Definition
EvtD0mixDalitz.hh:113
EvtDalitzPoint
Definition
EvtDalitzPoint.hh:27
EvtDalitzReso::CouplingType
CouplingType
Definition
EvtDalitzReso.hh:62
EvtDalitzReso::NumType
NumType
Definition
EvtDalitzReso.hh:37
EvtDecayAmp
Definition
EvtDecayAmp.hh:27
EvtDecayBase::EvtDecayBase
EvtDecayBase()
Definition
EvtDecayBase.cc:205
EvtDecayBase::setProbMax
void setProbMax(double prbmx)
Definition
EvtDecayBase.cc:261
EvtId
Definition
EvtId.hh:27
EvtParticle
Definition
EvtParticle.hh:42
EvtSpinType::spintype
spintype
Definition
EvtSpinType.hh:30
EvtCyclic3::Pair
Pair
Definition
EvtCyclic3.hh:20
8.0.0
BOSS_Gen
BesEvtGen
src
EvtGen
EvtGenModels
EvtD0mixDalitz.hh
Generated by
1.16.1