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

          Line data    Source code
       1             : //--------------------------------------------------------------------------
       2             : //
       3             : // Environment:
       4             : //      This software is part of the EvtGen package developed jointly
       5             : //      for the BaBar and CLEO collaborations.  If you use all or part
       6             : //      of it, please give an appropriate acknowledgement.
       7             : //
       8             : // Copyright Information: See EvtGen/COPYRIGHT
       9             : //      Copyright (C) 1998      Caltech, UCSB
      10             : //
      11             : // Module: EvtBCVFF.cc
      12             : //
      13             : // Description: form factors for B->Vlnu 
      14             : //
      15             : // Modification history:
      16             : //
      17             : //    AVL Jul 6, Module created
      18             : //
      19             : //------------------------------------------------------------------------
      20             : // 
      21             : #include "EvtGenBase/EvtPatches.hh"
      22             : #include "EvtGenBase/EvtPatches.hh"
      23             : #include "EvtGenBase/EvtReport.hh"
      24             : #include "EvtGenModels/EvtBCVFF.hh"
      25             : 
      26             : #include "EvtGenBase/EvtId.hh"
      27             : #include <string>
      28             : #include <math.h>
      29             : #include "EvtGenBase/EvtPDL.hh"
      30             : #include <stdlib.h>
      31             : #include <iostream>
      32             : 
      33             : using namespace std;
      34             : 
      35           0 : EvtBCVFF::EvtBCVFF(int idV, int fit) {
      36             : 
      37           0 :   idVector = idV;
      38           0 :   whichfit = fit;
      39             :   //cout<<"==== EvtBCVFF:: idVector="<<idVector<<" whichfit="<<whichfit<<endl;
      40           0 :   return;
      41           0 : }
      42             : 
      43             : void EvtBCVFF::getvectorff(EvtId,EvtId,
      44             :                            double t, double, double *a1f,
      45             :                            double *a2f, double *vf, double *a0f ){
      46             :   double q2=t;
      47             : 
      48           0 :   if(whichfit == 0) {
      49           0 :     *vf = 0;
      50           0 :     *a0f = 0;
      51           0 :     *a1f = 1;
      52           0 :     *a2f=0;
      53             :     
      54           0 :     return;
      55             :   };
      56             : 
      57           0 :   if( idVector == EvtPDL::getId("J/psi").getId() ) { // Bc -> J/psi
      58           0 :       if(whichfit == 1) { // SR form factor set from [Kiselev, hep-ph/0211021]
      59             :         double Mbc = 6.277, Mpsi=3.0967; // Experimental values
      60           0 :         double Mpole2 = 4.5*4.5, den = 1./(1.-q2/Mpole2);
      61           0 :         double FV = 0.11*den,
      62           0 :         FAp = -0.074*den,
      63           0 :         FA0 = 5.9*den,
      64           0 :         FAm = 0.12*den;
      65           0 :         *vf = (Mbc + Mpsi)*FV;
      66           0 :         *a2f = -(Mbc+Mpsi)*FAp;
      67           0 :         *a1f = FA0/(Mbc+Mpsi);
      68           0 :         *a0f = (q2*FAm + (Mbc+Mpsi)*(*a1f)-(Mbc-Mpsi)*(*a2f))/(2*Mpsi);    
      69             :         return;
      70             :       }
      71           0 :       else if(whichfit == 2) {  // form factor set from  [Ebert, hep-ph/0306306] 
      72           0 :         *vf = (0.49077824756158533 - 0.0012925655191347828*q2)/(1 - 0.06292520325875656*q2);
      73           0 :         *a0f = (0.4160345034630221 - 0.0024720095310225023*q2)/(1 - 0.061603451915567785*q2);
      74           0 :         *a1f = (0.4970212860605933 - 0.0067519730024654745*q2)/(1 - 0.050487026667172176*q2);
      75           0 :         *a2f = (0.7315284919705497 + 0.0014263826220727142*q2 -  0.0006946090066269195*q2*q2)/(1 - 0.04885587273651653*q2);
      76           0 :         return;
      77             :       };
      78             :   }
      79           0 :   else if(idVector == EvtPDL::getId("psi(2S)").getId()) { // Bc -> psi((2S)
      80           0 :       if(whichfit == 1) {
      81             :         ////cout<<"BC2:: psi2S, Kiselev, q2="<<q2<<endl;
      82           0 :         double Mbc = 6.277, Mpsi=3.0967, Mpsi2S = 3.686, kappa = Mpsi/Mpsi2S; // Experimental values
      83           0 :         double Mpole2 = 4.5*4.5, den=1./(1.-q2/Mpole2);
      84           0 :         double FV = 0.11*den*kappa/3.1,
      85           0 :         FAp = -0.074*den*kappa/4.9,
      86           0 :         FA0 = 5.9*den*kappa/3.5,
      87           0 :         FAm = 0.12*den*kappa/2.3;
      88           0 :         *vf = (Mbc + Mpsi2S)*FV;
      89           0 :         *a2f = -(Mbc+Mpsi2S)*FAp;
      90           0 :         *a1f = FA0/(Mbc+Mpsi2S);
      91           0 :         *a0f = (q2*FAm + (Mbc+Mpsi2S)*(*a1f)-(Mbc-Mpsi2S)*(*a2f))/(2*Mpsi2S);  
      92             :         return;
      93             :       }
      94           0 :       else if(whichfit == 2) {
      95             :         ////cout<<"BC2:: psi2S, Ebert, q2="<<q2<<endl;
      96           0 :         *vf  =  (0.24177223968739653 - 0.053589051007278135*q2)/(1 - 0.0977848994260899*q2);
      97           0 :         *a0f = (0.23996026570086615 - 0.03530198514007337*q2)/(1 - 0.09371162519983989*q2);
      98           0 :         *a1f = (0.17418379258849329 - 0.004129699022085851*q2*q2)/(1 + 0.06607665248402918*q2);
      99           0 :         *a2f = (0.1352376939112041 - 0.040361722565209444*q2 + 0.003343515369431853*q2*q2)/(1 - 0.1463698128333418*q2);
     100           0 :         return;
     101             :       };
     102             :   }
     103             :   else {
     104           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getbaryonff in EvtBCVFF.\n";  
     105           0 :     ::abort();
     106             :   };
     107           0 : }
     108             : 
     109             : 
     110             : void EvtBCVFF::getscalarff(EvtId, EvtId, double, double, double*, 
     111             :                                double*){
     112             :   
     113           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getbaryonff in EvtBCVFF.\n";  
     114           0 :   ::abort();
     115             : 
     116             : }
     117             : 
     118             : 
     119             : 
     120             : void EvtBCVFF::gettensorff(EvtId, EvtId, double, double, double*, 
     121             :                                double*, double*, double*){
     122             :   
     123           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getbaryonff in EvtBCVFF.\n";  
     124           0 :   ::abort();
     125             : 
     126             : }
     127             : 
     128             : 
     129             : 
     130             : void EvtBCVFF::getbaryonff(EvtId, EvtId, double, double, double*, 
     131             :                                double*, double*, double*){
     132             :   
     133           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getbaryonff in EvtBCVFF.\n";  
     134           0 :   ::abort();
     135             : 
     136             : }
     137             : 
     138             : void EvtBCVFF::getdiracff(EvtId, EvtId, double, double, double*, double*,
     139             :                                double*, double*, double*, double*) {
     140             :   
     141           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getdiracff in EvtBCVFF.\n";
     142           0 :   ::abort();
     143             : 
     144             : }
     145             : 
     146             : void EvtBCVFF::getraritaff(EvtId, EvtId, double, double, double*, double*, 
     147             :                                 double*, double*, double*, double*, double*, double*) {
     148             :   
     149           0 :   report(Severity::Error,"EvtGen") << "Not implemented :getraritaff in EvtBCVFF.\n";
     150           0 :   ::abort();
     151             : 
     152             : }
     153             : 

Generated by: LCOV version 1.11