evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtBsMuMuKK.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 EvtBsMuMuKK_HH
22 #define EvtBsMuMuKK_HH
23 
24 #include "EvtGenBase/EvtComplex.hh"
26 
27 #include <string>
28 
29 class EvtParticle;
30 
31 // Description: Routine to implement Bs -> J/psi KK
32 
33 class EvtBsMuMuKK : public EvtDecayAmp {
34  public:
35  std::string getName() override;
36  EvtDecayBase* clone() override;
37 
38  void init() override;
39  void initProbMax() override;
40 
41  void decay( EvtParticle* p ) override;
42 
43  protected:
44  EvtComplex Flatte( const double m0, const double m ) const;
45 
46  EvtComplex GetRho( const double m0, const double m ) const;
47 
48  EvtComplex Breit_Wigner( const double Gamma0, const double m0,
49  const double m, const int J, const double q0,
50  const double q ) const;
51 
52  double Integral( const double Gamma0, const double m0, const int JR,
53  const int JB, const double q0, const double M_KK_ll,
54  const double M_KK_ul, const int fcntype ) const;
55 
56  double X_J( const int J, const double q, const int isB ) const;
57 
58  double Wignerd( int J, int l, int alpha, double theta ) const;
59 
60  EvtComplex AngularDist( int J, int l, int alpha, double cK, double cL,
61  double chi ) const;
62 
63  EvtComplex AmpTime( const int q, const EvtComplex& gplus,
64  const EvtComplex& gminus, const double delta,
65  const double lambda_abs, const double Amp,
66  const double phis, const int eta ) const;
67 
68  private:
69  double MBs, MJpsi, Mf0, Mphi, Mf2p, MKp, MKm, MK0, Mpip, Mpi0, Mmu;
77  double A_f2p_par;
86 };
87 
88 #endif
double Mf2p
Definition: EvtBsMuMuKK.hh:69
double f_phi
Definition: EvtBsMuMuKK.hh:75
double delta_phi_perp
Definition: EvtBsMuMuKK.hh:78
double p30Jpsi_mid_CMS
Definition: EvtBsMuMuKK.hh:73
EvtComplex GetRho(const double m0, const double m) const
double phis_f2p_perp
Definition: EvtBsMuMuKK.hh:81
double p30Jpsi_f2p_CMS
Definition: EvtBsMuMuKK.hh:73
double delta_f2p_0
Definition: EvtBsMuMuKK.hh:79
EvtComplex Flatte(const double m0, const double m) const
EvtComplex AmpTime(const int q, const EvtComplex &gplus, const EvtComplex &gminus, const double delta, const double lambda_abs, const double Amp, const double phis, const int eta) const
double delta_S_NR
Definition: EvtBsMuMuKK.hh:78
double delta_f2p_perp
Definition: EvtBsMuMuKK.hh:79
double Mpip
Definition: EvtBsMuMuKK.hh:69
double Integral(const double Gamma0, const double m0, const int JR, const int JB, const double q0, const double M_KK_ll, const double M_KK_ul, const int fcntype) const
double lambda_phi_perp_abs
Definition: EvtBsMuMuKK.hh:82
double kin_lower_limit
Definition: EvtBsMuMuKK.hh:71
double f_phi_perp
Definition: EvtBsMuMuKK.hh:75
double Mmu
Definition: EvtBsMuMuKK.hh:69
void decay(EvtParticle *p) override
double p30Kp_f2p_CMS
Definition: EvtBsMuMuKK.hh:72
double int_const_NR
Definition: EvtBsMuMuKK.hh:74
double int_BW_phi
Definition: EvtBsMuMuKK.hh:74
double Mphi
Definition: EvtBsMuMuKK.hh:69
void init() override
Definition: EvtBsMuMuKK.cpp:51
std::string getName() override
Definition: EvtBsMuMuKK.cpp:41
double delta_f2p_par
Definition: EvtBsMuMuKK.hh:79
double phis_phi_par
Definition: EvtBsMuMuKK.hh:80
double Gamma0phi
Definition: EvtBsMuMuKK.hh:70
void initProbMax() override
double int_BW_f2p
Definition: EvtBsMuMuKK.hh:74
double delta_f0
Definition: EvtBsMuMuKK.hh:78
double A_phi_0
Definition: EvtBsMuMuKK.hh:76
double p30Kp_mid_CMS
Definition: EvtBsMuMuKK.hh:72
double lambda_S_NR_abs
Definition: EvtBsMuMuKK.hh:82
double MKm
Definition: EvtBsMuMuKK.hh:69
double Wignerd(int J, int l, int alpha, double theta) const
double Gamma0f2p
Definition: EvtBsMuMuKK.hh:70
double deltaGamma
Definition: EvtBsMuMuKK.hh:85
double f_phi_0
Definition: EvtBsMuMuKK.hh:75
double lambda_f0_abs
Definition: EvtBsMuMuKK.hh:82
double f_f0
Definition: EvtBsMuMuKK.hh:75
double Gamma
Definition: EvtBsMuMuKK.hh:85
double A_S_NR
Definition: EvtBsMuMuKK.hh:76
double MJpsi
Definition: EvtBsMuMuKK.hh:69
double lambda_f2p_0_abs
Definition: EvtBsMuMuKK.hh:83
double int_Flatte_f0
Definition: EvtBsMuMuKK.hh:74
double phis_S_NR
Definition: EvtBsMuMuKK.hh:80
double p30Kp_ll_CMS
Definition: EvtBsMuMuKK.hh:72
double lambda_f2p_par_abs
Definition: EvtBsMuMuKK.hh:84
double X_J(const int J, const double q, const int isB) const
double deltaMs
Definition: EvtBsMuMuKK.hh:85
EvtDecayBase * clone() override
Definition: EvtBsMuMuKK.cpp:46
double phis_phi_perp
Definition: EvtBsMuMuKK.hh:80
double lambda_f2p_perp_abs
Definition: EvtBsMuMuKK.hh:83
double delta_phi_par
Definition: EvtBsMuMuKK.hh:78
double p30Jpsi_ll_CMS
Definition: EvtBsMuMuKK.hh:73
double MK0
Definition: EvtBsMuMuKK.hh:69
double lambda_phi_0_abs
Definition: EvtBsMuMuKK.hh:82
double MBs
Definition: EvtBsMuMuKK.hh:69
double f_f2p_perp
Definition: EvtBsMuMuKK.hh:75
double A_phi_par
Definition: EvtBsMuMuKK.hh:76
double ctau
Definition: EvtBsMuMuKK.hh:85
double A_phi_perp
Definition: EvtBsMuMuKK.hh:76
double delta_phi_0
Definition: EvtBsMuMuKK.hh:78
double kin_upper_limit
Definition: EvtBsMuMuKK.hh:71
double phis_f0
Definition: EvtBsMuMuKK.hh:80
double A_f2p_0
Definition: EvtBsMuMuKK.hh:76
double Mpi0
Definition: EvtBsMuMuKK.hh:69
double A_f2p_perp
Definition: EvtBsMuMuKK.hh:76
double phis_f2p_par
Definition: EvtBsMuMuKK.hh:81
double kin_middle
Definition: EvtBsMuMuKK.hh:71
double p30Jpsi_phi_CMS
Definition: EvtBsMuMuKK.hh:73
double f_S_NR
Definition: EvtBsMuMuKK.hh:75
double lambda_phi_par_abs
Definition: EvtBsMuMuKK.hh:83
double A_f0
Definition: EvtBsMuMuKK.hh:76
double f_f2p
Definition: EvtBsMuMuKK.hh:75
double f_f2p_0
Definition: EvtBsMuMuKK.hh:75
double phis_f2p_0
Definition: EvtBsMuMuKK.hh:81
double Mf0
Definition: EvtBsMuMuKK.hh:69
EvtComplex AngularDist(int J, int l, int alpha, double cK, double cL, double chi) const
EvtComplex Breit_Wigner(const double Gamma0, const double m0, const double m, const int J, const double q0, const double q) const
double A_f2p_par
Definition: EvtBsMuMuKK.hh:77
double phis_phi_0
Definition: EvtBsMuMuKK.hh:80
double p30Kp_phi_CMS
Definition: EvtBsMuMuKK.hh:72
double MKp
Definition: EvtBsMuMuKK.hh:69