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) 2003 Caltech
10 : //
11 : // Module: EvtGen/EvtRadiativeBaryonicPenguins.hh
12 : //
13 : // Description:Implementation of the decay B- -> lambda p_bar gamma according to
14 : // Cheng, Yang; hep-ph/0201015
15 : //
16 : // Modification history:
17 : //
18 : // JFS December 16th, 2003 Module created
19 : //
20 : //------------------------------------------------------------------------
21 :
22 : #ifndef EVTLAMBDAPBARGAMMA_HH
23 : #define EVTLAMBDAPBARGAMMA_HH
24 :
25 : #include "EvtGenBase/EvtDecayAmp.hh"
26 : #include "EvtGenBase/EvtPDL.hh"
27 : #include "EvtGenBase/EvtComplex.hh"
28 : #include "EvtGenBase/EvtParticle.hh"
29 : #include "EvtGenBase/EvtConst.hh"
30 :
31 : class EvtLambdaP_BarGamma : public EvtDecayAmp {
32 :
33 : public:
34 :
35 : EvtLambdaP_BarGamma();
36 0 : ~EvtLambdaP_BarGamma() {;}
37 :
38 : std::string getName();
39 : EvtDecayBase* clone();
40 : void decay(EvtParticle* p);
41 : void init();
42 : void initProbMax();
43 :
44 : private:
45 : // some constants to make the code easier to read and maintain
46 : // these three should be constants... (implementation of getMass() prohibits this)
47 : double _mLambdab; // = 5.624; // Lambda_b mass
48 : double _mLambda0; // = 1.115684; // Lambda0 mass
49 : double _c7Eff; // = -0.31; // Wilson coefficient
50 : double _mb; // = 4.4; // running b mass
51 : double _mV; // = 5.42; // pole mass vector current
52 : double _mA; // = 5.86; // pole mass axial current
53 : double _GF; // = 1.166E-5; // Fermi constant
54 : double _gLambdab; // = 16; // coupling constant Lambda_b -> B- p
55 : double _e0; // = 1; // electromagnetic coupling (+1)
56 : double _g1; // = 0.64; // heavy-light form factors at q_mSqare
57 : double _g2; // = -0.10;
58 : double _f1; // = 0.64;
59 : double _f2; // = -0.31;
60 : double _VtbVtsStar;// = 0.038; // |V_tb V_ts^*|
61 :
62 : // user never needs to call this -> private
63 : // baryonic form factors f(p), g(p), at p=0
64 : double f0(const double f_qm, int n=1) const ; // calculate f(0) with f(q_max)
65 : double g0(const double f_qm, int n=1) const ; // calculate g(0) with g(q_max)
66 :
67 : // shorthand for constants a and b in the formula
68 : double constA() const;
69 : double constB() const;
70 :
71 : // initialize phasespace and calculate the amplitude for one (i=0,1) state of the photon
72 : EvtComplex calcAmpliude(const EvtParticle* p, const unsigned int polState);
73 :
74 : };
75 :
76 :
77 : #endif
|