]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtLambdaB2LambdaV.hh
fine tuning of TOF tail (developing task)
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / 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  
57 class EvtLambdaB2LambdaV:public  EvtDecayProb
58 {
59
60 public:
61
62   EvtLambdaB2LambdaV();
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
116 class EvtLambda2PPiForLambdaB2LambdaV:public  EvtDecayProb
117 {
118
119 public:
120
121   EvtLambda2PPiForLambdaB2LambdaV();
122   virtual ~EvtLambda2PPiForLambdaB2LambdaV();
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
171 class EvtV2VpVmForLambdaB2LambdaV:public  EvtDecayProb
172 {
173
174 public:
175
176   EvtV2VpVmForLambdaB2LambdaV();
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