GENIEGenerator
Loading...
Searching...
No Matches
genie::PhotonCOHWdecPythia8 Class Reference

PhotonCOH W decay with pythia8. More...

#include <PhotonCOHWdecPythia8.h>

Inheritance diagram for genie::PhotonCOHWdecPythia8:
[legend]
Collaboration diagram for genie::PhotonCOHWdecPythia8:
[legend]

Public Member Functions

 PhotonCOHWdecPythia8 ()
 PhotonCOHWdecPythia8 (string config)
 ~PhotonCOHWdecPythia8 ()
void ProcessEventRecord (GHepRecord *event) const
void Configure (const Registry &config)
void Configure (string config)
Public Member Functions inherited from genie::EventRecordVisitorI
virtual ~EventRecordVisitorI ()
Public Member Functions inherited from genie::Algorithm
virtual ~Algorithm ()
virtual void FindConfig (void)
virtual const RegistryGetConfig (void) const
RegistryGetOwnedConfig (void)
virtual const AlgIdId (void) const
 Get algorithm ID.
virtual AlgStatus_t GetStatus (void) const
 Get algorithm status.
virtual bool AllowReconfig (void) const
virtual AlgCmp_t Compare (const Algorithm *alg) const
 Compare with input algorithm.
virtual void SetId (const AlgId &id)
 Set algorithm ID.
virtual void SetId (string name, string config)
const AlgorithmSubAlg (const RgKey &registry_key) const
void AdoptConfig (void)
void AdoptSubstructure (void)
virtual void Print (ostream &stream) const
 Print algorithm info.

Private Member Functions

bool Wdecay (GHepRecord *event) const
void Initialize (void) const
void LoadConfig (void)

Private Attributes

double fSSBarSuppression
 ssbar suppression
double fGaussianPt2
 gaussian pt2 distribution width
double fNonGaussianPt2Tail
 non gaussian pt2 tail parameterization
double fRemainingECutoff
 remaining E cutoff stopping fragmentation
double fDiQuarkSuppression
 di-quark suppression parameter
double fLightVMesonSuppression
 light vector meson suppression
double fSVMesonSuppression
 strange vector meson suppression
double fLunda
 Lund a parameter.
double fLundb
 Lund b parameter.
double fLundaDiq
 adjustment of Lund a for di-quark

Additional Inherited Members

Static Public Member Functions inherited from genie::Algorithm
static string BuildParamVectKey (const std::string &comm_name, unsigned int i)
static string BuildParamVectSizeKey (const std::string &comm_name)
static string BuildParamMatKey (const std::string &comm_name, unsigned int i, unsigned int j)
static string BuildParamMatRowSizeKey (const std::string &comm_name)
static string BuildParamMatColSizeKey (const std::string &comm_name)
Protected Member Functions inherited from genie::EventRecordVisitorI
 EventRecordVisitorI ()
 EventRecordVisitorI (string name)
 EventRecordVisitorI (string name, string config)
Protected Member Functions inherited from genie::Algorithm
 Algorithm ()
 Algorithm (string name)
 Algorithm (string name, string config)
void Initialize (void)
void DeleteConfig (void)
void DeleteSubstructure (void)
RegistryExtractLocalConfig (const Registry &in) const
RegistryExtractLowerConfig (const Registry &in, const string &alg_key) const
 Split an incoming configuration Registry into a block valid for the sub-algo identified by alg_key.
template<class T>
bool GetParam (const RgKey &name, T &p, bool is_top_call=true) const
template<class T>
bool GetParamDef (const RgKey &name, T &p, const T &def) const
template<class T>
int GetParamVect (const std::string &comm_name, std::vector< T > &v, bool is_top_call=true) const
 Handle to load vectors of parameters.
int GetParamVectKeys (const std::string &comm_name, std::vector< RgKey > &k, bool is_top_call=true) const
template<class T>
int GetParamMat (const std::string &comm_name, TMatrixT< T > &mat, bool is_top_call=true) const
 Handle to load matrix of parameters.
template<class T>
int GetParamMatSym (const std::string &comm_name, TMatrixTSym< T > &mat, bool is_top_call=true) const
int GetParamMatKeys (const std::string &comm_name, std::vector< RgKey > &k, bool is_top_call=true) const
int AddTopRegistry (Registry *rp, bool owns=true)
 add registry with top priority, also update ownership
