Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:20:05

0001 
0002 /***********************************************************************
0003 * Copyright 1998-2021 CERN for the benefit of the EvtGen authors       *
0004 *                                                                      *
0005 * This file is part of EvtGen.                                         *
0006 *                                                                      *
0007 * EvtGen is free software: you can redistribute it and/or modify       *
0008 * it under the terms of the GNU General Public License as published by *
0009 * the Free Software Foundation, either version 3 of the License, or    *
0010 * (at your option) any later version.                                  *
0011 *                                                                      *
0012 * EvtGen is distributed in the hope that it will be useful,            *
0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
0015 * GNU General Public License for more details.                         *
0016 *                                                                      *
0017 * You should have received a copy of the GNU General Public License    *
0018 * along with EvtGen.  If not, see <https://www.gnu.org/licenses/>.     *
0019 ***********************************************************************/
0020 
0021 #ifndef EvtBGLFF_HH
0022 #define EvtBGLFF_HH
0023 
0024 #include "EvtGenBase/EvtSemiLeptonicFF.hh"
0025 
0026 class EvtId;
0027 
0028 /** The class provides the form factors for semileptonic D and D* decays with full mass dependence
0029  */
0030 class EvtBGLFF : public EvtSemiLeptonicFF {
0031   public:
0032     /** Default constructor */
0033     EvtBGLFF( double bglap_0, double bglap_1, double bglap_2, double bglap_3,
0034               double bgla0_0, double bgla0_1, double bgla0_2, double bgla0_3 );
0035 
0036     /** Default constructor */
0037     EvtBGLFF( double bgla_0, double bgla_1, double bglb_0, double bglb_1,
0038               double bglc_1, double bglc_2 );
0039 
0040     /** Returns scalar ffs */
0041     void getscalarff( EvtId parent, EvtId daught, double t, double mass,
0042                       double* fp, double* f0 ) override;
0043 
0044     /** Returns vector ffs */
0045     void getvectorff( EvtId parent, EvtId daught, double t, double mass,
0046                       double* a1f, double* a2f, double* vf,
0047                       double* a0f ) override;
0048 
0049     /** Returns tensor ffs */
0050     void gettensorff( EvtId, EvtId, double, double, double*, double*, double*,
0051                       double* ) override;
0052 
0053     /** Returns baryon ffs */
0054     void getbaryonff( EvtId, EvtId, double, double, double*, double*, double*,
0055                       double* ) override;
0056 
0057     /** Returns dirac ffs */
0058     void getdiracff( EvtId, EvtId, double, double, double*, double*, double*,
0059                      double*, double*, double* ) override;
0060 
0061     /** Returns tarita ffs */
0062     void getraritaff( EvtId, EvtId, double, double, double*, double*, double*,
0063                       double*, double*, double*, double*, double* ) override;
0064 
0065   private:
0066     /** B -> Dlnu:
0067       ai_n (i = p ---vector, 0 ---scalar; n = 0,1,2,3) are free coefficients of z expansion
0068       in dispersion relation parametrization from
0069       C.G.Boyd, B.Grinstein, R.F.Lebed, Phys. Rev. Lett. 74,4603(1995)
0070 
0071       Chosen the order of series N=3, i.e.
0072       a_0 + a_1 * z + a_2 * z^2 + a_3 * z^3
0073 
0074       Fitted values cited from
0075       R.Glattauer, etc. (Belle) Phys. Rev. D 93,032006 (2016).
0076 
0077       B -> D*lnu (l=e, mu):
0078       a_n, b_n (n = 0,1) and c_n (n = 0,1,2) are free coefficients of z expansion parametrization from
0079       C.G.Boyd, B.Grinstein and R.F.Lebed, Phys. Rev. D 56,6895(1997) &
0080       B.Grinstein, A.Kobach, Phys. Lett. B 771(2017)359-364
0081 
0082       For the expansion of form factors g and f, the order of series N=1, i.e.
0083       a_0 + a_1*z
0084       For the expansion of form factors F1, the order of series N=2, i.e.
0085       c_0 + c_1 * z + c_2 * z**2
0086       (g, f and F1 are the sub-terms of helicity amplitude)
0087 
0088       Fitted values are taken from a private discussion of Florian Bernlochner based on
0089       B.Grinstein and A.Kobach, Phys. Lett. B 771(2017)359-364
0090 
0091       It should not be used to generate D* with tau, due to the lack of fitted parameters in a0f amplitude.
0092 
0093   **/
0094 
0095     /** 0th-order z expansion coeffieient for vector form factor: f_+  */
0096     double m_ap_0{ 0 };
0097 
0098     /** 1st-order z expansion coeffieient for vector form factor: f_+  */
0099     double m_ap_1{ 0 };
0100 
0101     /** 2nd-order z expansion coeffieient for vector form factor: f_+  */
0102     double m_ap_2{ 0 };
0103 
0104     /** 3rd-order z expansion coeffieient for vector form factor: f_+  */
0105     double m_ap_3{ 0 };
0106 
0107     /** 0th-order z expansion coeffieient for scalar form factor f_0   */
0108     double m_a0_0{ 0 };
0109 
0110     /** 1st-order z expansion coeffieient for scalar form factor f_0   */
0111     double m_a0_1{ 0 };
0112 
0113     /** 2nd-order z expansion coeffieient for scalar form factor f_0   */
0114     double m_a0_2{ 0 };
0115 
0116     /** 3rd-order z expansion coeffieient for scalar form factor f_0   */
0117     double m_a0_3{ 0 };
0118 
0119     /** B->D*lnu z expansion coefficients  */
0120 
0121     /** 0th-order z expansion coefficient for form factor g   */
0122     double m_a_0{ 0 };
0123 
0124     /** 1st-order z expansion coefficient for form factor g   */
0125     double m_a_1{ 0 };
0126 
0127     /** 0th-order z expansion coefficient for form factor f   */
0128     double m_b_0{ 0 };
0129 
0130     /** 1st-order z expansion coefficient for form factor f   */
0131     double m_b_1{ 0 };
0132 
0133     /** 1st-order z expansion coefficient for form factor F1   */
0134     double m_c_1{ 0 };
0135 
0136     /** 2nd-order z expansion coefficient for form factor F1   */
0137     double m_c_2{ 0 };
0138 };
0139 #endif