00001 //-------------------------------------------------------------------------- 00002 // 00003 // Environment: 00004 // This software is part of the EvtGen package developed jointly 00005 // for the BaBar and CLEO collaborations. If you use all or part 00006 // of it, please give an appropriate acknowledgement. 00007 // 00008 // Copyright Information: See EvtGen/COPYRIGHT 00009 // Copyright (C) 2003 Caltech 00010 // 00011 // Module: EvtGen/EvtRadiativeBaryonicPenguins.hh 00012 // 00013 // Description:Implementation of the decay B- -> lambda p_bar gamma according to 00014 // Cheng, Yang; hep-ph/0201015 00015 // 00016 // Modification history: 00017 // 00018 // JFS December 16th, 2003 Module created 00019 // 00020 //------------------------------------------------------------------------ 00021 00022 #ifndef EVTLAMBDAPBARGAMMA_HH 00023 #define EVTLAMBDAPBARGAMMA_HH 00024 00025 #include "EvtGenBase/EvtDecayAmp.hh" 00026 #include "EvtGenBase/EvtPDL.hh" 00027 #include "EvtGenBase/EvtComplex.hh" 00028 #include "EvtGenBase/EvtParticle.hh" 00029 #include "EvtGenBase/EvtConst.hh" 00030 00031 class EvtLambdaP_BarGamma : public EvtDecayAmp { 00032 00033 public: 00034 00035 EvtLambdaP_BarGamma(); 00036 ~EvtLambdaP_BarGamma() {;} 00037 00038 void getName(std::string& name); 00039 EvtDecayBase* clone(); 00040 void decay(EvtParticle* p); 00041 void init(); 00042 void initProbMax(); 00043 00044 private: 00045 // some constants to make the code easier to read and maintain 00046 // these three should be constants... (implementation of getMass() prohibits this) 00047 double _mLambdab; // = 5.624; // Lambda_b mass 00048 double _mLambda0; // = 1.115684; // Lambda0 mass 00049 double _c7Eff; // = -0.31; // Wilson coefficient 00050 double _mb; // = 4.4; // running b mass 00051 double _mV; // = 5.42; // pole mass vector current 00052 double _mA; // = 5.86; // pole mass axial current 00053 double _GF; // = 1.166E-5; // Fermi constant 00054 double _gLambdab; // = 16; // coupling constant Lambda_b -> B- p 00055 double _e0; // = 1; // electromagnetic coupling (+1) 00056 double _g1; // = 0.64; // heavy-light form factors at q_mSqare 00057 double _g2; // = -0.10; 00058 double _f1; // = 0.64; 00059 double _f2; // = -0.31; 00060 double _VtbVtsStar;// = 0.038; // |V_tb V_ts^*| 00061 00062 // user never needs to call this -> private 00063 // baryonic form factors f(p), g(p), at p=0 00064 const double f0(const double f_qm, int n=1); // calculate f(0) with f(q_max) 00065 const double g0(const double f_qm, int n=1); // calculate g(0) with g(q_max) 00066 00067 // shorthand for constants a and b in the formula 00068 const double constA(); 00069 const double constB(); 00070 00071 // initialize phasespace and calculate the amplitude for one (i=0,1) state of the photon 00072 EvtComplex calcAmpliude(const EvtParticle* p, const unsigned int polState); 00073 00074 }; 00075 00076 00077 #endif