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
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
24class EvtParticle;
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
53class 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;
71
72 // other:
73 const EvtDecayBase* m_model1 = nullptr;
74 const EvtDecayBase* m_model2 = nullptr;
75 bool m_decayedOnce = false;
76};
77
78#endif
void initProbMax() override
int nRealDaughters() const override
Definition EvtBtoKD3P.hh:63
void decay(EvtParticle *p) override
std::string getName() const override
double m_r
Definition EvtBtoKD3P.hh:69
EvtComplex m_exp
Definition EvtBtoKD3P.hh:70
void init() override
const EvtDecayBase * m_model1
Definition EvtBtoKD3P.hh:73
EvtDecayBase * clone() const override
bool m_decayedOnce
Definition EvtBtoKD3P.hh:75
const EvtDecayBase * m_model2
Definition EvtBtoKD3P.hh:74
EvtDecayBase()=default