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
EvtPsi2JpsiPiPi.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 EVTPSI2JPSIPIPI_HH
22
#define EVTPSI2JPSIPIPI_HH
23
24
#include "
EvtGenBase/EvtDecayAmp.hh
"
25
26
#include <array>
27
#include <string>
28
29
class
EvtDecayBase
;
30
class
EvtParticle
;
31
32
// Description: Header file for the model "PSI2JPSIPIPI" which generates
33
// psi2S -> J/psi pi+ pi- decays based on hep-ph/1507.07985
34
35
class
EvtPsi2JpsiPiPi
:
public
EvtDecayAmp
{
36
public
:
37
EvtPsi2JpsiPiPi
();
38
39
std::string
getName
()
const override
;
40
EvtDecayBase
*
clone
()
const override
;
41
void
initProbMax
()
override
;
42
void
init
()
override
;
43
void
decay
(
EvtParticle
* p )
override
;
44
45
private
:
46
bool
m_tree
;
47
double
m_phi
;
// LO vs NLO mixing angle (radians)
48
double
m_cosPhi
,
m_cos2Phi
,
m_sinPhi
,
m_sin2Phi
;
49
// NLO corrections
50
static
const
int
m_nQ
= 6;
// number of terms in mPiPi interpolation
51
std::array<double, m_nQ>
m_c0
,
m_c1
,
m_c2
,
m_s1
,
m_s2
;
52
53
void
setNLOArrays
();
54
};
55
56
#endif
EvtDecayAmp.hh
EvtDecayAmp
Definition
EvtDecayAmp.hh:29
EvtDecayBase
Definition
EvtDecayBase.hh:33
EvtDecayBase::EvtDecayBase
EvtDecayBase()=default
EvtParticle
Definition
EvtParticle.hh:45
EvtPsi2JpsiPiPi::m_cosPhi
double m_cosPhi
Definition
EvtPsi2JpsiPiPi.hh:48
EvtPsi2JpsiPiPi::m_sin2Phi
double m_sin2Phi
Definition
EvtPsi2JpsiPiPi.hh:48
EvtPsi2JpsiPiPi::m_c2
std::array< double, m_nQ > m_c2
Definition
EvtPsi2JpsiPiPi.hh:51
EvtPsi2JpsiPiPi::m_s2
std::array< double, m_nQ > m_s2
Definition
EvtPsi2JpsiPiPi.hh:51
EvtPsi2JpsiPiPi::m_cos2Phi
double m_cos2Phi
Definition
EvtPsi2JpsiPiPi.hh:48
EvtPsi2JpsiPiPi::EvtPsi2JpsiPiPi
EvtPsi2JpsiPiPi()
Definition
EvtPsi2JpsiPiPi.cpp:31
EvtPsi2JpsiPiPi::m_tree
bool m_tree
Definition
EvtPsi2JpsiPiPi.hh:46
EvtPsi2JpsiPiPi::initProbMax
void initProbMax() override
Definition
EvtPsi2JpsiPiPi.cpp:92
EvtPsi2JpsiPiPi::m_c1
std::array< double, m_nQ > m_c1
Definition
EvtPsi2JpsiPiPi.hh:51
EvtPsi2JpsiPiPi::m_nQ
static const int m_nQ
Definition
EvtPsi2JpsiPiPi.hh:50
EvtPsi2JpsiPiPi::setNLOArrays
void setNLOArrays()
Definition
EvtPsi2JpsiPiPi.cpp:42
EvtPsi2JpsiPiPi::clone
EvtDecayBase * clone() const override
Definition
EvtPsi2JpsiPiPi.cpp:87
EvtPsi2JpsiPiPi::m_s1
std::array< double, m_nQ > m_s1
Definition
EvtPsi2JpsiPiPi.hh:51
EvtPsi2JpsiPiPi::getName
std::string getName() const override
Definition
EvtPsi2JpsiPiPi.cpp:82
EvtPsi2JpsiPiPi::init
void init() override
Definition
EvtPsi2JpsiPiPi.cpp:98
EvtPsi2JpsiPiPi::m_sinPhi
double m_sinPhi
Definition
EvtPsi2JpsiPiPi.hh:48
EvtPsi2JpsiPiPi::decay
void decay(EvtParticle *p) override
Definition
EvtPsi2JpsiPiPi.cpp:118
EvtPsi2JpsiPiPi::m_c0
std::array< double, m_nQ > m_c0
Definition
EvtPsi2JpsiPiPi.hh:51
EvtPsi2JpsiPiPi::m_phi
double m_phi
Definition
EvtPsi2JpsiPiPi.hh:47
Generated by
1.17.0