EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Toggle main menu visibility
Loading...
Searching...
No Matches
EvtGenModels
EvtSVVHelCPMix.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 EVTSVVHELCPMIX_HH
22
#define EVTSVVHELCPMIX_HH
23
24
#include "
EvtGenBase/EvtDecayAmp.hh
"
25
26
//Class to handle decays of the form SCALAR -> VECTOR VECTOR
27
//according the the helicity amplitudes specified by the
28
//user. There are 6 arguements, orders as amplitude then
29
//phase for H+, H0, and H-, in that order.
30
//
31
// Description: Routine to decay scalar -> 2 vectors
32
// by specifying the helicity amplitudes, taking appropriate
33
// weak phases into account to get mixing and CP violation through
34
// interference. Based on EvtSVVHelAmp. Particularly appropriate for
35
// Bs->J/Psi+Phi
36
//
37
// Model takes the following as user-specified arguments:
38
// deltaM, averageM - mass diference and average of light and heavy mass eigenstates (real scalars)
39
// gamma, deltagamma - average width and width difference of the l and h eigenstates (real scalars)
40
// delta1, delta2 - strong phases (real scalars)
41
// direct weak phase (real scalar) (for Bs->JPsiPhi this will be zero)
42
// weak mixing phase (real scalar) (this is equal to 2*arg(Vts Vtb) for Bs->JPsiPhi)
43
// Magnitudes of helicity amplitudes as in SVV_HELAMP
44
// See Phys Rev D 34 p1404 - p1417 and chapters 5 and 7 of Physics Reports 370 p537-680 for more details
45
46
class
EvtAmp
;
47
class
EvtParticle
;
48
class
EvtId
;
49
50
class
EvtSVVHelCPMix
:
public
EvtDecayAmp
{
51
public
:
52
std::string
getName
()
const override
;
53
EvtDecayBase
*
clone
()
const override
;
54
55
void
init
()
override
;
56
57
void
initProbMax
()
override
;
58
59
void
decay
(
EvtParticle
* p )
override
;
60
61
std::string
getParamName
(
int
i )
override
;
62
std::string
getParamDefault
(
int
i )
override
;
63
64
private
:
65
EvtComplex
m_hp
;
66
EvtComplex
m_h0
;
67
EvtComplex
m_hm
;
68
double
m_averageM
;
69
double
m_deltaM
;
70
double
m_gamma
;
71
double
m_deltagamma
;
72
EvtComplex
m_strongphase1
;
73
EvtComplex
m_strongphase2
;
74
EvtComplex
m_weakmixingphase
;
75
EvtComplex
m_weakdirectphase
;
76
};
77
78
#endif
EvtDecayAmp.hh
EvtAmp
Definition
EvtAmp.hh:29
EvtComplex
Definition
EvtComplex.hh:29
EvtDecayAmp
Definition
EvtDecayAmp.hh:29
EvtDecayBase::EvtDecayBase
EvtDecayBase()=default
EvtId
Definition
EvtId.hh:27
EvtParticle
Definition
EvtParticle.hh:45
EvtSVVHelCPMix
Definition
EvtSVVHelCPMix.hh:50
EvtSVVHelCPMix::m_weakmixingphase
EvtComplex m_weakmixingphase
Definition
EvtSVVHelCPMix.hh:74
EvtSVVHelCPMix::m_strongphase1
EvtComplex m_strongphase1
Definition
EvtSVVHelCPMix.hh:72
EvtSVVHelCPMix::decay
void decay(EvtParticle *p) override
Definition
EvtSVVHelCPMix.cpp:81
EvtSVVHelCPMix::m_h0
EvtComplex m_h0
Definition
EvtSVVHelCPMix.hh:66
EvtSVVHelCPMix::m_deltaM
double m_deltaM
Definition
EvtSVVHelCPMix.hh:69
EvtSVVHelCPMix::getParamDefault
std::string getParamDefault(int i) override
Definition
EvtSVVHelCPMix.cpp:276
EvtSVVHelCPMix::m_weakdirectphase
EvtComplex m_weakdirectphase
Definition
EvtSVVHelCPMix.hh:75
EvtSVVHelCPMix::getName
std::string getName() const override
Definition
EvtSVVHelCPMix.cpp:40
EvtSVVHelCPMix::m_averageM
double m_averageM
Definition
EvtSVVHelCPMix.hh:68
EvtSVVHelCPMix::getParamName
std::string getParamName(int i) override
Definition
EvtSVVHelCPMix.cpp:244
EvtSVVHelCPMix::m_strongphase2
EvtComplex m_strongphase2
Definition
EvtSVVHelCPMix.hh:73
EvtSVVHelCPMix::m_hp
EvtComplex m_hp
Definition
EvtSVVHelCPMix.hh:65
EvtSVVHelCPMix::clone
EvtDecayBase * clone() const override
Definition
EvtSVVHelCPMix.cpp:45
EvtSVVHelCPMix::init
void init() override
Definition
EvtSVVHelCPMix.cpp:50
EvtSVVHelCPMix::m_gamma
double m_gamma
Definition
EvtSVVHelCPMix.hh:70
EvtSVVHelCPMix::m_deltagamma
double m_deltagamma
Definition
EvtSVVHelCPMix.hh:71
EvtSVVHelCPMix::m_hm
EvtComplex m_hm
Definition
EvtSVVHelCPMix.hh:67
EvtSVVHelCPMix::initProbMax
void initProbMax() override
Definition
EvtSVVHelCPMix.cpp:75
Generated by
1.17.0