GENIEGenerator
Loading...
Searching...
No Matches
LeptoHadPythia6.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::LeptoHadPythia6
5
6\brief Provides access to the PYTHIA6 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_PYTHIA6__H_
20#define _LEPTO_HAD_PYTHIA6__H_
21
33
34#ifdef __GENIE_PYTHIA6_ENABLED__
35#include <TPythia6.h>
36#endif
37
38using namespace genie;
39using namespace genie::constants;
40using namespace genie::utils::math;
41
42namespace genie {
43
44class GHepParticle;
45
47
48public:
50 LeptoHadPythia6(string config);
51 virtual ~LeptoHadPythia6();
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
61private:
62
63 bool Hadronize (GHepRecord * event) const;
64 void Initialize (void) const;
65 void LoadConfig (void);
66
67 //-- configuration parameters
68 int fMaxIterHad; // Maxmium number of iterations to look for a combination of hadrons
69 double fPrimordialKT; // Width of Gaussian distribution for the primordial transverse momentum kT of partons in the nucleon.
70 double fRemnantPT; // Width of Gaussian distribution in transverse momentum when a non-trivial target remnant is split into two particles
71 double fMinESinglet; // It is, with quark masses added, used to define the minimum allowable energy of a colour-singlet parton system.
72 double fWmin; // Minimum value of W
73
74 // PYTHIA physics configuration parameters used
75 double fSSBarSuppression; ///< ssbar suppression
76 double fGaussianPt2; ///< gaussian pt2 distribution width
77 double fNonGaussianPt2Tail; ///< non gaussian pt2 tail parameterization
78 double fRemainingECutoff; ///< remaining E cutoff stopping fragmentation
79 double fDiQuarkSuppression; ///< di-quark suppression parameter
80 double fLightVMesonSuppression; ///< light vector meson suppression
81 double fSVMesonSuppression; ///< strange vector meson suppression
82 double fLunda; ///< Lund a parameter
83 double fLundb; ///< Lund b parameter
84 double fLundaDiq; ///< adjustment of Lund a for di-quark
85
86#ifdef __GENIE_PYTHIA6_ENABLED__
87 mutable TPythia6 * fPythia; ///< PYTHIA6 wrapper class
88#endif
89
90};
91
92} // genie namespace
93
94#endif // _LEPTO_HAD_PYTHIA6__H_
95
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils.
STDHEP-like event record entry that can fit a particle or a nucleus.
GENIE's GHEP MC event record.
Definition GHepRecord.h:45
double fDiQuarkSuppression
di-quark suppression parameter
bool Hadronize(GHepRecord *event) const
double fGaussianPt2
gaussian pt2 distribution width
double fLunda
Lund a parameter.
void Initialize(void) const
double fLundaDiq
adjustment of Lund a for di-quark
double fNonGaussianPt2Tail
non gaussian pt2 tail parameterization
void Configure(const Registry &config)
double fSVMesonSuppression
strange vector meson suppression
double fSSBarSuppression
ssbar suppression
double fLundb
Lund b parameter.
double fRemainingECutoff
remaining E cutoff stopping fragmentation
double fLightVMesonSuppression
light vector meson suppression
void ProcessEventRecord(GHepRecord *event) const
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
Basic constants.
Simple functions for loading and reading nucleus dependent keys from config files.
Simple mathematical utilities not found in ROOT's TMath.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25