Belle II Software
release-05-02-19
Main Page
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
d
e
h
i
l
m
n
p
r
s
t
v
w
Enumerations
Enumerator
c
d
f
p
t
u
v
w
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
k
l
m
n
o
p
r
s
t
u
v
w
z
Related Functions
b
c
d
g
i
o
r
s
t
Files
File List
File Members
All
Functions
FragmentationModule.h
1
/**************************************************************************
2
* BASF2 (Belle Analysis Framework 2) *
3
* Copyright(C) 2010 - Belle II Collaboration *
4
* *
5
* Author: The Belle II Collaboration *
6
* Contributors: Ami Rostomyan, Torben Ferber *
7
* *
8
* This software is provided "as is" without any warranty. *
9
**************************************************************************/
10
11
#pragma once
12
13
#include <framework/core/Module.h>
14
#include <framework/datastore/StoreArray.h>
15
#include <mdst/dataobjects/MCParticle.h>
16
#include <mdst/dataobjects/MCParticleGraph.h>
17
18
#include <Pythia8/Pythia.h>
19
#include <generators/modules/fragmentation/EvtGenDecays.h>
20
21
#include <string>
22
23
namespace
Belle2
{
31
class
FragmentationRndm :
public
Pythia8::RndmEngine {
32
33
public
:
34
// Constructor
35
FragmentationRndm();
36
37
// in PYTHIA, there is one pure virtual method in RndmEngine,
38
// to generate one random number flat in the range between 0 and 1:
39
double
flat
();
41
private
:
42
43
};
44
45
51
class
FragmentationModule
:
public
Module
{
52
53
public
:
58
FragmentationModule
();
59
61
virtual
~FragmentationModule
();
62
63
virtual
void
event
()
override
;
64
virtual
void
initialize
()
override
;
65
virtual
void
terminate
()
override
;
67
protected
:
68
73
void
loadEvtGenParticleData
(Pythia8::Pythia* pythia);
74
79
int
addParticleToPYTHIA
(
const
MCParticle
& mcParticle);
80
82
Pythia8::Pythia*
m_Pythia
=
nullptr
;
83
85
Pythia8::Event*
m_PythiaEvent
=
nullptr
;
86
87
EvtGenDecays
*
evtgen
;
90
std::string
m_parameterfile
;
91
int
m_listEvent
;
92
int
m_useEvtGen
;
93
std::string
m_DecFile
;
94
std::string
m_UserDecFile
;
95
bool
m_coherentMixing
;
97
MCParticleGraph
mcParticleGraph
;
99
int
nAll
;
100
int
nGood
;
102
int
nAdded
;
103
int
nQuarks
;
104
int
nVpho
;
106
std::string
m_particleList
;
107
StoreArray<MCParticle>
m_mcparticles
;
108
};
109
111
}
// end namespace Belle2
Belle2::FragmentationModule::event
virtual void event() override
Event method (process events)
Definition:
FragmentationModule.cc:167
Belle2::FragmentationModule::~FragmentationModule
virtual ~FragmentationModule()
Destructor.
Definition:
FragmentationModule.cc:67
Belle2::FragmentationModule::m_Pythia
Pythia8::Pythia * m_Pythia
Pythia generator.
Definition:
FragmentationModule.h:90
Belle2::FragmentationModule::m_DecFile
std::string m_DecFile
EvtGen decay file.
Definition:
FragmentationModule.h:101
Belle2::FragmentationModule::nGood
int nGood
number of events with successful fragmentation.
Definition:
FragmentationModule.h:108
Belle2::FragmentationModule::addParticleToPYTHIA
int addParticleToPYTHIA(const MCParticle &mcParticle)
Add particle to Pythia event.
Definition:
FragmentationModule.cc:341
Belle2::MCParticleGraph
Class to build, validate and sort a particle decay chain.
Definition:
MCParticleGraph.h:48
Belle2::FragmentationModule::m_coherentMixing
bool m_coherentMixing
decay the B0-B0bar coherently.
Definition:
FragmentationModule.h:103
EvtGenDecays
A class to perform decays via the external EvtGen decay program, see http://evtgen....
Definition:
EvtGenDecays.h:94
Belle2::FragmentationModule::initialize
virtual void initialize() override
Initialize the module.
Definition:
FragmentationModule.cc:96
Belle2::FragmentationModule::nVpho
int nVpho
number of virtual exchange particles.
Definition:
FragmentationModule.h:112
Belle2::FragmentationModule::nAll
int nAll
number of events created.
Definition:
FragmentationModule.h:107
Belle2::FragmentationModule::m_parameterfile
std::string m_parameterfile
Module parameters.
Definition:
FragmentationModule.h:98
Belle2::FragmentationModule::m_listEvent
int m_listEvent
list event generated by PYTHIA.
Definition:
FragmentationModule.h:99
Belle2::FragmentationModule
The Fragmentation module.
Definition:
FragmentationModule.h:59
Belle2::FragmentationModule::loadEvtGenParticleData
void loadEvtGenParticleData(Pythia8::Pythia *pythia)
Load EvtGen particle data.
Definition:
FragmentationModule.cc:382
Belle2::FragmentationModule::m_UserDecFile
std::string m_UserDecFile
User EvtGen decay file.
Definition:
FragmentationModule.h:102
Belle2::Module
Base class for Modules.
Definition:
Module.h:74
Belle2::FragmentationModule::m_PythiaEvent
Pythia8::Event * m_PythiaEvent
Pythia event.
Definition:
FragmentationModule.h:93
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:19
Belle2::FragmentationModule::FragmentationModule
FragmentationModule()
Constructor.
Definition:
FragmentationModule.cc:42
Belle2::FragmentationModule::m_particleList
std::string m_particleList
The name of the MCParticle collection.
Definition:
FragmentationModule.h:114
Belle2::FragmentationRndm::flat
double flat()
flat random generator.
Definition:
FragmentationModule.cc:422
Belle2::FragmentationModule::m_mcparticles
StoreArray< MCParticle > m_mcparticles
store array for the MCParticles
Definition:
FragmentationModule.h:115
Belle2::FragmentationModule::terminate
virtual void terminate() override
terminate the module
Definition:
FragmentationModule.cc:72
Belle2::FragmentationModule::nAdded
int nAdded
number of added particles.
Definition:
FragmentationModule.h:110
Belle2::FragmentationModule::evtgen
EvtGenDecays * evtgen
EvtGen decay engine inside PYTHIA8.
Definition:
FragmentationModule.h:95
Belle2::MCParticle
A Class to store the Monte Carlo particle information.
Definition:
MCParticle.h:43
Belle2::StoreArray< MCParticle >
Belle2::FragmentationModule::mcParticleGraph
MCParticleGraph mcParticleGraph
An instance of the MCParticle graph.
Definition:
FragmentationModule.h:105
Belle2::FragmentationModule::nQuarks
int nQuarks
number of quarks.
Definition:
FragmentationModule.h:111
Belle2::FragmentationModule::m_useEvtGen
int m_useEvtGen
use EvtGen for some decays.
Definition:
FragmentationModule.h:100
generators
modules
fragmentation
include
FragmentationModule.h
Generated on Tue Jan 4 2022 02:58:13 for Belle II Software by
1.8.17