Belle II Software  release-08-01-10
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 
15 namespace 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();
34  EvtDecayBase* clone();
36  void init();
38  void initProbMax();
40  void decay(EvtParticle* p);
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);
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);
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_;
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_;
103  double alpha_kpkmnr;
104  double alpha_kskpnr;
105  double alpha_kskmnr;
107  std::ofstream debugfile_;
108  };
109 
111 } // Belle 2 Namespace
Register Decay model EvtB0toKsKK.
Definition: EvtB0toKsKK.h:21
EvtComplex abar_kskpnr_
Variable member abar_kskpnr_
Definition: EvtB0toKsKK.h:100
double alpha_kskmnr
Variable member alpha_kskmnr.
Definition: EvtB0toKsKK.h:105
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_
debuging stream
Definition: EvtB0toKsKK.h:107
EvtComplex a_f0ks_
<Variable names for form factors
Definition: EvtB0toKsKK.h:87
double alpha_kpkmnr
Variable member alpha_kpkmnr.
Definition: EvtB0toKsKK.h:103
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.
Definition: EvtB0toKsKK.h:104
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_
Definition: EvtB0toKsKK.h:101
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
void init()
Initialize standard stream objects
Definition: EvtB0toKsKK.cc:41
EvtVector4R Smu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function 4Vector Smu.
Definition: EvtB0toKsKK.cc:370
EvtComplex A_f0ks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_f0ks is amplitude of f0.
Definition: EvtB0toKsKK.cc:639
EvtComplex A_phiks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_phiks is amplitude of phi.
Definition: EvtB0toKsKK.cc:695
EvtVector4R umu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function 4Vector umu.
Definition: EvtB0toKsKK.cc:360
EvtComplex Flatte(const double &m, const double &m0)
Constant Flatte.
Definition: EvtB0toKsKK.cc:617
double q(const double &mab, const double &ma, const double &mb)
Constants q.
Definition: EvtB0toKsKK.cc:594
EvtTensor4C gmunu_tilde(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function Tensor gmunu
Definition: EvtB0toKsKK.cc:409
EvtComplex BreitWigner(const double &m, const double &m0, const double &Gamma0, const double &q, const double &q0, const unsigned int &L)
BreitWigner Shape.
Definition: EvtB0toKsKK.cc:521
EvtTensor4C Mmunu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function Tensor Mmunu.
Definition: EvtB0toKsKK.cc:468
EvtTensor4C RaiseIndices(const EvtTensor4C &t)
Function RaiseIndices
Definition: EvtB0toKsKK.cc:453
void RaiseIndex(EvtVector4R &vector)
Member function RaiseIndices.
Definition: EvtB0toKsKK.cc:461
EvtDecayBase * clone()
Clone the decay of B0toKsKK.
Definition: EvtB0toKsKK.cc:36
EvtVector4R Lmu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function 4Vector Lmu.
Definition: EvtB0toKsKK.cc:390
EvtComplex A_fxks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_fxks is amplitude of fxks.
Definition: EvtB0toKsKK.cc:770
double p(const double &mab, const double &M, const double &mc)
Constants p
Definition: EvtB0toKsKK.cc:583
EvtComplex Flatte_k(const double &s, const double &m_h)
Constant Flatte_k.
Definition: EvtB0toKsKK.cc:605
EvtComplex A_kknr(const EvtVector4R &p4k1, const EvtVector4R &p4k2, const double &alpha_kk)
A_kknr is amplitude of kknr.
Definition: EvtB0toKsKK.cc:830
void initProbMax()
Initialize standard stream objects for probability function
Definition: EvtB0toKsKK.cc:136
double BWBF(const double &q, const unsigned int &L)
Meson radius
Definition: EvtB0toKsKK.cc:479
EvtTensor4C Tmunu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function Tensor Tmunu
Definition: EvtB0toKsKK.cc:423
EvtVector4R Boost(const EvtVector4R &p4, const EvtVector4R &boost)
Parameter for boost frame
Definition: EvtB0toKsKK.cc:538
std::string getName()
Get function Name
Definition: EvtB0toKsKK.cc:31
void decay(EvtParticle *p)
Member of particle in EvtGen.
Definition: EvtB0toKsKK.cc:146
EvtTensor4C Multiply(const EvtTensor4C &t1, const EvtTensor4C &t2)
Function Tensor Multiply
Definition: EvtB0toKsKK.cc:437
EvtComplex A_chic0ks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_chic0ks is amplitude of chic0ks.
Definition: EvtB0toKsKK.cc:800
Abstract base class for different kinds of events.