int AddLowRegistry (Registry *rp, bool owns=true)
 add registry with lowest priority, also update ownership
int MergeTopRegistry (const Registry &r)
int AddTopRegisties (const vector< Registry * > &rs, bool owns=false)
 Add registries with top priority, also udated Ownerships.
Protected Attributes inherited from genie::Algorithm
bool fAllowReconfig
bool fOwnsSubstruc
 true if it owns its substructure (sub-algs,...)
AlgId fID
 algorithm name and configuration set
vector< Registry * > fConfVect
vector< bool > fOwnerships
 ownership for every registry in fConfVect
AlgStatus_t fStatus
 algorithm execution status
AlgMapfOwnedSubAlgMp
 local pool for owned sub-algs (taken out of the factory pool)

Detailed Description

PhotonCOH W decay with pythia8.

Author
Alfonso Garcia <aagarciasoto \at km3net.de> IFIC (Valencia)
Created:\n Dec 12, 2024
License:\n Copyright (c) 2003-2025, The GENIE Collaboration
For the full text of the license visit http://copyright.genie-mc.org or see $GENIE/LICENSE

Definition at line 44 of file PhotonCOHWdecPythia8.h.

Constructor & Destructor Documentation

◆ PhotonCOHWdecPythia8() [1/2]

PhotonCOHWdecPythia8::PhotonCOHWdecPythia8 ( )

Definition at line 14 of file PhotonCOHWdecPythia8.cxx.

14 :
15EventRecordVisitorI("genie::PhotonCOHWdecPythia8")
16{
17 this->Initialize();
18}

References genie::EventRecordVisitorI::EventRecordVisitorI(), and Initialize().

◆ PhotonCOHWdecPythia8() [2/2]

PhotonCOHWdecPythia8::PhotonCOHWdecPythia8 ( string config)

Definition at line 20 of file PhotonCOHWdecPythia8.cxx.

20 :
21EventRecordVisitorI("genie::PhotonCOHWdecPythia8", config)
22{
23 this->Initialize();
24}

References genie::EventRecordVisitorI::EventRecordVisitorI(), and Initialize().

◆ ~PhotonCOHWdecPythia8()

PhotonCOHWdecPythia8::~PhotonCOHWdecPythia8 ( )

Definition at line 26 of file PhotonCOHWdecPythia8.cxx.

27{
28
29}

Member Function Documentation

◆ Configure() [1/2]

void PhotonCOHWdecPythia8::Configure ( const Registry & config)
virtual

Configure the algorithm with an external registry The registry is merged with the top level registry if it is owned, Otherwise a copy of it is added with the highest priority

Reimplemented from genie::Algorithm.

Definition at line 203 of file PhotonCOHWdecPythia8.cxx.

204{
205 Algorithm::Configure(config);
206 this->LoadConfig();
207}
virtual void Configure(const Registry &config)
Definition Algorithm.cxx:62

References genie::Algorithm::Configure(), and LoadConfig().

◆ Configure() [2/2]

void PhotonCOHWdecPythia8::Configure ( string config)
virtual

Configure the algorithm from the AlgoConfigPool based on param_set string given in input An algorithm contains a vector of registries coming from different xml configuration files, which are loaded according a very precise prioriy This methods will load a number registries in order of priority: 1) "Tunable" parameter set from CommonParametes. This is loaded with the highest prioriry and it is designed to be used for tuning procedure Usage not expected from the user. 2) For every string defined in "CommonParame" the corresponding parameter set will be loaded from CommonParameter.xml 3) parameter set specified by the config string and defined in the xml file of the algorithm 4) if config is not "Default" also the Default parameter set from the same xml file will be loaded Effectively this avoids the repetion of a parameter when it is not changed in the requested configuration

Reimplemented from genie::Algorithm.

Definition at line 209 of file PhotonCOHWdecPythia8.cxx.

210{
211 Algorithm::Configure(config);
212 this->LoadConfig();
213}

References genie::Algorithm::Configure(), and LoadConfig().

◆ Initialize()

