]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenModels/EvtBToPlnuBKFF.cxx
added a histogram
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtBToPlnuBKFF.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: EvtGenModels/EvtBToPlnuBK.cc
12//
13// Description: B->Xu l nu with BK (Becirevic-Kaidalov) parametrization
14// Xu is a pseudoscalar (pi_plus,pi0,eta or eta_prime)
15//
16// Modification history:
17//
18// Martin Simard, U. de Montreal, 08/01/2007 Module created
19//
20//------------------------------------------------------------------------
21//
22#include "EvtGenBase/EvtPatches.hh"
23#include "EvtGenBase/EvtPatches.hh"
24#include "EvtGenBase/EvtReport.hh"
25#include "EvtGenModels/EvtBToPlnuBKFF.hh"
26#include "EvtGenBase/EvtId.hh"
27#include <string>
28#include "EvtGenBase/EvtPDL.hh"
29#include <math.h>
30#include <stdlib.h>
31
32EvtBToPlnuBKFF::EvtBToPlnuBKFF(double alpha, double beta) {
33
34 _alpha = alpha;
35 _beta = beta;
36
37 return;
38}
39
40
41void EvtBToPlnuBKFF::getscalarff(EvtId parent,EvtId daught,
42 double t, double mass, double *fp, double *f0) {
43
44 //Define mBstar
45 EvtId Bplus = EvtPDL::getId("B+");
46 EvtId Bminus = EvtPDL::getId("B-");
47 double mBstar = EvtPDL::getMeanMass(EvtPDL::getId("B*0"));
48 if(parent==Bplus || parent==Bminus) mBstar = EvtPDL::getMeanMass(EvtPDL::getId("B*+"));
49 double mBstar2=mBstar*mBstar;
50
51 //Compute BK parametrization (t==q2)
52 double fplus=1.0/((1.0-t/mBstar2)*(1.0-_alpha*t/mBstar2));
53 double fzero=1.0/(1.0-t/(mBstar2*_beta));
54
55 *fp=fplus;
56 *f0=fzero;
57
58 return;
59}
60
61
62void EvtBToPlnuBKFF::getvectorff(EvtId, EvtId, double, double, double*,
63 double*, double*, double*){
64
65 report(ERROR,"EvtGen") << "Not implemented :getvectorff in EvtBToPlnuBKFF.\n";
66 ::abort();
67
68}
69
70
71
72void EvtBToPlnuBKFF::gettensorff(EvtId, EvtId, double, double, double*,
73 double*, double*, double*){
74
75 report(ERROR,"EvtGen") << "Not implemented :gettensorff in EvtBToPlnuBKFf.\n";
76 ::abort();
77
78}
79
80
81
82void EvtBToPlnuBKFF::getbaryonff(EvtId, EvtId, double, double, double*,
83 double*, double*, double*){
84
85 report(ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtBToPlnuBKFF.\n";
86 ::abort();
87
88}