]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenModels/EvtLambdaB2LambdaV.hh
fine tuning of TOF tail (developing task)
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtLambdaB2LambdaV.hh
CommitLineData
0ca57c2f 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
33namespace 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
57class EvtLambdaB2LambdaV:public EvtDecayProb
58{
59
60public:
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
71private:
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
116class EvtLambda2PPiForLambdaB2LambdaV:public EvtDecayProb
117{
118
119public:
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
130private :
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
171class EvtV2VpVmForLambdaB2LambdaV:public EvtDecayProb
172{
173
174public:
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
185private:
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