void PhotonCOHWdecPythia8::Initialize ( void ) const
private

Definition at line 250 of file PhotonCOHWdecPythia8.cxx.

251{
252
253#ifdef __GENIE_PYTHIA8_ENABLED__
254 fPythia = Pythia8Singleton::Instance()->Pythia8();
255
256 fPythia->readString("Print:quiet = on");
257
258 // sync GENIE and PYTHIA8 seeds
259 RandomGen * rnd = RandomGen::Instance();
260 long int seed = rnd->GetSeed();
261 fPythia->readString("Random:setSeed = on");
262 fPythia->settings.mode("Random:seed", seed);
263 LOG("LeptoHad", pINFO) << "PYTHIA8 seed = " << fPythia->settings.mode("Random:seed");
264
265 //needed to only do hadronization
266 fPythia->readString("ProcessLevel:all = off");
267#endif
268
269}
#define pINFO
Definition Messenger.h:62
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Definition Messenger.h:96
static Pythia8Singleton * Instance(void)
static RandomGen * Instance()
Access instance.
Definition RandomGen.cxx:74
long int GetSeed(void) const
Definition RandomGen.h:82

References genie::RandomGen::GetSeed(), genie::Pythia8Singleton::Instance(), genie::RandomGen::Instance(), LOG, and pINFO.

Referenced by PhotonCOHWdecPythia8(), and PhotonCOHWdecPythia8().

◆ LoadConfig()

void PhotonCOHWdecPythia8::LoadConfig ( void )
private

Definition at line 215 of file PhotonCOHWdecPythia8.cxx.

216{
217
218#ifdef __GENIE_PYTHIA8_ENABLED__
219 GetParam( "SSBarSuppression", fSSBarSuppression );
220 GetParam( "GaussianPt2", fGaussianPt2 );
221 GetParam( "NonGaussianPt2Tail", fNonGaussianPt2Tail );
222 GetParam( "RemainingEnergyCutoff", fRemainingECutoff );
223 GetParam( "DiQuarkSuppression", fDiQuarkSuppression );
224 GetParam( "LightVMesonSuppression", fLightVMesonSuppression );
225 GetParam( "SVMesonSuppression", fSVMesonSuppression );
226 GetParam( "Lunda", fLunda );
227 GetParam( "Lundb", fLundb );
228 GetParam( "LundaDiq", fLundaDiq );
229
230 fPythia->settings.parm("StringFlav:probStoUD", fSSBarSuppression);
231 fPythia->settings.parm("Diffraction:primKTwidth", fGaussianPt2);
232 fPythia->settings.parm("StringPT:enhancedFraction", fNonGaussianPt2Tail);
233 fPythia->settings.parm("StringFragmentation:stopMass", fRemainingECutoff);
234 fPythia->settings.parm("StringFlav:probQQtoQ", fDiQuarkSuppression);
235 fPythia->settings.parm("StringFlav:mesonUDvector", fLightVMesonSuppression);
236 fPythia->settings.parm("StringFlav:mesonSvector", fSVMesonSuppression);
237 fPythia->settings.parm("StringZ:aLund", fLunda);
238 fPythia->settings.parm("StringZ:bLund", fLundb);
239 fPythia->settings.parm("StringZ:aExtraDiquark", fLundaDiq);
240
241 // Same default mass of the W boson in pythia8 and genie, so no need to change in pythia8
242 // No problem with energy conservation W and top decays, so no need to set the width to 0
243
244 LOG("PhotonCOHGenerator", pINFO) << "Initialising PYTHIA..." ;
245 fPythia->init();
246#endif
247
248}
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
double fLightVMesonSuppression
light vector meson suppression
double fLundb
Lund b parameter.
double fDiQuarkSuppression
di-quark suppression parameter
double fRemainingECutoff
remaining E cutoff stopping fragmentation
double fSSBarSuppression
ssbar suppression
double fSVMesonSuppression
strange vector meson suppression
double fGaussianPt2
gaussian pt2 distribution width
double fNonGaussianPt2Tail
non gaussian pt2 tail parameterization
double fLundaDiq
adjustment of Lund a for di-quark
double fLunda
Lund a parameter.

