Belle II Software  release-05-01-25
EvtB0toKsKK.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2012-2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Jeremy Dalseno *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include "EvtGenBase/EvtDecayAmp.hh"
13 #include "EvtGenBase/EvtParticle.hh"
14 
15 #include <fstream>
16 
17 namespace Belle2 {
22  class EvtB0toKsKK : public EvtDecayAmp {
24 
25  public:
26 
27  /* Constructor. */
28  //EvtB0toKsKK() {}
29  EvtB0toKsKK() : alpha_kpkmnr(0.0), alpha_kskpnr(0.0), alpha_kskmnr(0.0) {};
30 
31  /* Destructor. */
32  virtual ~EvtB0toKsKK();
33 
34  std::string getName();
36  EvtDecayBase* clone();
38  void init();
40  void initProbMax();
42  void decay(EvtParticle* p);
44  EvtVector4R umu(const EvtVector4R& p4a, const EvtVector4R& p4b,
45  const EvtVector4R& p4c);
46  EvtVector4R Smu(const EvtVector4R& p4a, const EvtVector4R& p4b,
47  const EvtVector4R& p4c);
48  EvtVector4R Lmu(const EvtVector4R& p4a, const EvtVector4R& p4b,
49  const EvtVector4R& p4c);
50  EvtTensor4C gmunu_tilde(const EvtVector4R& p4a,
51  const EvtVector4R& p4b,
52  const EvtVector4R& p4c);
53  EvtTensor4C Tmunu(const EvtVector4R& p4a, const EvtVector4R& p4b,
54  const EvtVector4R& p4c);
55  EvtTensor4C Multiply(const EvtTensor4C& t1,
56  const EvtTensor4C& t2);
57  EvtTensor4C RaiseIndices(const EvtTensor4C& t);
58  void RaiseIndex(EvtVector4R& vector);
59  EvtTensor4C Mmunu(const EvtVector4R& p4a, const EvtVector4R& p4b,
60  const EvtVector4R& p4c);
61  double BWBF(const double& q, const unsigned int& L);
62  double BWBF(const double& q, const double& q0,
63  const unsigned int& L);
64  EvtComplex BreitWigner(const double& m, const double& m0,
65  const double& Gamma0,
66  const double& q, const double& q0,
67  const unsigned int& L);
68  EvtVector4R Boost(const EvtVector4R& p4,
69  const EvtVector4R& boost);
70  double p(const double& mab, const double& M, const double& mc);
71  double q(const double& mab, const double& ma, const double& mb);
72  EvtComplex Flatte_k(const double& s, const double& m_h);
73  EvtComplex Flatte(const double& m, const double& m0);
75  EvtComplex A_f0ks(const EvtVector4R& p4ks,
76  const EvtVector4R& p4kp, const EvtVector4R& p4km);
77  EvtComplex A_phiks(const EvtVector4R& p4ks,
78  const EvtVector4R& p4kp, const EvtVector4R& p4km);
79  EvtComplex A_fxks(const EvtVector4R& p4ks,
80  const EvtVector4R& p4kp, const EvtVector4R& p4km);
81  EvtComplex A_chic0ks(const EvtVector4R& p4ks,
82  const EvtVector4R& p4kp, const EvtVector4R& p4km);
83  EvtComplex A_kknr(const EvtVector4R& p4k1, const EvtVector4R& p4k2,
84  const double& alpha_kk);
86  private:
87 
89  EvtComplex a_f0ks_;
90  EvtComplex a_phiks_;
91  EvtComplex a_fxks_;
92  EvtComplex a_chic0ks_;
93  EvtComplex a_kpkmnr_;
94  EvtComplex a_kskpnr_;
95  EvtComplex a_kskmnr_;
97  EvtComplex abar_f0ks_;
98  EvtComplex abar_phiks_;
99  EvtComplex abar_fxks_;
100  EvtComplex abar_chic0ks_;
101  EvtComplex abar_kpkmnr_;
102  EvtComplex abar_kskpnr_;
103  EvtComplex abar_kskmnr_;
105  double alpha_kpkmnr;
106  double alpha_kskpnr;
107  double alpha_kskmnr;
109  std::ofstream debugfile_;
110  };
111 
113 } // Belle 2 Namespace
Belle2::EvtB0toKsKK::initProbMax
void initProbMax()
Initialize standard stream objects for probability function
Definition: EvtB0toKsKK.cc:146
Belle2::EvtB0toKsKK
Register Decay model EvtB0toKsKK.
Definition: EvtB0toKsKK.h:31
Belle2::EvtB0toKsKK::a_fxks_
EvtComplex a_fxks_
Variable member a_fxks_
Definition: EvtB0toKsKK.h:99
Belle2::EvtB0toKsKK::decay
void decay(EvtParticle *p)
Member of particle in EvtGen.
Definition: EvtB0toKsKK.cc:156
Belle2::EvtB0toKsKK::p
double p(const double &mab, const double &M, const double &mc)
Constants p
Definition: EvtB0toKsKK.cc:593
Belle2::EvtB0toKsKK::getName
std::string getName()
Get function Name
Definition: EvtB0toKsKK.cc:41
Belle2::EvtB0toKsKK::debugfile_
std::ofstream debugfile_
debuging stream
Definition: EvtB0toKsKK.h:117
Belle2::EvtB0toKsKK::alpha_kskmnr
double alpha_kskmnr
Variable member alpha_kskmnr.
Definition: EvtB0toKsKK.h:115
Belle2::EvtB0toKsKK::Smu
EvtVector4R Smu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function 4Vector Smu.
Definition: EvtB0toKsKK.cc:380
Belle2::EvtB0toKsKK::a_kskmnr_
EvtComplex a_kskmnr_
Variable member a_kskmnr_.
Definition: EvtB0toKsKK.h:103
Belle2::EvtB0toKsKK::a_phiks_
EvtComplex a_phiks_
Variable member a_phiks_
Definition: EvtB0toKsKK.h:98
Belle2::EvtB0toKsKK::abar_kpkmnr_
EvtComplex abar_kpkmnr_
Variable member abar_kpkmnr_
Definition: EvtB0toKsKK.h:109
Belle2::EvtB0toKsKK::Lmu
EvtVector4R Lmu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function 4Vector Lmu.
Definition: EvtB0toKsKK.cc:400
Belle2::EvtB0toKsKK::a_kpkmnr_
EvtComplex a_kpkmnr_
Variable member a_kpkmnr_.
Definition: EvtB0toKsKK.h:101
Belle2::EvtB0toKsKK::RaiseIndex
void RaiseIndex(EvtVector4R &vector)
Member function RaiseIndices.
Definition: EvtB0toKsKK.cc:471
Belle2::EvtB0toKsKK::A_fxks
EvtComplex A_fxks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_fxks is amplitude of fxks.
Definition: EvtB0toKsKK.cc:780
Belle2::EvtB0toKsKK::RaiseIndices
EvtTensor4C RaiseIndices(const EvtTensor4C &t)
Function RaiseIndices
Definition: EvtB0toKsKK.cc:463
Belle2::EvtB0toKsKK::abar_kskmnr_
EvtComplex abar_kskmnr_
Variable member abar_kskmnr_
Definition: EvtB0toKsKK.h:111
Belle2::EvtB0toKsKK::BreitWigner
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:531
Belle2::EvtB0toKsKK::abar_phiks_
EvtComplex abar_phiks_
Variable member abar_phiks_.
Definition: EvtB0toKsKK.h:106
Belle2::EvtB0toKsKK::Flatte
EvtComplex Flatte(const double &m, const double &m0)
Constant Flatte.
Definition: EvtB0toKsKK.cc:627
Belle2::EvtB0toKsKK::Mmunu
EvtTensor4C Mmunu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function Tensor Mmunu.
Definition: EvtB0toKsKK.cc:478
Belle2::EvtB0toKsKK::a_f0ks_
EvtComplex a_f0ks_
<Variable names for form factors
Definition: EvtB0toKsKK.h:97
Belle2::EvtB0toKsKK::abar_fxks_
EvtComplex abar_fxks_
Variable member abar_fxks_
Definition: EvtB0toKsKK.h:107
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::EvtB0toKsKK::a_chic0ks_
EvtComplex a_chic0ks_
Variable member a_chic0ks_.
Definition: EvtB0toKsKK.h:100
Belle2::EvtB0toKsKK::init
void init()
Initialize standard stream objects
Definition: EvtB0toKsKK.cc:51
Belle2::EvtB0toKsKK::abar_kskpnr_
EvtComplex abar_kskpnr_
Variable member abar_kskpnr_
Definition: EvtB0toKsKK.h:110
Belle2::EvtB0toKsKK::A_f0ks
EvtComplex A_f0ks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_f0ks is amplitude of f0.
Definition: EvtB0toKsKK.cc:649
Belle2::EvtB0toKsKK::a_kskpnr_
EvtComplex a_kskpnr_
Variable member a_kskpnr_.
Definition: EvtB0toKsKK.h:102
Belle2::EvtB0toKsKK::alpha_kskpnr
double alpha_kskpnr
Variable member alpha_kskpnr.
Definition: EvtB0toKsKK.h:114
Belle2::EvtB0toKsKK::A_chic0ks
EvtComplex A_chic0ks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_chic0ks is amplitude of chic0ks.
Definition: EvtB0toKsKK.cc:810
Belle2::EvtB0toKsKK::alpha_kpkmnr
double alpha_kpkmnr
Variable member alpha_kpkmnr.
Definition: EvtB0toKsKK.h:113
Belle2::EvtB0toKsKK::abar_chic0ks_
EvtComplex abar_chic0ks_
Variable member abar_chic0ks_.
Definition: EvtB0toKsKK.h:108
Belle2::EvtB0toKsKK::A_kknr
EvtComplex A_kknr(const EvtVector4R &p4k1, const EvtVector4R &p4k2, const double &alpha_kk)
A_kknr is amplitude of kknr.
Definition: EvtB0toKsKK.cc:840
Belle2::EvtB0toKsKK::abar_f0ks_
EvtComplex abar_f0ks_
Variable member abar_f0ks_
Definition: EvtB0toKsKK.h:105
Belle2::EvtB0toKsKK::Multiply
EvtTensor4C Multiply(const EvtTensor4C &t1, const EvtTensor4C &t2)
Function Tensor Multiply
Definition: EvtB0toKsKK.cc:447
Belle2::EvtB0toKsKK::Tmunu
EvtTensor4C Tmunu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function Tensor Tmunu
Definition: EvtB0toKsKK.cc:433
Belle2::EvtB0toKsKK::gmunu_tilde
EvtTensor4C gmunu_tilde(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function Tensor gmunu
Definition: EvtB0toKsKK.cc:419
Belle2::EvtB0toKsKK::q
double q(const double &mab, const double &ma, const double &mb)
Constants q.
Definition: EvtB0toKsKK.cc:604
Belle2::EvtB0toKsKK::umu
EvtVector4R umu(const EvtVector4R &p4a, const EvtVector4R &p4b, const EvtVector4R &p4c)
Function 4Vector umu.
Definition: EvtB0toKsKK.cc:370
Belle2::EvtB0toKsKK::Boost
EvtVector4R Boost(const EvtVector4R &p4, const EvtVector4R &boost)
Parameter for boost frame
Definition: EvtB0toKsKK.cc:548
Belle2::EvtB0toKsKK::Flatte_k
EvtComplex Flatte_k(const double &s, const double &m_h)
Constant Flatte_k.
Definition: EvtB0toKsKK.cc:615
Belle2::EvtB0toKsKK::A_phiks
EvtComplex A_phiks(const EvtVector4R &p4ks, const EvtVector4R &p4kp, const EvtVector4R &p4km)
A_phiks is amplitude of phi.
Definition: EvtB0toKsKK.cc:705
Belle2::EvtB0toKsKK::clone
EvtDecayBase * clone()
Clone the decay of B0toKsKK.
Definition: EvtB0toKsKK.cc:46
Belle2::EvtB0toKsKK::BWBF
double BWBF(const double &q, const unsigned int &L)
Meson radius
Definition: EvtB0toKsKK.cc:489