StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtBcToNPi.hh
1 //--------------------------------------------------------------------------
2 //
3 // Environment:
4 // This software is part of the EvtGen package. If you use all or part
5 // of it, please give an appropriate acknowledgement.
6 //
7 // Copyright Information: See EvtGen/COPYRIGHT
8 //
9 // Module: EvtGenModels/EvtBcToNPi.hh
10 //
11 // Description: General decay model for Bc -> V + npi and Bc -> P + npi
12 //
13 // Modification history:
14 //
15 // A.Berezhnoy, A.Likhoded, A.Luchinsky April 2011 Module created
16 //
17 //------------------------------------------------------------------------
18 
19 #ifndef EvtBcToNPi_HH
20 #define EvtBcToNPi_HH
21 
22 #include "EvtGenBase/EvtParticle.hh"
23 #include "EvtGenBase/EvtDecayAmp.hh"
24 #include "EvtGenBase/EvtDecayBase.hh"
25 #include "EvtGenBase/EvtComplex.hh"
26 #include "EvtGenBase/EvtVector4R.hh"
27 
28 #include <string>
29 
30 class EvtBcToNPi: public EvtDecayAmp {
31 
32 public:
33 
34  EvtBcToNPi(bool printAuthorInfo = false);
35  virtual ~EvtBcToNPi();
36 
37  std::string getName();
38 
39  EvtDecayBase* clone();
40 
41  void initProbMax();
42 
43  void init();
44 
45  void decay(EvtParticle *p);
46 
47 protected:
48 
49  int nCall;
50  double maxAmp2;
51 
52  // Bc form factors
53  double _maxProb;
54  double FA0_N, FA0_c1, FA0_c2;
55  double FAm_N, FAm_c1, FAm_c2;
56  double FAp_N, FAp_c1, FAp_c2;
57  double FV_N, FV_c1, FV_c2;
58 
59  double Fp_N, Fp_c1, Fp_c2;
60  double Fm_N, Fm_c1, Fm_c2;
61 
62  // W -> pi... form factors
63  double _beta;
64  double _mRho;
65  double _gammaRho;
66  double _mRhopr;
67  double _gammaRhopr;
68  double _mA1;
69  double _gammaA1;
70 
71  double _ee(double M, double m1, double m2);
72  double _pp(double M, double m1, double m2);
73  EvtComplex Fpi( EvtVector4R q1, EvtVector4R q2);
74  double pi3G(double m2,int dupD);
75 
76 private:
77 
78  void printAuthorInfo();
79 
80 };
81 
82 #endif
83