EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
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
26
27#include <string>
28
29class EvtParticle;
30
31// Description: Routine to implement Bs -> J/psi KK
32
33class EvtBsMuMuKK : public EvtDecayAmp {
34 public:
35 std::string getName() const override;
36 EvtDecayBase* clone() const 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:
92};
93
94#endif
double m_phis_phi_0
double m_phis_f2p_perp
double m_kin_middle
EvtDecayBase * clone() const override
double m_delta_phi_par
double m_p30Kp_f2p_CMS
double m_phis_phi_perp
double m_delta_S_NR
void init() override
double m_int_const_NR
double m_int_BW_phi
double m_p30Kp_phi_CMS
double m_delta_f2p_perp
double m_p30Jpsi_ll_CMS
double m_Mphi
double m_lambda_f0_abs
double m_A_f2p_perp
double m_f_f2p_0
double m_lambda_phi_0_abs
double m_f_phi_0
double m_A_f0
double Wignerd(int J, int l, int alpha, double theta) const
double m_Mpi0
double m_A_f2p_0
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 m_A_phi_par
double m_Gamma0phi
double m_MJpsi
std::string getName() const override
double m_int_Flatte_f0
EvtComplex Breit_Wigner(const double Gamma0, const double m0, const double m, const int J, const double q0, const double q) const
double m_delta_phi_perp
double m_lambda_f2p_perp_abs
void decay(EvtParticle *p) override
double m_Mf2p
double m_deltaGamma
double m_delta_f2p_par
double m_A_phi_perp
EvtComplex Flatte(const double m0, const double m) const
double m_lambda_phi_perp_abs
double m_int_BW_f2p
double m_Gamma0f2p
double m_delta_f0
double m_kin_upper_limit
double m_phis_f2p_par
double m_delta_phi_0
double m_f_phi_perp
double m_phis_f0
double X_J(const int J, const double q, const int isB) const
double m_A_phi_0
double m_phis_f2p_0
double m_delta_f2p_0
EvtComplex AngularDist(int J, int l, int alpha, double cK, double cL, double chi) const
double m_A_f2p_par
double m_p30Jpsi_f2p_CMS
double m_p30Jpsi_phi_CMS
double m_kin_lower_limit
double m_ctau
double m_f_f0
void initProbMax() override
double m_p30Kp_ll_CMS
double m_lambda_f2p_par_abs
double m_deltaMs
EvtComplex GetRho(const double m0, const double m) const
double m_f_f2p_perp
double m_f_f2p
double m_A_S_NR
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 m_p30Kp_mid_CMS
double m_f_S_NR
double m_Mpip
double m_lambda_phi_par_abs
double m_phis_S_NR
double m_f_phi
double m_phis_phi_par
double m_lambda_S_NR_abs
double m_lambda_f2p_0_abs
double m_Gamma
double m_p30Jpsi_mid_CMS
EvtDecayBase()=default