]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtLambdaP_BarGamma.hh
minor coverity defect: adding self-assignment protection
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / 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
31 class EvtLambdaP_BarGamma : public EvtDecayAmp {
32
33 public:
34         
35   EvtLambdaP_BarGamma();
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   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)
66   
67   // shorthand for constants a and b in the formula
68   const double constA();
69   const double constB();
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