References fDiQuarkSuppression, fGaussianPt2, fLightVMesonSuppression, fLunda, fLundaDiq, fLundb, fNonGaussianPt2Tail, fRemainingECutoff, fSSBarSuppression, fSVMesonSuppression, genie::Algorithm::GetParam(), LOG, and pINFO.

Referenced by Configure(), and Configure().

◆ ProcessEventRecord()

void PhotonCOHWdecPythia8::ProcessEventRecord ( GHepRecord * event) const
virtual

Implements genie::EventRecordVisitorI.

Definition at line 31 of file PhotonCOHWdecPythia8.cxx.

32{
33
34 if(!this->Wdecay(event)) {
35 LOG("PhotonCOHGenerator", pWARN) << "W decayer failed!";
36 event->EventFlags()->SetBitNumber(kHadroSysGenErr, true);
37 genie::exceptions::EVGThreadException exception;
38 exception.SetReason("Could not simulate the W decay system");
39 exception.SwitchOnFastForward();
40 throw exception;
41 return;
42 }
43
44}
#define pWARN
Definition Messenger.h:60
bool Wdecay(GHepRecord *event) const
@ kHadroSysGenErr
Definition GHepFlags.h:32

References genie::kHadroSysGenErr, LOG, pWARN, genie::exceptions::EVGThreadException::SetReason(), genie::exceptions::EVGThreadException::SwitchOnFastForward(), and Wdecay().

◆ Wdecay()

bool PhotonCOHWdecPythia8::Wdecay ( GHepRecord * event) const
private

Definition at line 46 of file PhotonCOHWdecPythia8.cxx.

