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

Glashow resonance decay with pythia6. More...

#include <GLRESWdecPythia6.h>

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

Public Member Functions

 GLRESWdecPythia6 ()
 GLRESWdecPythia6 (string config)
 ~GLRESWdecPythia6 ()
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
Bornborn

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

Glashow resonance decay with pythia6.

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 46 of file GLRESWdecPythia6.h.

Constructor & Destructor Documentation

◆ GLRESWdecPythia6() [1/2]

GLRESWdecPythia6::GLRESWdecPythia6 ( )

Definition at line 22 of file GLRESWdecPythia6.cxx.

22 :
23EventRecordVisitorI("genie::GLRESWdecPythia6")
24{
25 this->Initialize();
26 born = new Born();
27}

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

◆ GLRESWdecPythia6() [2/2]

GLRESWdecPythia6::GLRESWdecPythia6 ( string config)

Definition at line 29 of file GLRESWdecPythia6.cxx.

29 :
30EventRecordVisitorI("genie::GLRESWdecPythia6", config)
31{
32 this->Initialize();
33 born = new Born();
34}

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

◆ ~GLRESWdecPythia6()

GLRESWdecPythia6::~GLRESWdecPythia6 ( )

Definition at line 36 of file GLRESWdecPythia6.cxx.

37{
38
39}

Member Function Documentation

◆ Configure() [1/2]

void GLRESWdecPythia6::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 252 of file GLRESWdecPythia6.cxx.

253{
254 Algorithm::Configure(config);
255 this->LoadConfig();
256}
virtual void Configure(const Registry &config)
Definition Algorithm.cxx:62

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

◆ Configure() [2/2]

void GLRESWdecPythia6::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 258 of file GLRESWdecPythia6.cxx.

259{
260 Algorithm::Configure(config);
261 this->LoadConfig();
262}

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

◆ Initialize()

void GLRESWdecPythia6::Initialize ( void ) const
private

Definition at line 310 of file GLRESWdecPythia6.cxx.

311{
312
313#ifdef __GENIE_PYTHIA6_ENABLED__
314 fPythia = TPythia6::Instance();
315
316 // sync GENIE/PYTHIA6 seed number
318#endif
319
320}
static RandomGen * Instance()
Access instance.
Definition RandomGen.cxx:74

References genie::RandomGen::Instance().

Referenced by GLRESWdecPythia6(), and GLRESWdecPythia6().

◆ LoadConfig()

void GLRESWdecPythia6::LoadConfig ( void )
private

Definition at line 264 of file GLRESWdecPythia6.cxx.

