Belle II Software development
EvtB0toKsKK.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include "EvtGenBase/EvtDecayAmp.hh"
11#include "EvtGenBase/EvtParticle.hh"
12
13#include <fstream>
14
15namespace Belle2 {
21 class EvtB0toKsKK : public EvtDecayAmp {
22
23 public:
24
25 /* Constructor. */
26 //EvtB0toKsKK() {}
27 EvtB0toKsKK() : alpha_kpkmnr(0.0), alpha_kskpnr(0.0), alpha_kskmnr(0.0) {};
28
29 /* Destructor. */
30 virtual ~EvtB0toKsKK();
31
32 std::string getName();
33
34 EvtDecayBase* clone();
35
36 void init();
37
38 void initProbMax();
39
40 void decay(EvtParticle* p);
41
42 EvtVector4R umu(const EvtVector4R& p4a, const EvtVector4R& p4b,
43 const EvtVector4R& p4c);
44 EvtVector4R Smu(const EvtVector4R& p4a, const EvtVector4R& p4b,
45 const EvtVector4R& p4c);
46 EvtVector4R Lmu(const EvtVector4R& p4a, const EvtVector4R& p4b,
47 const EvtVector4R& p4c);
48 EvtTensor4C gmunu_tilde(const EvtVector4R& p4a,
49 const EvtVector4R& p4b,
50 const EvtVector4R& p4c);
51 EvtTensor4C Tmunu(const EvtVector4R& p4a, const EvtVector4R& p4b,
52 const EvtVector4R& p4c);
53 EvtTensor4C Multiply(const EvtTensor4C& t1,
54 const EvtTensor4C& t2);
55 EvtTensor4C RaiseIndices(const EvtTensor4C& t);
56 void RaiseIndex(EvtVector4R& vector);
57 EvtTensor4C Mmunu(const EvtVector4R& p4a, const EvtVector4R& p4b,
58 const EvtVector4R& p4c);
59 double BWBF(const double& q, const unsigned int& L);
60 double BWBF(const double& q, const double& q0,
61 const unsigned int& L);
62 EvtComplex BreitWigner(const double& m, const double& m0,
63 const double& Gamma0,
64 const double& q, const double& q0,
65 const unsigned int& L);
66 EvtVector4R Boost(const EvtVector4R& p4,
67 const EvtVector4R& boost);
68 double p(const double& mab, const double& M, const double& mc);
69 double q(const double& mab, const double& ma, const double& mb);
70 EvtComplex Flatte_k(const double& s, const double& m_h);
71 EvtComplex Flatte(const double& m, const double& m0);
72
73 EvtComplex A_f0ks(const EvtVector4R& p4ks,
74 const EvtVector4R& p4kp, const EvtVector4R& p4km);
75 EvtComplex A_phiks(const EvtVector4R& p4ks,
76 const EvtVector4R& p4kp, const EvtVector4R& p4km);
77 EvtComplex A_fxks(const EvtVector4R& p4ks,
78 const EvtVector4R& p4kp, const EvtVector4R& p4km);
79 EvtComplex A_chic0ks(const EvtVector4R& p4ks,
80 const EvtVector4R& p4kp, const EvtVector4R& p4km);
81 EvtComplex A_kknr(const EvtVector4R& p4k1, const EvtVector4R& p4k2,
82 const double& alpha_kk);
83
84 private:
85
87 EvtComplex a_f0ks_;
88 EvtComplex a_phiks_;
89 EvtComplex a_fxks_;
90 EvtComplex a_chic0ks_;
91 EvtComplex a_kpkmnr_;
92 EvtComplex a_kskpnr_;
93 EvtComplex a_kskmnr_;
94
95 EvtComplex abar_f0ks_;
96 EvtComplex abar_phiks_;
97 EvtComplex abar_fxks_;
98 EvtComplex abar_chic0ks_;
99 EvtComplex abar_kpkmnr_;
100 EvtComplex abar_kskpnr_;
101 EvtComplex abar_kskmnr_;
102
106
107 std::ofstream debugfile_;
108 };
109
111} // Belle 2 Namespace
EvtComplex abar_kskpnr_
Variable member abar_kskpnr_.
double alpha_kskmnr
Variable member alpha_kskmnr.
EvtComplex a_chic0ks_
Variable member a_chic0ks_.
Definition EvtB0toKsKK.h:90
EvtComplex a_fxks_
Variable member a_fxks_.
Definition EvtB0toKsKK.h:89
std::ofstream debugfile_
debugging stream
EvtComplex a_f0ks_
<Variable names for form factors
Definition EvtB0toKsKK.h:87
double alpha_kpkmnr
Variable member alpha_kpkmnr.
EvtComplex abar_fxks_
Variable member abar_fxks_.
Definition EvtB0toKsKK.h:97
EvtComplex abar_f0ks_
Variable member abar_f0ks_.
Definition EvtB0toKsKK.h:95
double alpha_kskpnr
Variable member alpha_kskpnr.
EvtComplex abar_chic0ks_
Variable member abar_chic0ks_.
Definition EvtB0toKsKK.h:98
EvtComplex a_kskmnr_
Variable member a_kskmnr_.
Definition EvtB0toKsKK.h:93
EvtComplex abar_kskmnr_
Variable member abar_kskmnr_.
EvtComplex a_kpkmnr_
Variable member a_kpkmnr_.
Definition EvtB0toKsKK.h:91
EvtComplex abar_phiks_
Variable member abar_phiks_.
Definition EvtB0toKsKK.h:96
EvtComplex a_kskpnr_
Variable member a_kskpnr_.
Definition EvtB0toKsKK.h:92
EvtComplex a_phiks_
Variable member a_phiks_.
Definition EvtB0toKsKK.h:88
EvtComplex abar_kpkmnr_
Variable member abar_kpkmnr_.
Definition EvtB0toKsKK.h:99
STL class.
void init()
Initialize standard stream objects.
EvtVector4R Smu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function 4Vector Smu.
EvtComplex A_f0ks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_f0ks is amplitude of f0.
EvtComplex A_phiks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_phiks is amplitude of phi.
EvtVector4R umu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function 4Vector umu.
EvtComplex Flatte(const double &m, const double &m0)
Constant Flatte.
double q(const double &mab, const double &ma, const double &mb)
Constants q.
EvtTensor4C gmunu_tilde(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function Tensor gmunu.
EvtComplex BreitWigner(const double &m, const double &m0, const double &Gamma0, const double &q, const double &q0, const unsigned int &L)
BreitWigner Shape.
EvtTensor4C Mmunu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function Tensor Mmunu.
EvtTensor4C RaiseIndices(const EvtTensor4C &t)
Function RaiseIndices.
void RaiseIndex(EvtVector4R &vector)
Member function RaiseIndices.
EvtDecayBase * clone()
Clone the decay of B0toKsKK.
EvtVector4R Lmu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function 4Vector Lmu.
EvtComplex A_fxks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_fxks is amplitude of fxks.
double p(const double &mab, const double &M, const double &mc)
Constants p.
EvtComplex Flatte_k(const double &s, const double &m_h)
Constant Flatte_k.
EvtComplex A_kknr(const EvtVector4R &p4k1, const EvtVector4R &p4k2, const double &alpha_kk)
A_kknr is amplitude of kknr.
void initProbMax()
Initialize standard stream objects for probability function.
double BWBF(const double &q, const unsigned int &L)
Meson radius.
EvtTensor4C Tmunu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function Tensor Tmunu.
EvtVector4R Boost(const EvtVector4R &p4, const EvtVector4R &boost)
Parameter for boost frame.
std::string getName()
Get function Name.
void decay(EvtParticle *p)
Member of particle in EvtGen.
EvtTensor4C Multiply(const EvtTensor4C &t1, const EvtTensor4C &t2)
Function Tensor Multiply.
EvtComplex A_chic0ks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_chic0ks is amplitude of chic0ks.
Abstract base class for different kinds of events.