GENIEGenerator
Loading...
Searching...
No Matches
Physics
Hadronization
LeptoHadPythia8.h
Go to the documentation of this file.
1
//____________________________________________________________________________
2
/*!
3
4
\class genie::LeptoHadPythia8
5
6
\brief Provides access to the PYTHIA8 hadronization. \n
7
8
\author Alfonso Garcia <aagarciasoto \at km3net.de>
9
IFIC (Valencia)
10
11
\created December 12, 2024
12
13
\cpright Copyright (c) 2003-2025, The GENIE Collaboration
14
For the full text of the license visit http://copyright.genie-mc.org
15
or see $GENIE/LICENSE
16
*/
17
//____________________________________________________________________________
18
19
#ifndef _LEPTO_HAD_PYTHIA8__H_
20
#define _LEPTO_HAD_PYTHIA8__H_
21
22
#include "
Framework/EventGen/EventRecordVisitorI.h
"
23
#include "
Framework/Conventions/Constants.h
"
24
#include "
Framework/Numerical/RandomGen.h
"
25
#include "
Framework/Numerical/MathUtils.h
"
26
#include "
Framework/GHEP/GHepRecord.h
"
27
#include "
Framework/GHEP/GHepParticle.h
"
28
#include "
Framework/GHEP/GHepFlags.h
"
29
#include "
Framework/ParticleData/PDGCodes.h
"
30
#include "
Framework/ParticleData/PDGUtils.h
"
31
#include "
Framework/ParticleData/PDGLibrary.h
"
32
#include "
Framework/EventGen/EVGThreadException.h
"
33
34
#ifdef __GENIE_PYTHIA8_ENABLED__
35
#include "
Framework/Utils/Pythia8Singleton.h
"
36
#endif
37
38
using namespace
genie
;
39
using namespace
genie::constants
;
40
using namespace
genie::utils::math
;
41
42
namespace
genie
{
43
44
class
GHepParticle
;
45
46
class
LeptoHadPythia8
:
public
EventRecordVisitorI
{
47
48
public
:
49
LeptoHadPythia8
();
50
LeptoHadPythia8
(
string
config
);
51
virtual
~LeptoHadPythia8
();
52
53
//-- implement the HadronizationModelI interface
54
void
ProcessEventRecord
(
GHepRecord
* event)
const
;
55
56
//-- overload the Algorithm::Configure() methods to load private data
57
// members from configuration options
58
void
Configure
(
const
Registry
&
config
);
59
void
Configure
(
string
config
);
60
61
private
:
62
63
bool
Hadronize
(
GHepRecord
* event)
const
;
64
void
Initialize
(
void
)
const
;
65
void
LoadConfig
(
void
);
66
67
int
getMeson
(
int
,
int
,
double
)
const
;
///< create meson
68
int
getBaryon
(
int
,
int
,
double
)
const
;
///< create baryon
69
double
getRandomZ
(
double
,
double
)
const
;
///< fragmentation
70
double
Afrag
;
///< fragmentation parameter
71
double
Bfrag
;
///< fragmentation parameter
72
double
mesonRateSum
[3];
///<meson parameter
73
double
CGOct
[6] = { 0.75, 0.5, 0., 0.1667, 0.0833, 0.1667};
///<baryon parameter
74
double
CGDec
[6] = { 0.00, 0.0, 1., 0.3333, 0.6667, 0.3333};
///<baryon parameter
75
double
CGSum
[6];
///< baryon parameter
76
77
//-- configuration parameters
78
int
fMaxIterHad
;
// Maxmium number of iterations to look for a combination of hadrons
79
double
fPrimordialKT
;
// Width of Gaussian distribution for the primordial transverse momentum kT of partons in the nucleon.
80
double
fRemnantPT
;
// Width of Gaussian distribution in transverse momentum when a non-trivial target remnant is split into two particles
81
double
fMinESinglet
;
// It is, with quark masses added, used to define the minimum allowable energy of a colour-singlet parton system.
82
double
fWmin
;
// Minimum value of W
83
84
// PYTHIA physics configuration parameters used
85
double
fSSBarSuppression
;
///< ssbar suppression
86
double
fGaussianPt2
;
///< gaussian pt2 distribution width
87
double
fNonGaussianPt2Tail
;
///< non gaussian pt2 tail parameterization
88
double
fRemainingECutoff
;
///< remaining E cutoff stopping fragmentation
89
double
fDiQuarkSuppression
;
///< di-quark suppression parameter
90
double
fLightVMesonSuppression
;
///< light vector meson suppression
91
double
fSVMesonSuppression
;
///< strange vector meson suppression
92
double
fLunda
;
///< Lund a parameter
93
double
fLundb
;
///< Lund b parameter
94
double
fLundaDiq
;
///< adjustment of Lund a for di-quark
95
96
#ifdef __GENIE_PYTHIA8_ENABLED__
97
mutable
Pythia8::Pythia * fPythia;
///< PYTHIA8 object
98
#endif
99
100
};
101
102
}
// genie namespace
103
104
#endif
// _LEPTO_HAD_PYTHIA8__H_
105
EVGThreadException.h
EventRecordVisitorI.h
Constants.h
GHepFlags.h
GHepParticle.h
GHepRecord.h
MathUtils.h
PDGCodes.h
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils.
PDGLibrary.h
PDGUtils.h
Pythia8Singleton.h
RandomGen.h
genie::EventRecordVisitorI::EventRecordVisitorI
EventRecordVisitorI()
Definition
EventRecordVisitorI.cxx:16
genie::GHepParticle
STDHEP-like event record entry that can fit a particle or a nucleus.
Definition
GHepParticle.h:39
genie::GHepRecord
GENIE's GHEP MC event record.
Definition
GHepRecord.h:45
genie::LeptoHadPythia8::mesonRateSum
double mesonRateSum[3]
meson parameter
Definition
LeptoHadPythia8.h:72
genie::LeptoHadPythia8::Configure
void Configure(const Registry &config)
Definition
LeptoHadPythia8.cxx:476
genie::LeptoHadPythia8::fSSBarSuppression
double fSSBarSuppression
ssbar suppression
Definition
LeptoHadPythia8.h:85
genie::LeptoHadPythia8::fNonGaussianPt2Tail
double fNonGaussianPt2Tail
non gaussian pt2 tail parameterization
Definition
LeptoHadPythia8.h:87
genie::LeptoHadPythia8::fPrimordialKT
double fPrimordialKT
Definition
LeptoHadPythia8.h:79
genie::LeptoHadPythia8::fLundaDiq
double fLundaDiq
adjustment of Lund a for di-quark
Definition
LeptoHadPythia8.h:94
genie::LeptoHadPythia8::fRemnantPT
double fRemnantPT
Definition
LeptoHadPythia8.h:80
genie::LeptoHadPythia8::fWmin
double fWmin
Definition
LeptoHadPythia8.h:82
genie::LeptoHadPythia8::LoadConfig
void LoadConfig(void)
Definition
LeptoHadPythia8.cxx:488
genie::LeptoHadPythia8::fLunda
double fLunda
Lund a parameter.
Definition
LeptoHadPythia8.h:92
genie::LeptoHadPythia8::getBaryon
int getBaryon(int, int, double) const
create baryon
Definition
LeptoHadPythia8.cxx:23
genie::LeptoHadPythia8::getRandomZ
double getRandomZ(double, double) const
fragmentation
Definition
LeptoHadPythia8.cxx:40
genie::LeptoHadPythia8::LeptoHadPythia8
LeptoHadPythia8()
Definition
LeptoHadPythia8.cxx:96
genie::LeptoHadPythia8::CGOct
double CGOct[6]
baryon parameter
Definition
LeptoHadPythia8.h:73
genie::LeptoHadPythia8::~LeptoHadPythia8
virtual ~LeptoHadPythia8()
Definition
LeptoHadPythia8.cxx:108
genie::LeptoHadPythia8::fMaxIterHad
int fMaxIterHad
Definition
LeptoHadPythia8.h:78
genie::LeptoHadPythia8::CGDec
double CGDec[6]
baryon parameter
Definition
LeptoHadPythia8.h:74
genie::LeptoHadPythia8::ProcessEventRecord
void ProcessEventRecord(GHepRecord *event) const
Definition
LeptoHadPythia8.cxx:113
genie::LeptoHadPythia8::getMeson
int getMeson(int, int, double) const
create meson
Definition
LeptoHadPythia8.cxx:13
genie::LeptoHadPythia8::fGaussianPt2
double fGaussianPt2
gaussian pt2 distribution width
Definition
LeptoHadPythia8.h:86
genie::LeptoHadPythia8::Bfrag
double Bfrag
fragmentation parameter
Definition
LeptoHadPythia8.h:71
genie::LeptoHadPythia8::fMinESinglet
double fMinESinglet
Definition
LeptoHadPythia8.h:81
genie::LeptoHadPythia8::fDiQuarkSuppression
double fDiQuarkSuppression
di-quark suppression parameter
Definition
LeptoHadPythia8.h:89
genie::LeptoHadPythia8::fLightVMesonSuppression
double fLightVMesonSuppression
light vector meson suppression
Definition
LeptoHadPythia8.h:90
genie::LeptoHadPythia8::fRemainingECutoff
double fRemainingECutoff
remaining E cutoff stopping fragmentation
Definition
LeptoHadPythia8.h:88
genie::LeptoHadPythia8::Initialize
void Initialize(void) const
Definition
LeptoHadPythia8.cxx:553
genie::LeptoHadPythia8::CGSum
double CGSum[6]
baryon parameter
Definition
LeptoHadPythia8.h:75
genie::LeptoHadPythia8::Hadronize
bool Hadronize(GHepRecord *event) const
Definition
LeptoHadPythia8.cxx:128
genie::LeptoHadPythia8::fSVMesonSuppression
double fSVMesonSuppression
strange vector meson suppression
Definition
LeptoHadPythia8.h:91
genie::LeptoHadPythia8::Afrag
double Afrag
fragmentation parameter
Definition
LeptoHadPythia8.h:70
genie::LeptoHadPythia8::fLundb
double fLundb
Lund b parameter.
Definition
LeptoHadPythia8.h:93
genie::Registry
A registry. Provides the container for algorithm configuration parameters.
Definition
Registry.h:65
genie::constants
Basic constants.
genie::utils::config
Simple functions for loading and reading nucleus dependent keys from config files.
Definition
ConfigIsotopeMapUtils.cxx:21
genie::utils::math
Simple mathematical utilities not found in ROOT's TMath.
genie
THE MAIN GENIE PROJECT NAMESPACE
Definition
AlgCmp.h:25
Generated on
for GENIEGenerator by
1.14.0