51{
52
53#ifdef __GENIE_PYTHIA8_ENABLED__
54 Interaction * interaction = event->Summary();
55 const InitialState & init_state = interaction->InitState();
56
57 //incoming v & struck particle & remnant nucleus
58 GHepParticle * nu = event->Probe();
59
60 GHepParticle * target = event -> TargetNucleus();
61 if(target) event->AddParticle(target->Pdg(), kIStFinalStateNuclearRemnant, 1,-1,-1,-1, *(target->P4()), *(target->X4()) );
62
63 TVector3 unit_nu = nu->P4()->Vect().Unit();
64
65 long double Ev = init_state.ProbeE(kRfLab);
66
67 long double Mtgt = init_state.Tgt().Z()*kProtonMass + init_state.Tgt().N()*kNeutronMass;
68
69 long double n1 = interaction->Kine().GetKV(kKVn1);
70 long double n2 = interaction->Kine().GetKV(kKVn2);
71 long double n3 = interaction->Kine().GetKV(kKVn3);
72
73 long double costh = n1;
74 long double sinth = sqrtl(1-costh*costh);
75
76 long double mlout = 0;
77 if (pdg::IsNuE (TMath::Abs(nu->Pdg()))) mlout = kElectronMass;
78 else if (pdg::IsNuMu (TMath::Abs(nu->Pdg()))) mlout = kMuonMass;
79 else if (pdg::IsNuTau(TMath::Abs(nu->Pdg()))) mlout = kTauMass;
80 long double mlout2 = mlout*mlout;
81
82 long double mL = mlout+kMw;
83 long double Delta = sqrtl( powl(2.*Ev*Mtgt-mL*mL,2)-4.*powl(Mtgt*mL,2) );
84 long double s12_min = Ev/(2.*Ev+Mtgt)*(mL*mL+2.*Ev*Mtgt-Delta);
85 long double s12_max = Ev/(2.*Ev+Mtgt)*(mL*mL+2.*Ev*Mtgt+Delta);
86 long double s12 = expl( logl(s12_min)+(logl(s12_max)-logl(s12_min))*n2);
87 long double Q2_min = powl(s12,2)*Mtgt/(2.*Ev*(2.*Ev*Mtgt-s12));
88 long double Q2_max = s12 - mL*mL;
89 double Q2 = expl( logl(Q2_min) + (logl(Q2_max)-logl(Q2_min))*n3 );
90 double s_r = s12 - Q2;
91
92 long double EW = (s_r+kMw2-mlout2)/sqrtl(s_r)/2.;
93 long double El = (s_r-kMw2+mlout2)/sqrtl(s_r)/2.;
94 long double p = sqrtl( EW*EW - kMw2 );
95 LongLorentzVector p4_lout( 0., -p*sinth, -p*costh, El );
96
97 long double bz = 4.*Ev*Mtgt*Q2/(Q2+s_r)/(2.*Ev*Mtgt-Q2) - (2.*Ev*Mtgt+Q2)/(2.*Ev*Mtgt-Q2);
98 long double by = sqrtl(Mtgt*powl(Q2+s_r,2)/(2.*Ev*Q2*(s_r+Q2-2.*Ev*Mtgt))+1.);
99
100 p4_lout.BoostZ(-bz);
101 p4_lout.BoostY(-by);
102
103 TLorentzVector p4l_o(p4_lout.Px(),p4_lout.Py(),p4_lout.Pz(),p4_lout.E());
104 p4l_o.RotateX((double)acosl(by)-kPi/2.);
105
106
107 // Randomize transverse components
108 RandomGen * rnd = RandomGen::Instance();
109 double phi = 2 * kPi * rnd->RndLep().Rndm();
110
111 p4l_o.RotateZ(phi);
112
113 //rotate from LAB=[0,0,Ev,Ev]->[px,py,pz,E]
114 p4l_o.RotateUz(unit_nu);
115
116 int pdglout = 0;
117 if (pdg::IsAntiNuE (nu->Pdg())) pdglout = kPdgPositron;
118 else if (pdg::IsNuE (nu->Pdg())) pdglout = kPdgElectron;
119 else if (pdg::IsAntiNuMu (nu->Pdg())) pdglout = kPdgAntiMuon;
120 else if (pdg::IsNuMu (nu->Pdg())) pdglout = kPdgMuon;
121 else if (pdg::IsAntiNuTau(nu->Pdg())) pdglout = kPdgAntiTau;
122 else if (pdg::IsNuTau (nu->Pdg())) pdglout = kPdgTau;
123
124 // Create a GHepParticle and add it to the event record
125 event->AddParticle( pdglout, kIStStableFinalState, 0, -1, -1, -1, p4l_o, *(nu->X4()) );
126
127 int pdgboson = pdg::IsNeutrino(init_state.ProbePdg()) ? kPdgWP : kPdgWM;
128
129 fPythia->event.reset();
130 fPythia->event.append(pdgboson, 23, 0, 0, 0., p*sinth, p*costh, EW, kMw);
131
132 fPythia->next();
133
134 // fPythia->event.list();
135 // fPythia->stat();
136
137 Pythia8::Event &fEvent = fPythia->event;
138 int np = fEvent.size();
139 assert(np>0);
140
141 for (int i = 1; i < np; i++) {
142
143 int pdgc = fEvent[i].id();
144 if (!PDGLibrary::Instance()->Find(pdgc)) continue; // some intermediate particles not part of genie tables
145
146 int ks = fEvent[i].status();
147
148 LongLorentzVector p4longo(fEvent[i].px(), fEvent[i].py(), fEvent[i].pz(), fEvent[i].e());
149 p4longo.BoostZ(-bz);
150 p4longo.BoostY(-by);
151
152 TLorentzVector p4o(p4longo.Px(),p4longo.Py(),p4longo.Pz(),p4longo.E());
153 p4o.RotateX((double)acosl(by)-kPi/2.);
154 p4o.RotateZ(phi);
155 p4o.RotateUz(unit_nu);
156
157 double massPDG = PDGLibrary::Instance()->Find(pdgc)->Mass();
158 if ( ks>0 && p4o.E()<massPDG ) {
159 LOG("PhotonCOHGenerator", pWARN) << "Putting at rest one stable particle generated by PYTHIA because E < m";
160 LOG("PhotonCOHGenerator", pWARN) << "PDG = " << pdgc << " // State = " << ks;
161 LOG("PhotonCOHGenerator", pWARN) << "E = " << p4o.E() << " // |p| = " << TMath::Sqrt(p4o.P());
162 LOG("PhotonCOHGenerator", pWARN) << "p = [ " << p4o.Px() << " , " << p4o.Py() << " , " << p4o.Pz() << " ]";
163 LOG("PhotonCOHGenerator", pWARN) << "m = " << p4o.M() << " // mpdg = " << massPDG;
164 p4o.SetXYZT(0,0,0,massPDG);
165 }
166
167 // copy final state particles to the event record
169
170 // fix numbering scheme used for mother/daughter assignments
171 int firstmother = -1;
172 int lastmother = -1;
173 int firstchild = -1;
174 int lastchild = -1;
175
176 if (fEvent[i].mother1()==0) {
177 firstmother = 0;
178 }
179 else {
180 firstmother = fEvent[i].mother1() + 3;
181 if (fEvent[i].daughter1()!=0) firstchild = fEvent[i].daughter1() + 3;
182 if (fEvent[i].daughter2()!=0) lastchild = fEvent[i].daughter2() + 3;
183
184 }
185
186 double vx = nu->X4()->X() + fEvent[i].xProd()*1e12; //pythia gives position in [mm] while genie uses [fm]
187 double vy = nu->X4()->Y() + fEvent[i].yProd()*1e12;
188 double vz = nu->X4()->Z() + fEvent[i].zProd()*1e12;
189 double vt = nu->X4()->T() + fEvent[i].tProd()*(units::millimeter/units::second);
190 TLorentzVector pos( vx, vy, vz, vt );
191
192 event->AddParticle(pdgc, ist, firstmother, lastmother, firstchild, lastchild, p4o, pos );
193
194 }
195
196 return true;
197#else
198 return false;
199#endif
200
201}
int Pdg(void) const
const TLorentzVector * P4(void) const
const TLorentzVector * X4(void) const
const Target & Tgt(void) const
TParticlePDG * Probe(void) const
int ProbePdg(void) const
double ProbeE(RefFrame_t rf) const
const Kinematics & Kine(void) const
Definition Interaction.h:71
const InitialState & InitState(void) const
Definition Interaction.h:69
double GetKV(KineVar_t kv) const
static PDGLibrary * Instance(void)
TParticlePDG * Find(int pdgc, bool must_exist=true)
TRandom3 & RndLep(void) const
rnd number generator used by final state primary lepton generators
Definition RandomGen.h:62
int N(void) const
Definition Target.h:69
int Z(void) const
Definition Target.h:68
const double e
bool IsAntiNuTau(int pdgc)
Definition PDGUtils.cxx:183
bool IsNuE(int pdgc)
Definition PDGUtils.cxx:158
bool IsAntiNuE(int pdgc)
Definition PDGUtils.cxx:173
bool IsAntiNuMu(int pdgc)
Definition PDGUtils.cxx:178
bool IsNeutrino(int pdgc)
Definition PDGUtils.cxx:110
bool IsNuMu(int pdgc)
Definition PDGUtils.cxx:163
bool IsNuTau(int pdgc)
Definition PDGUtils.cxx:168
static constexpr double millimeter
Definition Units.h:41
static constexpr double second
Definition Units.h:37
double Q2(const Interaction *const i)
@ kIStFinalStateNuclearRemnant
Definition GHepStatus.h:38
@ kIStDISPreFragmHadronicState
Definition GHepStatus.h:35
@ kIStStableFinalState
Definition GHepStatus.h:30
const int kPdgAntiMuon
Definition PDGCodes.h:38
const int kPdgWM
Definition PDGCodes.h:192
const int kPdgTau
Definition PDGCodes.h:39
enum genie::EGHepStatus GHepStatus_t
@ kKVn2
Definition KineVar.h:62
@ kKVn1
Definition KineVar.h:61
@ kKVn3
Definition KineVar.h:63
@ kRfLab
Definition RefFrame.h:26
const int kPdgWP
Definition PDGCodes.h:191
const int kPdgMuon
Definition PDGCodes.h:37
const int kPdgPositron
Definition PDGCodes.h:36
const int kPdgAntiTau
Definition PDGCodes.h:40
const int kPdgElectron
Definition PDGCodes.h:35

