StRoot
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
StarGenerator
EvtGen1_06_00
EvtGenModels
EvtVubHybrid.hh
1
//--------------------------------------------------------------------------
2
//
3
// Environment:
4
// This software is part of the EvtGen package developed jointly
5
// for the BaBar and CLEO collaborations. If you use all or part
6
// of it, please give an appropriate acknowledgement.
7
//
8
// Copyright Information: See EvtGen/COPYRIGHT
9
// Copyright (C) 1998 Caltech, UCSB
10
//
11
// Module: EvtGen/EvtVubHybrid.hh
12
//
13
// Description:
14
// Class to generate inclusive B to X_u l nu decays.
15
// This class is based on EvtVub by Sven Menke with an update to
16
// generate the inclusive decays in such a way that the right
17
// mix of inclusive and exclusive decays is obtained:
18
// "Hybrid Model" by Dominique Fortin.
19
// NOTE:
20
// - A set of weights (for bins in the kinematic variables mX, q2, El)
21
// is read from DECAY.DEC. This set of weights must be consistent
22
// with the other parameters specified (excl. BF, non-res BF, mb, a).
23
// - If no binning/weights are specified in DECAY.DEC the hybrid
24
// reweighting is not activated
25
//
26
// Modification history:
27
//
28
// Jochen Dingfelder February 1, 2005 Created Module as update of
29
// the module EvtVub including
30
// hybrid model.
31
//------------------------------------------------------------------------
32
33
#ifndef EVTVUBHYBRID_HH
34
#define EVTVUBHYBRID_HH
35
36
#include "EvtGenBase/EvtDecayIncoherent.hh"
37
38
#include <vector>
39
40
class
EvtParticle
;
41
class
EvtVubdGamma
;
42
class
RandGeneral;
43
44
class
EvtVubHybrid
:
public
EvtDecayIncoherent
{
45
46
public
:
47
48
EvtVubHybrid
();
49
virtual
~
EvtVubHybrid
();
50
51
std::string getName();
52
53
EvtDecayBase
* clone();
54
55
void
initProbMax();
56
57
void
init();
58
59
void
decay(
EvtParticle
*p);
60
61
void
readWeights(
int
startArg=0);
62
63
double
getWeight(
double
mX,
double
q2,
double
El);
64
65
private
:
66
double
findPFermi();
67
68
enum
{ nParameters = 3, nVariables = 3 };
69
70
bool
_noHybrid;
71
bool
_storeQplus;
72
73
double
_mb;
// the b-quark pole mass in GeV (try 4.65 to 4.9)
74
double
_a;
// Parameter for the Fermi Motion (1.29 is good)
75
double
_alphas;
// Strong Coupling at m_b (around 0.24)
76
double
_dGMax;
// max dGamma*p2 value;
77
int
_nbins_mX;
78
int
_nbins_q2;
79
int
_nbins_El;
80
int
_nbins;
81
double
_masscut;
82
double
* _bins_mX;
83
double
* _bins_q2;
84
double
* _bins_El;
85
double
* _weights;
86
EvtVubdGamma
*_dGamma;
// calculates the decay rate
87
std::vector<double> _pf;
88
};
89
90
#endif
91
EvtVubdGamma
Definition:
EvtVubdGamma.hh:38
EvtDecayBase
Definition:
EvtDecayBase.hh:33
EvtDecayIncoherent
Definition:
EvtDecayIncoherent.hh:31
EvtVubHybrid
Definition:
EvtVubHybrid.hh:44
EvtParticle
Definition:
EvtParticle.hh:45
Generated by
1.8.5