LCOV - code coverage report
Current view: top level - TEvtGen/EvtGen/EvtGenModels - EvtHQET2FF.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 40 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 10 0.0 %

          Line data    Source code
       1             : //--------------------------------------------------------------------------
       2             : //
       3             : // Module: EvtHQET2FF.cc
       4             : //
       5             : // Description: form factors for B->D*lnu & B->Dlnu according to HQET 
       6             : //              with dispersive FF
       7             : //
       8             : // Modification history:
       9             : //
      10             : //    Marco Bomben     March 10, 2003        Module created
      11             : //
      12             : //------------------------------------------------------------------------
      13             : // 
      14             : #include "EvtGenBase/EvtPatches.hh"
      15             : #include "EvtGenBase/EvtPatches.hh"
      16             : #include "EvtGenBase/EvtReport.hh"
      17             : #include "EvtGenModels/EvtHQET2FF.hh"
      18             : #include "EvtGenBase/EvtId.hh"
      19             : #include <string>
      20             : #include "EvtGenBase/EvtPDL.hh"
      21             : #include <math.h>
      22             : #include <stdlib.h>
      23             : 
      24             : 
      25           0 : EvtHQET2FF::EvtHQET2FF(double hqetrho2, double hqetha1_1 , double hqetr1_1, double hqetr2_1) {
      26             : 
      27           0 :   rho2 = hqetrho2;
      28           0 :   r1_1 = hqetr1_1;
      29           0 :   r2_1 = hqetr2_1;
      30           0 :   ha1_1 = hqetha1_1;
      31             : 
      32           0 :   return;
      33           0 : }
      34             : 
      35           0 : EvtHQET2FF::EvtHQET2FF(double hqetrho2, double hqetv1_1) {
      36             : 
      37           0 :   rho2 = hqetrho2;
      38           0 :   v1_1 = hqetv1_1;
      39             : 
      40           0 :   return;
      41           0 : }
      42             : 
      43             : 
      44             : void EvtHQET2FF::getscalarff(EvtId parent,EvtId,
      45             :                             double t, double mass, double *f0p, double *f0m) {
      46             : 
      47             : 
      48           0 :   double mb=EvtPDL::getMeanMass(parent);
      49           0 :   double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
      50             : 
      51             : // Form factors have a general form, with parameters passed in
      52             : // from the arguements.
      53             : 
      54             :   // Use disparsion relation parametrization from 
      55             :   // I.Caprini, L.Lelluch, M.Neubert, Nucl. Phys. B 530,153(1998)
      56           0 :   const double z = (sqrt(w+1)-sqrt(2.))/(sqrt(w+1)+sqrt(2.));
      57           0 :   double v1 = v1_1*(1.- 8.*rho2*z + (51.*rho2-10.)*z*z - (252.*rho2-84.)*z*z*z)
      58             : ;
      59             : 
      60           0 :   *f0p=v1;
      61           0 :   *f0m = 0.0;
      62             : 
      63             :   return;
      64           0 :  }
      65             : 
      66             : void EvtHQET2FF::getvectorff(EvtId parent,EvtId,
      67             :                             double t, double mass, double *a1f,
      68             :                             double *a2f, double *vf, double *a0f ){
      69             : 
      70             : 
      71           0 :   double mb=EvtPDL::getMeanMass(parent);
      72           0 :   double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
      73             : 
      74             : // Form factors have a general form, with parameters passed in
      75             : // from the arguements.
      76             : 
      77           0 :   double rstar = ( 2.0*sqrt(mb*mass))/(mb+mass);
      78             : 
      79             :   // Use disparsion relation parametrization from 
      80             :   // I.Caprini, L.Lelluch, M.Neubert, Nucl. Phys. B 530,153(1998)
      81           0 :   const double z = (sqrt(w+1)-sqrt(2.))/(sqrt(w+1)+sqrt(2.));
      82           0 :   double ha1 =ha1_1*(1.- 8.*rho2*z + (53.*rho2-15.)*z*z - (231.*rho2-91.)*z*z*z);
      83           0 :   double r1 = r1_1-0.12*(w-1)+0.05*(w-1)*(w-1);
      84           0 :   double r2 = r2_1+0.11*(w-1)-0.06*(w-1)*(w-1);
      85             : ;
      86             : 
      87           0 :   *a1f = (1.0 - (t/((mb+mass)*(mb+mass))))*ha1;
      88           0 :   *a1f = (*a1f)/rstar;
      89           0 :   *a2f = (r2/rstar)*ha1;
      90           0 :   *vf = (r1/rstar)*ha1;
      91           0 :   *a0f = 0.0;
      92             : 
      93             :   return;
      94           0 :  }
      95             : 
      96             : void EvtHQET2FF::gettensorff(EvtId, EvtId, double, double, double*, 
      97             :                                double*, double*, double*){
      98             :   
      99           0 :   report(Severity::Error,"EvtGen") << "Not implemented :gettensorff in EvtHQET2FF.\n";  
     100           0 :   ::abort();
     101             : 
     102             : }
     103             : 
     104             : 
     105             : 
     106             : void EvtHQET2FF::getbaryonff(EvtId, EvtId, double, double, double*, 
     107             :                                double*, double*, double*){
     108             :   
     109           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getbaryonff in EvtHQET2FF.\n";  
     110           0 :   ::abort();
     111             : 
     112             : }
     113             : 
     114             : void EvtHQET2FF::getdiracff(EvtId, EvtId, double, double, double*, double*,
     115             :                             double*, double*, double*, double*) {
     116             :   
     117           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getdiracff in EvtHQET2FF.\n";
     118           0 :   ::abort();
     119             : 
     120             : }
     121             : 
     122             : void EvtHQET2FF::getraritaff(EvtId, EvtId, double, double, double*, double*, 
     123             :                              double*, double*, double*, double*, double*, double*) {
     124             :   
     125           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getraritaff in EvtHQET2FF.\n";
     126           0 :   ::abort();
     127             : 
     128             : }

Generated by: LCOV version 1.11