265{
266
267#ifdef __GENIE_PYTHIA6_ENABLED__
268 GetParam( "SSBarSuppression", fSSBarSuppression );
269 GetParam( "GaussianPt2", fGaussianPt2 );
270 GetParam( "NonGaussianPt2Tail", fNonGaussianPt2Tail );
271 GetParam( "RemainingEnergyCutoff", fRemainingECutoff );
272 GetParam( "DiQuarkSuppression", fDiQuarkSuppression );
273 GetParam( "LightVMesonSuppression", fLightVMesonSuppression );
274 GetParam( "SVMesonSuppression", fSVMesonSuppression );
275 GetParam( "Lunda", fLunda );
276 GetParam( "Lundb", fLundb );
277 GetParam( "LundaDiq", fLundaDiq );
278
279 // PYTHIA parameters only valid for HEDIS
280 double wmin; GetParam( "Xsec-Wmin", wmin ) ;
281 int warnings; GetParam( "Warnings", warnings ) ;
282 int errors; GetParam( "Errors", errors ) ;
283 int qrk_mass; GetParam( "QuarkMass", qrk_mass ) ;
284 fPythia->SetPARP(2, wmin); //(D = 10. GeV) lowest c.m. energy for the event as a whole that the program will accept to simulate. (bellow 2GeV pythia crashes)
285 fPythia->SetMSTU(26, warnings); // (Default=10) maximum number of warnings that are printed
286 fPythia->SetMSTU(22, errors); // (Default=10) maximum number of errors that are printed
287 fPythia->SetMSTJ(93, qrk_mass); // light (d, u, s, c, b) quark masses are taken from PARF(101) - PARF(105) rather than PMAS(1,1) - PMAS(5,1). Diquark masses are given as sum of quark masses, without spin splitting term.
288 fPythia->SetPMAS(24,1,kMw); //mass of the W boson (pythia=80.450 // genie=80.385)
289 fPythia->SetPMAS(24,2,0.); //set to 0 the width of the W boson to avoid problems with energy conservation
290 fPythia->SetPMAS(6,2,0.); //set to 0 the width of the top to avoid problems with energy conservation
291 fPythia->SetMDME(192,1,0); // W->dbar+t decay off
292 fPythia->SetMDME(196,1,0); // W->cbar+t decay off
293 fPythia->SetMDME(200,1,0); // W->cbar+t decay off
294
295 // PYTHIA tuned parameters
296 fPythia->SetPARJ(2, fSSBarSuppression );
297 fPythia->SetPARJ(21, fGaussianPt2 );
298 fPythia->SetPARJ(23, fNonGaussianPt2Tail );
299 fPythia->SetPARJ(33, fRemainingECutoff );
300 fPythia->SetPARJ(1, fDiQuarkSuppression );
301 fPythia->SetPARJ(11, fLightVMesonSuppression );
302 fPythia->SetPARJ(12, fSVMesonSuppression );
303 fPythia->SetPARJ(41, fLunda );
304 fPythia->SetPARJ(42, fLundb );
305 fPythia->SetPARJ(45, fLundaDiq );
306#endif // __GENIE_PYTHIA6_ENABLED__
307
308}
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
double fLundb
Lund b parameter.
double fSSBarSuppression
ssbar suppression
double fNonGaussianPt2Tail
non gaussian pt2 tail parameterization
double fLightVMesonSuppression
light vector meson suppression
double fLunda
Lund a parameter.
double fDiQuarkSuppression
di-quark suppression parameter
double fRemainingECutoff
remaining E cutoff stopping fragmentation
double fSVMesonSuppression
strange vector meson suppression
double fLundaDiq
adjustment of Lund a for di-quark
double fGaussianPt2
gaussian pt2 distribution width

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

Referenced by Configure(), and Configure().

◆ ProcessEventRecord()

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

Implements genie::EventRecordVisitorI.

Definition at line 41 of file GLRESWdecPythia6.cxx.

42{
43
44 if(!this->Wdecay(event)) {
45 LOG("GLRESGenerator", pWARN) << "W decayer failed!";
46 event->EventFlags()->SetBitNumber(kHadroSysGenErr, true);
47 genie::exceptions::EVGThreadException exception;
48 exception.SetReason("Could not simulate the W decay system");
49 exception.SwitchOnFastForward();
50 throw exception;
51 return;
52 }
53
54}
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Definition Messenger.h:96
#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 GLRESWdecPythia6::Wdecay ( GHepRecord * event) const
private

Definition at line 56 of file GLRESWdecPythia6.cxx.

