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: 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 :
32 0 : EvtBToPlnuBKFF::EvtBToPlnuBKFF(double alpha, double beta) {
33 :
34 0 : _alpha = alpha;
35 0 : _beta = beta;
36 :
37 0 : return;
38 0 : }
39 :
40 :
41 : void EvtBToPlnuBKFF::getscalarff(EvtId parent,EvtId /*daught*/,
42 : double t, double /*mass*/, double *fp, double *f0) {
43 :
44 : //Define mBstar
45 0 : EvtId Bplus = EvtPDL::getId("B+");
46 0 : EvtId Bminus = EvtPDL::getId("B-");
47 0 : double mBstar = EvtPDL::getMeanMass(EvtPDL::getId("B*0"));
48 0 : if(parent==Bplus || parent==Bminus) mBstar = EvtPDL::getMeanMass(EvtPDL::getId("B*+"));
49 0 : double mBstar2=mBstar*mBstar;
50 :
51 : //Compute BK parametrization (t==q2)
52 0 : double fplus=1.0/((1.0-t/mBstar2)*(1.0-_alpha*t/mBstar2));
53 0 : double fzero=1.0/(1.0-t/(mBstar2*_beta));
54 :
55 0 : *fp=fplus;
56 0 : *f0=fzero;
57 :
58 : return;
59 0 : }
60 :
61 :
62 : void EvtBToPlnuBKFF::getvectorff(EvtId, EvtId, double, double, double*,
63 : double*, double*, double*){
64 :
65 0 : report(Severity::Error,"EvtGen") << "Not implemented :getvectorff in EvtBToPlnuBKFF.\n";
66 0 : ::abort();
67 :
68 : }
69 :
70 :
71 :
72 : void EvtBToPlnuBKFF::gettensorff(EvtId, EvtId, double, double, double*,
73 : double*, double*, double*){
74 :
75 0 : report(Severity::Error,"EvtGen") << "Not implemented :gettensorff in EvtBToPlnuBKFf.\n";
76 0 : ::abort();
77 :
78 : }
79 :
80 :
81 :
82 : void EvtBToPlnuBKFF::getbaryonff(EvtId, EvtId, double, double, double*,
83 : double*, double*, double*){
84 :
85 0 : report(Severity::Error,"EvtGen") << "Not implemented :getbaryonff in EvtBToPlnuBKFF.\n";
86 0 : ::abort();
87 :
88 : }
89 :
90 : void EvtBToPlnuBKFF::getdiracff(EvtId, EvtId, double, double, double*, double*,
91 : double*, double*, double*, double*) {
92 :
93 0 : report(Severity::Error,"EvtGen") << "Not implemented :getdiracff in EvtBToPlnuBKFF.\n";
94 0 : ::abort();
95 :
96 : }
97 :
98 : void EvtBToPlnuBKFF::getraritaff(EvtId, EvtId, double, double, double*, double*,
99 : double*, double*, double*, double*, double*, double*) {
100 :
101 0 : report(Severity::Error,"EvtGen") << "Not implemented :getraritaff in EvtBToPlnuBKFF.\n";
102 0 : ::abort();
103 :
104 : }
105 :
|