BOSS
7.0.7
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtPhsp.cc
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: EvtPhsp.cc
12
//
13
// Description: Routine to decay a particle according th phase space
14
//
15
// Modification history:
16
//
17
// RYD January 8, 1997 Module created
18
//
19
//------------------------------------------------------------------------
20
//
21
#include "
EvtGenBase/EvtPatches.hh
"
22
#include <stdlib.h>
23
#include "
EvtGenBase/EvtParticle.hh
"
24
#include "
EvtGenBase/EvtGenKine.hh
"
25
#include "
EvtGenBase/EvtPDL.hh
"
26
#include "
EvtGenBase/EvtReport.hh
"
27
#include "
EvtGenModels/EvtPhsp.hh
"
28
#include "
EvtGenModels/EvtGlobalSet.hh
"
29
#include <string>
30
31
EvtPhsp::~EvtPhsp
() {}
32
33
void
EvtPhsp::getName
(std::string& model_name){
34
35
model_name=
"PHSP"
;
36
37
}
38
39
EvtDecayBase
*
EvtPhsp::clone
(){
40
41
return
new
EvtPhsp
;
42
43
}
44
45
46
void
EvtPhsp::init
(){
47
48
// check that there are 0 arguments
49
checkNArg
(0);
50
51
}
52
53
void
EvtPhsp::initProbMax
(){
54
55
noProbMax
();
56
57
}
58
59
void
EvtPhsp::decay
(
EvtParticle
*p ){
60
61
//unneeded - lange - may13-02
62
//if ( p->getNDaug() != 0 ) {
63
//Will end up here because maxrate multiplies by 1.2
64
// report(DEBUG,"EvtGen") << "In EvtPhsp: has "
65
// <<" daugthers should not be here!"<<endl;
66
// return;
67
//}
68
EvtFilter:
69
double
weight
= p->
initializePhaseSpace
(
getNDaug
(),
getDaugs
());
70
// std::cout<<"weight= "<<weight<<std::endl;
71
if
(!
EvtGlobalSet::iVV
.size())
return
;
72
73
for
(
int
i=0;i<
EvtGlobalSet::iVV
.size();i++){
74
EvtVector4R
psum(0,0,0,0);
75
for
(
int
j=0;j<
EvtGlobalSet::iVV
[i].size();j++){
76
int
idx =
EvtGlobalSet::iVV
[i][j];
77
psum += p->
getDaug
(idx)->
getP4
();
78
//debugging
79
//std::cout<<idx<<std::endl;
80
}
81
double
xmass
=psum.
mass
();
82
//std::cout<<xmass<<" "<<EvtGlobalSet::dVV[i][0]<<" "<<EvtGlobalSet::dVV[i][1]<<std::endl;
83
if
(
xmass
<
EvtGlobalSet::dVV
[i][0] ||
xmass
>
EvtGlobalSet::dVV
[i][1])
goto
EvtFilter;
84
}
85
86
return ;
87
}
88
89
EvtGenKine.hh
EvtGlobalSet.hh
EvtPDL.hh
EvtParticle.hh
EvtPatches.hh
EvtPhsp.hh
EvtReport.hh
xmass
const double xmass[5]
Definition:
Gam4pikp.cxx:50
weight
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared dimensionless $ !dummy photon IR regulator $ !crude photon multiplicity enhancement factor *EVENT $ !MC crude volume of PhhSpace *Sfactors $ !YFS formfactor IR part only $ !YFS formfactor non IR finite part $ !mass weight
Definition:
KarFin.h:34
EvtDecayBase
Definition:
EvtDecayBase.hh:33
EvtDecayBase::noProbMax
void noProbMax()
Definition:
EvtDecayBase.cc:304
EvtDecayBase::getNDaug
int getNDaug()
Definition:
EvtDecayBase.hh:64
EvtDecayBase::getDaugs
EvtId * getDaugs()
Definition:
EvtDecayBase.hh:65
EvtDecayBase::checkNArg
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
Definition:
EvtDecayBase.cc:482
EvtGlobalSet::dVV
static std::vector< std::vector< double > > dVV
Definition:
EvtGlobalSet.hh:21
EvtGlobalSet::iVV
static std::vector< std::vector< int > > iVV
Definition:
EvtGlobalSet.hh:22
EvtParticle
Definition:
EvtParticle.hh:42
EvtParticle::getP4
const EvtVector4R & getP4() const
Definition:
EvtParticle.cc:121
EvtParticle::getDaug
EvtParticle * getDaug(int i)
Definition:
EvtParticle.cc:85
EvtParticle::initializePhaseSpace
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
Definition:
EvtParticle.cc:1071
EvtPhsp::EvtPhsp
EvtPhsp()
Definition:
EvtPhsp.hh:34
EvtPhsp::getName
void getName(std::string &name)
Definition:
EvtPhsp.cc:33
EvtPhsp::clone
EvtDecayBase * clone()
Definition:
EvtPhsp.cc:39
EvtPhsp::initProbMax
void initProbMax()
Definition:
EvtPhsp.cc:53
EvtPhsp::~EvtPhsp
virtual ~EvtPhsp()
Definition:
EvtPhsp.cc:31
EvtPhsp::decay
void decay(EvtParticle *p)
Definition:
EvtPhsp.cc:59
EvtPhsp::init
void init()
Definition:
EvtPhsp.cc:46
EvtVector4R
Definition:
EvtVector4R.hh:29
EvtVector4R::mass
double mass() const
Definition:
EvtVector4R.cc:39
source
Generator
BesEvtGen
BesEvtGen-00-04-08
src
EvtGen
EvtGenModels
EvtPhsp.cc
Generated by
1.9.6