61{
62
63#ifdef __GENIE_PYTHIA6_ENABLED__
64 Interaction * interaction = event->Summary();
65 const InitialState & init_state = interaction->InitState();
66
67 //incoming v & struck particle & remnant nucleus
68 GHepParticle * nu = event->Probe();
69 GHepParticle * el = event->HitElectron();
70
71 GHepParticle * target = event -> TargetNucleus();
72 if(target) event->AddParticle(target->Pdg(), kIStFinalStateNuclearRemnant, 1,-1,-1,-1, *(target->P4()), *(target->X4()) );
73
74 TVector3 unit_nu = nu->P4()->Vect().Unit();
75
76 long double mlout = interaction->FSPrimLepton()->Mass(); //mass of charged lepton
77 long double mlin = kElectronMass; //mass of incoming charged lepton
78
79 long double Enuin = init_state.ProbeE(kRfLab);
80 long double s = born->GetS(mlin,Enuin);
81
82 long double n1 = interaction->Kine().GetKV(kKVn1);
83 long double n2 = interaction->Kine().GetKV(kKVn2);
84
85 long double costhCM = n1;
86 long double sinthCM = sqrtl(1-costhCM*costhCM);
87
88 long double t = born->GetT(mlin,mlout,s,n1);
89 long double zeta = born->GetReAlpha()/kPi*(2.0*logl(sqrtl(-t)/kElectronMass)-1.0);
90 long double omx = powl(n2, 1.0/zeta );
91 long double s_r = s*( 1.-omx );
92
93 // Boost velocity CM -> LAB
94 long double EnuinCM = (s_r-mlin*mlin)/sqrtl(s_r)/2.;
95 long double beta = (powl(Enuin,2)-powl(EnuinCM,2))/(powl(Enuin,2)+powl(EnuinCM,2));
96
97 // Final state primary lepton PDG code
98 int pdgl = interaction->FSPrimLeptonPdg();
99 assert(pdgl!=0);
100
101 if ( pdg::IsElectron(TMath::Abs(pdgl)) || pdg::IsMuon(TMath::Abs(pdgl)) || pdg::IsTau(TMath::Abs(pdgl)) ) {
102
103 long double ElpoutCM = (s_r+mlout*mlout)/sqrtl(s_r)/2.;
104 long double EnuoutCM = (s_r-mlout*mlout)/sqrtl(s_r)/2.;
105 LongLorentzVector p4_lpout( 0., EnuoutCM*sinthCM, EnuoutCM*costhCM, ElpoutCM );
106 LongLorentzVector p4_nuout( 0., -EnuoutCM*sinthCM, -EnuoutCM*costhCM, EnuoutCM );
107
108 p4_lpout.BoostZ(beta);
109 p4_nuout.BoostZ(beta);
110
111 TLorentzVector p4lp_o( (double)p4_lpout.Px(), (double)p4_lpout.Py(), (double)p4_lpout.Pz(), (double)p4_lpout.E() );
112 TLorentzVector p4nu_o( (double)p4_nuout.Px(), (double)p4_nuout.Py(), (double)p4_nuout.Pz(), (double)p4_nuout.E() );
113
114 // Randomize transverse components
115 RandomGen * rnd = RandomGen::Instance();
116 double phi = 2* kPi * rnd->RndLep().Rndm();
117 p4lp_o.RotateZ(phi);
118 p4nu_o.RotateZ(phi);
119
120 //rotate from LAB=[0,0,Ev,Ev]->[px,py,pz,E]
121 p4lp_o.RotateUz(unit_nu);
122 p4nu_o.RotateUz(unit_nu);
123
124 int pdgvout = 0;
125 if ( pdg::IsElectron(pdgl) ) pdgvout = kPdgAntiNuE;
126 else if ( pdg::IsPositron(pdgl) ) pdgvout = kPdgNuE;
127 else if ( pdg::IsMuon(pdgl) ) pdgvout = kPdgAntiNuMu;
128 else if ( pdg::IsAntiMuon(pdgl) ) pdgvout = kPdgNuMu;
129 else if ( pdg::IsTau(pdgl) ) pdgvout = kPdgAntiNuTau;
130 else if ( pdg::IsAntiTau(pdgl) ) pdgvout = kPdgNuTau;
131
132 int pdgboson = pdg::IsNeutrino(init_state.ProbePdg()) ? kPdgWP : kPdgWM;
133
134 // Create a GHepParticle and add it to the event record
135 event->AddParticle( pdgboson, kIStDecayedState, 0, -1, 5, 6, *nu->P4()+*el->P4(), *(nu->X4()) ); //W [mothers: nuebar_in,e_in][daugthers: nulbar_out,lp_out]
136 event->AddParticle( pdgl, kIStStableFinalState, 4, -1, -1, -1, p4lp_o, *(nu->X4()) );
137 event->AddParticle( pdgvout, kIStStableFinalState, 4, -1, -1, -1, p4nu_o, *(nu->X4()) );
138 event->Summary()->KinePtr()->SetFSLeptonP4(p4lp_o);
139
140 }
141 else {
142
143 char p6frame[10],p6nu[10],p6tgt[10];
144 strcpy(p6frame, "CMS" );
145 strcpy(p6nu, "nu_ebar" );
146 strcpy(p6tgt, "e-" );
147
148 int def61 = fPythia->GetMSTP(61);
149 int def71 = fPythia->GetMSTP(71);
150 int def206 = fPythia->GetMDME(206,1);
151 int def207 = fPythia->GetMDME(207,1);
152 int def208 = fPythia->GetMDME(208,1);
153 fPythia->SetMSTP(61,0); // (Default=2) master switch for initial-state QCD and QED radiation.
154 fPythia->SetMSTP(71,0); // (Default=2) master switch for initial-state QCD and QED radiation.
155 fPythia->SetMDME(206,1,0); //swicht off W decay leptonic modes
156 fPythia->SetMDME(207,1,0);
157 fPythia->SetMDME(208,1,0);
158
159 fPythia->Pyinit(p6frame, p6nu, p6tgt, sqrtl(s_r));
160 fPythia->Pyevnt();
161
162 fPythia->SetMSTP(61,def61);
163 fPythia->SetMSTP(71,def71);
164 fPythia->SetMDME(206,1,def206);
165 fPythia->SetMDME(207,1,def207);
166 fPythia->SetMDME(208,1,def208);
167
168 // get LUJETS record
169 fPythia->GetPrimaries();
170 TClonesArray * pythia_particles = (TClonesArray *) fPythia->ImportParticles("All");
171 int np = pythia_particles->GetEntries();
172 assert(np>0);
173
174 TMCParticle * particle = 0;
175 TIter piter(pythia_particles);
176 while( (particle = (TMCParticle *) piter.Next()) ) {
177
178 int pdgc = particle->GetKF();
179 int ks = particle->GetKS();
180
181 if ( ks==21 ) { continue; } //we dont want to save first particles from pythia (init states)
182
183 LongLorentzVector p4longo(particle->GetPx(), particle->GetPy(), particle->GetPz(), particle->GetEnergy());
184 p4longo.BoostZ(beta);
185
186 TLorentzVector p4o( (double)p4longo.Px(), (double)p4longo.Py(), (double)p4longo.Pz(), (double)p4longo.E() );
187 p4o.RotateUz(unit_nu);
188
189 double massPDG = PDGLibrary::Instance()->Find(pdgc)->Mass();
190 if ( (ks==1 || ks==4) && p4o.E()<massPDG ) {
191 LOG("GLRESGenerator", pWARN) << "Putting at rest one stable particle generated by PYTHIA because E < m";
192 LOG("GLRESGenerator", pWARN) << "PDG = " << pdgc << " // State = " << ks;
193 LOG("GLRESGenerator", pWARN) << "E = " << p4o.E() << " // |p| = " << TMath::Sqrt(p4o.P());
194 LOG("GLRESGenerator", pWARN) << "p = [ " << p4o.Px() << " , " << p4o.Py() << " , " << p4o.Pz() << " ]";
195 LOG("GLRESGenerator", pWARN) << "m = " << p4o.M() << " // mpdg = " << massPDG;
196 p4o.SetXYZT(0,0,0,massPDG);
197 }
198
199 // copy final state particles to the event record
201
202 // fix numbering scheme used for mother/daughter assignments
203 int firstmother = -1;
204 int lastmother = -1;
205 int firstchild = -1;
206 int lastchild = -1;
207
208 if ( particle->GetParent() < 10 ) {
209 if ( TMath::Abs(pdgc)<7 ) { //outgoing quarks: mother will be the boson (saved in position 4)
210 firstmother = 4;
211 firstchild = particle->GetFirstChild() - 6;
212 lastchild = particle->GetLastChild() - 6;
213 }
214 else if ( TMath::Abs(pdgc)==24 ) { //produced W boson: mother will be the incoming neutrino
215 firstmother = 0;
216 firstchild = particle->GetFirstChild() - 6;
217 lastchild = particle->GetLastChild() - 6;
218 }
219 else if ( pdgc==22 ) { //radiative photons: mother will be the incoming electron
220 firstmother = 2;
221 }
222 }
223 else { //rest
224 firstmother = particle->GetParent() - 6; //shift to match boson position
225 firstchild = (particle->GetFirstChild()==0) ? particle->GetFirstChild() - 1 : particle->GetFirstChild() - 6;
226 lastchild = (particle->GetLastChild()==0) ? particle->GetLastChild() - 1 : particle->GetLastChild() - 6;
227 }
228
229 double vx = nu->X4()->X() + particle->GetVx()*1e12; //pythia gives position in [mm] while genie uses [fm]
230 double vy = nu->X4()->Y() + particle->GetVy()*1e12;
231 double vz = nu->X4()->Z() + particle->GetVz()*1e12;
232 double vt = nu->X4()->T() + particle->GetTime()*(units::millimeter/units::second);
233 TLorentzVector pos( vx, vy, vz, vt );
234
235 event->AddParticle(pdgc, ist, firstmother, lastmother, firstchild, lastchild, p4o, pos );
236
237 }
238
239 delete particle;
240 pythia_particles->Clear("C");
241
242 }
243
244 return true;
245#else
246 return false;
247#endif
248
249
250}
int Pdg(void) const
const TLorentzVector * P4(void) const
const TLorentzVector * X4(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
int FSPrimLeptonPdg(void) const
final state primary lepton pdg
TParticlePDG * FSPrimLepton(void) const
final state primary lepton
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
bool IsTau(int pdgc)
Definition PDGUtils.cxx:208
bool IsNeutrino(int pdgc)
Definition PDGUtils.cxx:110
bool IsPositron(int pdgc)
Definition PDGUtils.cxx:193
bool IsElectron(int pdgc)
Definition PDGUtils.cxx:188
bool IsAntiTau(int pdgc)
Definition PDGUtils.cxx:213
bool IsAntiMuon(int pdgc)
Definition PDGUtils.cxx:203
bool IsMuon(int pdgc)
Definition PDGUtils.cxx:198
static constexpr double millimeter
Definition Units.h:41
static constexpr double second
Definition Units.h:37
@ kIStFinalStateNuclearRemnant
Definition GHepStatus.h:38
@ kIStDISPreFragmHadronicState
Definition GHepStatus.h:35
@ kIStStableFinalState
Definition GHepStatus.h:30
@ kIStDecayedState
Definition GHepStatus.h:32
const int kPdgWM
Definition PDGCodes.h:192
const int kPdgAntiNuE
Definition PDGCodes.h:29
enum genie::EGHepStatus GHepStatus_t
const int kPdgAntiNuTau
Definition PDGCodes.h:33
@ kKVn2
Definition KineVar.h:62
@ kKVn1
Definition KineVar.h:61
const int kPdgNuE
Definition PDGCodes.h:28
const int kPdgNuTau
Definition PDGCodes.h:32
@ kRfLab
Definition RefFrame.h:26
const int kPdgAntiNuMu
Definition PDGCodes.h:31
const int kPdgWP
Definition PDGCodes.h:191
const int kPdgNuMu
Definition PDGCodes.h:30

References genie::utils::math::LongLorentzVector::BoostZ(), born, genie::utils::math::LongLorentzVector::E(), genie::PDGLibrary::Find(), genie::Interaction::FSPrimLepton(), genie::Interaction::FSPrimLeptonPdg(), genie::Kinematics::GetKV(), genie::Interaction::InitState(), genie::PDGLibrary::Instance(), genie::RandomGen::Instance(), genie::pdg::IsAntiMuon(), genie::pdg::IsAntiTau(), genie::pdg::IsElectron(), genie::pdg::IsMuon(), genie::pdg::IsNeutrino(), genie::pdg::IsPositron(), genie::pdg::IsTau(), genie::constants::kElectronMass, genie::Interaction::Kine(), genie::kIStDecayedState, genie::kIStDISPreFragmHadronicState, genie::kIStFinalStateNuclearRemnant, genie::kIStStableFinalState, genie::kKVn1, genie::kKVn2, genie::kPdgAntiNuE, genie::kPdgAntiNuMu, genie::kPdgAntiNuTau, genie::kPdgNuE, genie::kPdgNuMu, genie::kPdgNuTau, genie::kPdgWM, genie::kPdgWP, genie::constants::kPi, genie::kRfLab, LOG, genie::units::millimeter, 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, and genie::GHepParticle::X4().

Referenced by ProcessEventRecord().

Member Data Documentation

◆ born

Born* genie::GLRESWdecPythia6::born
private

Definition at line 80 of file GLRESWdecPythia6.h.

Referenced by GLRESWdecPythia6(), GLRESWdecPythia6(), and Wdecay().

◆ fDiQuarkSuppression

double genie::GLRESWdecPythia6::fDiQuarkSuppression
private

di-quark suppression parameter

Definition at line 73 of file GLRESWdecPythia6.h.

Referenced by LoadConfig().

◆ fGaussianPt2

double genie::GLRESWdecPythia6::fGaussianPt2
private

gaussian pt2 distribution width

Definition at line 70 of file GLRESWdecPythia6.h.

Referenced by LoadConfig().

◆ fLightVMesonSuppression

double genie::GLRESWdecPythia6::fLightVMesonSuppression
private

light vector meson suppression

Definition at line 74 of file GLRESWdecPythia6.h.

Referenced by LoadConfig().

◆ fLunda

double genie::GLRESWdecPythia6::fLunda
private

Lund a parameter.

Definition at line 76 of file GLRESWdecPythia6.h.

Referenced by LoadConfig().

◆ fLundaDiq

double genie::GLRESWdecPythia6::fLundaDiq
private

adjustment of Lund a for di-quark

Definition at line 78 of file GLRESWdecPythia6.h.

Referenced by LoadConfig().

◆ fLundb

double genie::GLRESWdecPythia6::fLundb
private

Lund b parameter.

Definition at line 77 of file GLRESWdecPythia6.h.

Referenced by LoadConfig().

◆ fNonGaussianPt2Tail

double genie::GLRESWdecPythia6::fNonGaussianPt2Tail
private

non gaussian pt2 tail parameterization

Definition at line 71 of file GLRESWdecPythia6.h.

Referenced by LoadConfig().

◆ fRemainingECutoff

double genie::GLRESWdecPythia6::fRemainingECutoff
private

remaining E cutoff stopping fragmentation

Definition at line 72 of file GLRESWdecPythia6.h.

Referenced by LoadConfig().

◆ fSSBarSuppression

double genie::GLRESWdecPythia6::fSSBarSuppression
private

ssbar suppression

Definition at line 69 of file GLRESWdecPythia6.h.

Referenced by LoadConfig().

◆ fSVMesonSuppression

double genie::GLRESWdecPythia6::fSVMesonSuppression
private

strange vector meson suppression

Definition at line 75 of file GLRESWdecPythia6.h.

Referenced by LoadConfig().


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