References genie::utils::math::LongLorentzVector::BoostY(), genie::utils::math::LongLorentzVector::BoostZ(), genie::utils::math::LongLorentzVector::E(), e, genie::PDGLibrary::Find(), genie::Kinematics::GetKV(), genie::Interaction::InitState(), genie::PDGLibrary::Instance(), genie::RandomGen::Instance(), genie::pdg::IsAntiNuE(), genie::pdg::IsAntiNuMu(), genie::pdg::IsAntiNuTau(), genie::pdg::IsNeutrino(), genie::pdg::IsNuE(), genie::pdg::IsNuMu(), genie::pdg::IsNuTau(), genie::constants::kElectronMass, genie::Interaction::Kine(), genie::kIStDISPreFragmHadronicState, genie::kIStFinalStateNuclearRemnant, genie::kIStStableFinalState, genie::kKVn1, genie::kKVn2, genie::kKVn3, genie::constants::kMuonMass, genie::constants::kMw, genie::constants::kMw2, genie::constants::kNeutronMass, genie::kPdgAntiMuon, genie::kPdgAntiTau, genie::kPdgElectron, genie::kPdgMuon, genie::kPdgPositron, genie::kPdgTau, genie::kPdgWM, genie::kPdgWP, genie::constants::kPi, genie::constants::kProtonMass, genie::kRfLab, genie::constants::kTauMass, LOG, genie::units::millimeter, genie::Target::N(), genie::GHepParticle::P4(), genie::GHepParticle::Pdg(), genie::InitialState::ProbeE(), genie::InitialState::ProbePdg(), pWARN, genie::utils::math::LongLorentzVector::Px(), genie::utils::math::LongLorentzVector::Py(), genie::utils::math::LongLorentzVector::Pz(), genie::RandomGen::RndLep(), genie::units::second, genie::InitialState::Tgt(), genie::GHepParticle::X4(), and genie::Target::Z().

