EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
EvtGenModels
EvtBtoKD3P.hh
Go to the documentation of this file.
1
2
/***********************************************************************
3
* Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4
* *
5
* This file is part of EvtGen. *
6
* *
7
* EvtGen is free software: you can redistribute it and/or modify *
8
* it under the terms of the GNU General Public License as published by *
9
* the Free Software Foundation, either version 3 of the License, or *
10
* (at your option) any later version. *
11
* *
12
* EvtGen is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15
* GNU General Public License for more details. *
16
* *
17
* You should have received a copy of the GNU General Public License *
18
* along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19
***********************************************************************/
20
21
#ifndef EVT_BTOKD3P
22
#define EVT_BTOKD3P
23
24
class
EvtParticle
;
25
#include "
EvtGenBase/EvtComplex.hh
"
26
#include "
EvtGenBase/EvtDecayAmp.hh
"
27
28
// Decay model that does the decay B+ -> K+ D , D -> 3 psudoscalars.
29
//
30
// The B- daughters specified in the decay file should be K-, D0, D0,
31
// where the first D0 is produced via b->c decay and the second via b->u.
32
// In reality, only one D daughter exists, so the first two
33
// daughters must be defined to decay to the same final state using
34
// the EvtPto3P model, but with CP-conjugate amplitudes.
35
//
36
// For a given point in the Pto3P Dalitz plot,
37
// the total amplitude is \propto [A1 + A2 r exp(i(phase))], where
38
//
39
// A1 & A2 are the amplitudes of the D0 and D0bar to decay into that
40
// Dalitz plot point,
41
//
42
// r is the (positive) ratio between the A(B->B0bar K) and A(B->D0 K)
43
// B decay amplitudes,
44
//
45
// phase is the total phase difference (weak phase + strong phase) between
46
// A(B->D0bar K) and A(B->B0 K).
47
//
48
// Note that this model knows nothing about your convention for the
49
// sign of the phase, so when specifying the decay of a B- you need to
50
// change the order of D0 and D0bar and change the total phase so that
51
// the sign of the weak phase flips with respect to the parameters of B+.
52
53
class
EvtBtoKD3P
:
public
EvtDecayAmp
{
54
public
:
55
EvtDecayBase
*
clone
()
const override
;
56
57
// Initialize model
58
void
init
()
override
;
59
void
initProbMax
()
override
;
60
void
decay
(
EvtParticle
* p )
override
;
61
62
// we really have two daughters, although three are listed in the .dec file:
63
int
nRealDaughters
()
const override
{
return
2; }
64
65
std::string
getName
()
const override
;
66
67
protected
:
68
// parameters:
69
double
m_r
;
70
EvtComplex
m_exp
;
71
72
// other:
73
const
EvtDecayBase
*
m_model1
=
nullptr
;
74
const
EvtDecayBase
*
m_model2
=
nullptr
;
75
bool
m_decayedOnce
=
false
;
76
};
77
78
#endif
EvtComplex.hh
EvtDecayAmp.hh
EvtBtoKD3P
Definition
EvtBtoKD3P.hh:53
EvtBtoKD3P::initProbMax
void initProbMax() override
Definition
EvtBtoKD3P.cpp:70
EvtBtoKD3P::nRealDaughters
int nRealDaughters() const override
Definition
EvtBtoKD3P.hh:63
EvtBtoKD3P::decay
void decay(EvtParticle *p) override
Definition
EvtBtoKD3P.cpp:76
EvtBtoKD3P::getName
std::string getName() const override
Definition
EvtBtoKD3P.cpp:43
EvtBtoKD3P::m_r
double m_r
Definition
EvtBtoKD3P.hh:69
EvtBtoKD3P::m_exp
EvtComplex m_exp
Definition
EvtBtoKD3P.hh:70
EvtBtoKD3P::init
void init() override
Definition
EvtBtoKD3P.cpp:49
EvtBtoKD3P::m_model1
const EvtDecayBase * m_model1
Definition
EvtBtoKD3P.hh:73
EvtBtoKD3P::clone
EvtDecayBase * clone() const override
Definition
EvtBtoKD3P.cpp:37
EvtBtoKD3P::m_decayedOnce
bool m_decayedOnce
Definition
EvtBtoKD3P.hh:75
EvtBtoKD3P::m_model2
const EvtDecayBase * m_model2
Definition
EvtBtoKD3P.hh:74
EvtComplex
Definition
EvtComplex.hh:29
EvtDecayAmp
Definition
EvtDecayAmp.hh:29
EvtDecayBase::EvtDecayBase
EvtDecayBase()=default
EvtParticle
Definition
EvtParticle.hh:45
Generated by
1.16.1