1 //--------------------------------------------------------------------------
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.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 2003 Caltech
11 // Module: EvtGen/EvtRadiativeBaryonicPenguins.hh
13 // Description:Implementation of the decay B- -> lambda p_bar gamma according to
14 // Cheng, Yang; hep-ph/0201015
16 // Modification history:
18 // JFS December 16th, 2003 Module created
20 //------------------------------------------------------------------------
22 #ifndef EVTLAMBDAPBARGAMMA_HH
23 #define EVTLAMBDAPBARGAMMA_HH
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"
31 class EvtLambdaP_BarGamma : public EvtDecayAmp {
35 EvtLambdaP_BarGamma();
36 ~EvtLambdaP_BarGamma() {;}
38 std::string getName();
39 EvtDecayBase* clone();
40 void decay(EvtParticle* p);
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^*|
62 // user never needs to call this -> private
63 // baryonic form factors f(p), g(p), at p=0
64 const double f0(const double f_qm, int n=1); // calculate f(0) with f(q_max)
65 const double g0(const double f_qm, int n=1); // calculate g(0) with g(q_max)
67 // shorthand for constants a and b in the formula
68 const double constA();
69 const double constB();
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);