]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenModels/EvtBToVlnuBallFF.cxx
added a histogram
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtBToVlnuBallFF.cxx
CommitLineData
da0e9ce3 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: EvtHQETFF.cc
12//
13// Description: B->Xu l nu with the Ball/Zwicky decay model
14// Xu is a vector (rho, rho0, omega)
15//
16// Modification history:
17//
18// Wells Wulsin 2008 Aug 14 Module created
19//
20//------------------------------------------------------------------------
21//
22#include "EvtGenBase/EvtPatches.hh"
23#include "EvtGenBase/EvtPatches.hh"
24#include "EvtGenBase/EvtReport.hh"
25#include "EvtGenModels/EvtBToVlnuBallFF.hh"
26#include "EvtGenBase/EvtId.hh"
27#include <string>
28#include "EvtGenBase/EvtPDL.hh"
29#include <math.h>
30#include <stdlib.h>
31
32EvtBToVlnuBallFF::EvtBToVlnuBallFF(double r2_A1,
33 double mfit2_A1,
34 double r1_A2,
35 double r2_A2,
36 double mfit2_A2,
37 double r1_V,
38 double r2_V,
39 double mfit2_V) {
40
41 _r2_A1 = r2_A1;
42 _mfit2_A1 = mfit2_A1;
43 _r1_A2 = r1_A2;
44 _r2_A2 = r2_A2;
45 _mfit2_A2 = mfit2_A2;
46 _r1_V = r1_V;
47 _r2_V = r2_V;
48 _mfit2_V = mfit2_V;
49
50 return;
51}
52
53
54void EvtBToVlnuBallFF::getvectorff(EvtId parent,EvtId daught,
55 double t, double mass, double *a1f,
56 double *a2f, double *vf, double *a0f ){
57
58 // FF calculations taken from the LCSR calculation of
59 // P. Ball, R. Zwicky, Phys.~Rev.~{\bf D71} 014029 (2005), hep-ph/0412079.
60
61 //Define mBstar
62 EvtId Bplus = EvtPDL::getId("B+");
63 EvtId Bminus = EvtPDL::getId("B-");
64 double mBstar = EvtPDL::getMeanMass(EvtPDL::getId("B*0"));
65 if (parent==Bplus || parent==Bminus) mBstar = EvtPDL::getMeanMass(EvtPDL::getId("B*+"));
66
67 double q2 = t;
68 *a1f = _r2_A1/(1.-q2/_mfit2_A1);
69 *a2f = _r1_A2/(1.-q2/_mfit2_A2) + _r2_A2/pow(1.-q2/_mfit2_A2,2.);
70 *vf = _r1_V /(1.-q2/mBstar/mBstar) + _r2_V/(1.-q2/_mfit2_V);
71 *a0f = 0.0;
72
73 return;
74
75 // OLD STUFF from HQETFF
76
77// double mb=EvtPDL::getMeanMass(parent);
78// double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
79
80// Form factors have a general form, with parameters passed in
81// from the arguements.
82
83// double rstar = ( 2.0*sqrt(mb*mass))/(mb+mass);
84// double ha1 = 1-rho2*(w-1);
85
86// *a1f = (1.0 - (t/((mb+mass)*(mb+mass))))*ha1;
87// *a1f = (*a1f)/rstar;
88// *a2f = (r2/rstar)*ha1;
89// *vf = (r1/rstar)*ha1;
90
91}
92
93
94void EvtBToVlnuBallFF::getscalarff(EvtId, EvtId, double, double, double*,
95 double*){
96
97 report(ERROR,"EvtGen") << "Not implemented :getvectorff in EvtBToVlnuBallFF.\n";
98 ::abort();
99
100}
101
102
103
104void EvtBToVlnuBallFF::gettensorff(EvtId, EvtId, double, double, double*,
105 double*, double*, double*){
106
107 report(ERROR,"EvtGen") << "Not implemented :gettensorff in EvtBToVlnuBallFF.\n";
108 ::abort();
109
110}
111
112
113
114void EvtBToVlnuBallFF::getbaryonff(EvtId, EvtId, double, double, double*,
115 double*, double*, double*){
116
117 report(ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtBToVlnuBallFF.\n";
118 ::abort();
119
120}
121