StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtLambdaP_BarGamma.hh
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 
32 
33 public:
34 
36  ~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