BOSS
7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtVubHybrid.hh
Go to the documentation of this file.
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
void
getName
(std::string& name);
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
EvtDecayBase
Definition:
bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtDecayBase.hh:33
EvtDecayIncoherent
Definition:
bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtDecayIncoherent.hh:28
EvtParticle
Definition:
bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenBase/EvtParticle.hh:42
EvtVubHybrid
Definition:
bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtVubHybrid.hh:44
EvtVubHybrid::readWeights
void readWeights(int startArg=0)
EvtVubHybrid::initProbMax
void initProbMax()
EvtVubHybrid::getWeight
double getWeight(double mX, double q2, double El)
EvtVubHybrid::EvtVubHybrid
EvtVubHybrid()
EvtVubHybrid::init
void init()
EvtVubHybrid::decay
void decay(EvtParticle *p)
EvtVubHybrid::getName
void getName(std::string &name)
EvtVubHybrid::~EvtVubHybrid
virtual ~EvtVubHybrid()
EvtVubHybrid::clone
EvtDecayBase * clone()
EvtVubdGamma
Definition:
bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtVubdGamma.hh:38
source
Generator
BesEvtGen
BesEvtGen-00-04-08
src
EvtGen
EvtGenModels
EvtVubHybrid.hh
Generated by
1.9.6