StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtLambdaB2LambdaV.hh
1 //------------------------------------------------------------------------
2 //
3 // Module: EvtGen/EvtLambdaB2LambdaV.hh
4 //
5 // Description:
6 // Class to generate LambdaB -> Lambda(p pi) V(Vp Vm) decays
7 // with V a vector meson such as J/psi (mu+mu-)
8 // Rho (pi+pi-)
9 // Omega (pi+pi-)
10 // Rho-omega mixing (pi+pi-)
11 //
12 // Author : Eric Conte (LPC Clermont-Ferrand)
13 // econte@clermont.in2p3.fr / ziad@clermont.in2p3.fr
14 //
15 // Modification history:
16 //
17 // E. Conte April 13, 2006 Module created
18 // E. Conte February 5, 2006 First draft
19 //
20 //------------------------------------------------------------------------
21 
22 #ifndef EVTLAMBDAB2LAMBDAV_HH
23 #define EVTLAMBDAB2LAMBDAV_HH
24 
25 #include <stdlib.h>
26 #include <string>
27 #include "EvtGenBase/EvtDecayProb.hh"
28 #include "EvtGenBase/EvtParticle.hh"
29 #include "EvtGenBase/EvtGenKine.hh"
30 #include "EvtGenBase/EvtPDL.hh"
31 #include "EvtGenBase/EvtReport.hh"
32 
33 namespace VID
34 {
35  enum VectorMesonType{JPSI, OMEGA, RHO, RHO_OMEGA_MIXING};
36 }
37 
38 //*******************************************************************
39 //* *
40 //* Class EvtLambdaB2LambdaV *
41 //* *
42 //*******************************************************************
43 //
44 // DECAY : LambdaB -> Lambda + vector meson
45 //
46 // d(Sigma)
47 // -------- = 1 + A*B*cos(theta) + 2*A*Re(C*exp(i*phi))*sin(theta)
48 // d(Omega)
49 //
50 // with A (real) : lambdaB helicity asymmetry parameter
51 // B (real) : lambdaB polarisation
52 // C (complex) : lambdaB density matrix element rho+-
53 //
54 // cf : O. Leitner, Z.J Ajaltouni, E. Conte,
55 // PCCF RI 0601, ECT-05-15, LPNHE/2006-01, hep-ph/0602043
56 
58 {
59 
60 public:
61 
63  virtual ~EvtLambdaB2LambdaV();
64  EvtDecayBase* clone();
65 
66  virtual std::string getName();
67  void init();
68  void initProbMax();
69  void decay(EvtParticle *lambdab);
70 
71 private:
72 
73  //class name for report method
74  std::string fname;
75 
76  //meson vector identity
77  VID::VectorMesonType Vtype;
78 
79  //decay dynamics parameters
80  double A;
81  double B;
82  EvtComplex C;
83 
84  //V mass generator method
85  double getVMass(double MASS_LAMBDAB, double MASS_LAMBDA);
86 
87  //PDF generator method
88  double BreitWignerRelPDF(double m,double _m0, double _g0);
89  double RhoOmegaMixingPDF(double m, double _mr, double _gr, double _mo, double _go);
90 };
91 
92 
93 
94 
95 
96 //*******************************************************************
97 //* *
98 //* Class EvtLambda2PPiForLambdaB2LambdaV *
99 //* *
100 //*******************************************************************
101 //
102 // DECAY : Lambda -> p + pi-
103 //
104 // d(Sigma)
105 // -------- = 1 + A*B*cos(theta) + 2*A*Re(D*exp(i*phi))*sin(theta)
106 // d(Omega)
107 //
108 // with A (real) : lambda asymmetry parameter
109 // B (real) : lambda polarisation
110 // C (real) : lambdaB polarisation
111 // D (complex) : lambda density matrix element rho+-
112 //
113 // cf : O. Leitner, Z.J Ajaltouni, E. Conte
114 // PCCF RI 0601, ECT-05-15, LPNHE/2006-01, hep-ph/0602043
115 
117 {
118 
119 public:
120 
123  EvtDecayBase* clone();
124 
125  virtual std::string getName();
126  void init();
127  void initProbMax();
128  void decay(EvtParticle *lambda);
129 
130 private :
131 
132  //class name for report method
133  std::string fname;
134 
135  //meson vector identity
136  VID::VectorMesonType Vtype;
137 
138  //decay dynamics parameters
139  double A;
140  double B;
141  double C;
142  EvtComplex D;
143 };
144 
145 
146 
147 
148 
149 //*******************************************************************
150 //* *
151 //* Class EvtV2VpVmForLambdaB2LambdaV *
152 //* *
153 //*******************************************************************
154 //
155 // DECAY : vector meson V -> Vp + Vm
156 //
157 // d(Sigma)
158 // -------- = (1-3A)*cos(theta)^2 + (1+A) //leptonic decays
159 // d(Omega)
160 //
161 // d(Sigma)
162 // -------- = (3A-1)*cos(theta)^2 + (1-A) //hadronic decays
163 // d(Omega)
164 //
165 // with A (real) : V density matrix element indicating the
166 // probability to be longitudinally polarized
167 //
168 // cf : O. Leitner, Z.J Ajaltouni, E. Conte
169 // PCCF RI 0601, ECT-05-15, LPNHE/2006-01, hep-ph/0602043
170 
172 {
173 
174 public:
175 
177  virtual ~EvtV2VpVmForLambdaB2LambdaV();
178  EvtDecayBase* clone();
179 
180  virtual std::string getName();
181  void init();
182  void initProbMax();
183  void decay(EvtParticle *V);
184 
185 private:
186 
187  //class name for report method
188  std::string fname;
189 
190  //meson vector identity
191  VID::VectorMesonType Vtype;
192  //decay dynamics parameters
193  double A;
194 };
195 
196 
197 #endif