Referenced by ProcessEventRecord().

Member Data Documentation

◆ fDiQuarkSuppression

double genie::PhotonCOHWdecPythia8::fDiQuarkSuppression
private

di-quark suppression parameter

Definition at line 71 of file PhotonCOHWdecPythia8.h.

Referenced by LoadConfig().

◆ fGaussianPt2

double genie::PhotonCOHWdecPythia8::fGaussianPt2
private

gaussian pt2 distribution width

Definition at line 68 of file PhotonCOHWdecPythia8.h.

Referenced by LoadConfig().

◆ fLightVMesonSuppression

double genie::PhotonCOHWdecPythia8::fLightVMesonSuppression
private

light vector meson suppression

Definition at line 72 of file PhotonCOHWdecPythia8.h.

Referenced by LoadConfig().

◆ fLunda

double genie::PhotonCOHWdecPythia8::fLunda
private

Lund a parameter.

Definition at line 74 of file PhotonCOHWdecPythia8.h.

Referenced by LoadConfig().

◆ fLundaDiq

double genie::PhotonCOHWdecPythia8::fLundaDiq
private

adjustment of Lund a for di-quark

Definition at line 76 of file PhotonCOHWdecPythia8.h.

Referenced by LoadConfig().

◆ fLundb

double genie::PhotonCOHWdecPythia8::fLundb
private

Lund b parameter.

Definition at line 75 of file PhotonCOHWdecPythia8.h.

Referenced by LoadConfig().

◆ fNonGaussianPt2Tail

double genie::PhotonCOHWdecPythia8::fNonGaussianPt2Tail
private

non gaussian pt2 tail parameterization

Definition at line 69 of file PhotonCOHWdecPythia8.h.

Referenced by LoadConfig().

◆ fRemainingECutoff

double genie::PhotonCOHWdecPythia8::fRemainingECutoff
private

remaining E cutoff stopping fragmentation

Definition at line 70 of file PhotonCOHWdecPythia8.h.

Referenced by LoadConfig().

◆ fSSBarSuppression

double genie::PhotonCOHWdecPythia8::fSSBarSuppression
private

ssbar suppression

Definition at line 67 of file PhotonCOHWdecPythia8.h.

Referenced by LoadConfig().

◆ fSVMesonSuppression

double genie::PhotonCOHWdecPythia8::fSVMesonSuppression
private

strange vector meson suppression

Definition at line 73 of file PhotonCOHWdecPythia8.h.

Referenced by LoadConfig().


The documentation for this class was generated from the following files: