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
EvtEtaLLPiPi.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_ETALLPIPI_HH
22
#define EVT_ETALLPIPI_HH
23
24
#include "
EvtGenBase/EvtConst.hh
"
25
#include "
EvtGenBase/EvtDecayProb.hh
"
26
27
#include <string>
28
29
class
EvtParticle
;
30
31
// eta' -> mu+ mu- pi+ pi- or e+ e- pi+ pi-
32
// From Zhang Zhen-Yu et al, Chinese Phys. C 36, p926, 2012
33
34
class
EvtEtaLLPiPi
:
public
EvtDecayProb
{
35
public
:
36
EvtEtaLLPiPi
() =
default
;
37
38
void
init
()
override
;
39
void
initProbMax
()
override
;
40
41
std::string
getName
()
const override
;
42
EvtDecayBase
*
clone
()
const override
;
43
44
void
decay
(
EvtParticle
* p )
override
;
45
46
private
:
47
void
updateMassPars
(
double
mLep,
double
mPi );
48
49
double
rhoWidth
(
double
s,
double
m )
const
;
50
51
double
F0
(
double
sLL,
double
sPiPi )
const
;
52
53
double
lambda
(
double
a,
double
b,
double
c )
const
;
54
55
double
ampSquared
(
EvtParticle
* p )
const
;
56
57
double
m_alpha
{ 1.0 / 137.0 };
58
double
m_eSq
{ 4.0 *
EvtConst::pi
*
m_alpha
};
59
double
m_fPi
{ 0.0924 };
60
double
m_f8
{ 1.3 *
m_fPi
};
61
double
m_f0
{ 1.04 *
m_fPi
};
62
double
m_thetaMix
{ 20.0 *
EvtConst::pi
/ 180.0 };
63
double
m_mixSq
{ 0.0 };
64
double
m_c1
{ 1.0 };
65
double
m_c2
{ 0.0 };
66
double
m_c3
{
m_c1
-
m_c2
};
// Eq 9
67
double
m_par1
{ 1.0 - ( 3.0 * (
m_c1
-
m_c2
+
m_c3
) / 4.0 ) };
68
double
m_parLL
{ 3.0 * (
m_c1
-
m_c2
-
m_c3
) / 4.0 };
69
double
m_parPiPi
{ 3.0 *
m_c3
/ 2.0 };
70
double
m_rhoMass
{ 0.775 };
// updated in init()
71
double
m_rhoMassSq
{
m_rhoMass
*
m_rhoMass
};
72
double
m_rhoGamma
{ 0.149 };
// updated in init()
73
double
m_lepMass
{ 0.106 };
// modified in updateMassPars()
74
double
m_lepMassSq
{
m_lepMass
*
m_lepMass
};
75
double
m_piMass
{ 0.140 };
// modified in updateMassPars()
76
double
m_piMassSq
{
m_piMass
*
m_piMass
};
77
double
m_4LepMassSq
{ 4.0 *
m_lepMassSq
};
78
double
m_4PiMassSq
{ 4.0 *
m_piMassSq
};
79
};
80
81
#endif
EvtConst.hh
EvtDecayProb.hh
EvtConst::pi
static const double pi
Definition
EvtConst.hh:26
EvtDecayBase::EvtDecayBase
EvtDecayBase()=default
EvtDecayProb
Definition
EvtDecayProb.hh:28
EvtEtaLLPiPi::m_piMassSq
double m_piMassSq
Definition
EvtEtaLLPiPi.hh:76
EvtEtaLLPiPi::lambda
double lambda(double a, double b, double c) const
Definition
EvtEtaLLPiPi.cpp:166
EvtEtaLLPiPi::decay
void decay(EvtParticle *p) override
Definition
EvtEtaLLPiPi.cpp:88
EvtEtaLLPiPi::m_mixSq
double m_mixSq
Definition
EvtEtaLLPiPi.hh:63
EvtEtaLLPiPi::m_rhoMass
double m_rhoMass
Definition
EvtEtaLLPiPi.hh:70
EvtEtaLLPiPi::F0
double F0(double sLL, double sPiPi) const
Definition
EvtEtaLLPiPi.cpp:129
EvtEtaLLPiPi::EvtEtaLLPiPi
EvtEtaLLPiPi()=default
EvtEtaLLPiPi::init
void init() override
Definition
EvtEtaLLPiPi.cpp:35
EvtEtaLLPiPi::m_c2
double m_c2
Definition
EvtEtaLLPiPi.hh:65
EvtEtaLLPiPi::m_par1
double m_par1
Definition
EvtEtaLLPiPi.hh:67
EvtEtaLLPiPi::ampSquared
double ampSquared(EvtParticle *p) const
Definition
EvtEtaLLPiPi.cpp:174
EvtEtaLLPiPi::rhoWidth
double rhoWidth(double s, double m) const
Definition
EvtEtaLLPiPi.cpp:113
EvtEtaLLPiPi::m_lepMass
double m_lepMass
Definition
EvtEtaLLPiPi.hh:73
EvtEtaLLPiPi::m_piMass
double m_piMass
Definition
EvtEtaLLPiPi.hh:75
EvtEtaLLPiPi::m_parLL
double m_parLL
Definition
EvtEtaLLPiPi.hh:68
EvtEtaLLPiPi::m_alpha
double m_alpha
Definition
EvtEtaLLPiPi.hh:57
EvtEtaLLPiPi::m_fPi
double m_fPi
Definition
EvtEtaLLPiPi.hh:59
EvtEtaLLPiPi::m_f0
double m_f0
Definition
EvtEtaLLPiPi.hh:61
EvtEtaLLPiPi::m_4LepMassSq
double m_4LepMassSq
Definition
EvtEtaLLPiPi.hh:77
EvtEtaLLPiPi::m_c1
double m_c1
Definition
EvtEtaLLPiPi.hh:64
EvtEtaLLPiPi::initProbMax
void initProbMax() override
Definition
EvtEtaLLPiPi.cpp:60
EvtEtaLLPiPi::m_rhoMassSq
double m_rhoMassSq
Definition
EvtEtaLLPiPi.hh:71
EvtEtaLLPiPi::m_lepMassSq
double m_lepMassSq
Definition
EvtEtaLLPiPi.hh:74
EvtEtaLLPiPi::m_eSq
double m_eSq
Definition
EvtEtaLLPiPi.hh:58
EvtEtaLLPiPi::m_4PiMassSq
double m_4PiMassSq
Definition
EvtEtaLLPiPi.hh:78
EvtEtaLLPiPi::m_parPiPi
double m_parPiPi
Definition
EvtEtaLLPiPi.hh:69
EvtEtaLLPiPi::getName
std::string getName() const override
Definition
EvtEtaLLPiPi.cpp:78
EvtEtaLLPiPi::clone
EvtDecayBase * clone() const override
Definition
EvtEtaLLPiPi.cpp:83
EvtEtaLLPiPi::m_thetaMix
double m_thetaMix
Definition
EvtEtaLLPiPi.hh:62
EvtEtaLLPiPi::m_f8
double m_f8
Definition
EvtEtaLLPiPi.hh:60
EvtEtaLLPiPi::m_rhoGamma
double m_rhoGamma
Definition
EvtEtaLLPiPi.hh:72
EvtEtaLLPiPi::updateMassPars
void updateMassPars(double mLep, double mPi)
Definition
EvtEtaLLPiPi.cpp:101
EvtEtaLLPiPi::m_c3
double m_c3
Definition
EvtEtaLLPiPi.hh:66
EvtParticle
Definition
EvtParticle.hh:45
Generated by
1.17.0