herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
ISGW2FormFactor.h
1// -*- C++ -*-
2//
3// ISGW2FormFactor.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4// Copyright (C) 2002-2019 The Herwig Collaboration
5//
6// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8//
9#ifndef HERWIG_ISGW2FormFactor_H
10#define HERWIG_ISGW2FormFactor_H
11//
12// This is the declaration of the ISGW2FormFactor class.
13//
14#include "ScalarFormFactor.h"
15#include "ThePEG/StandardModel/StandardModelBase.h"
16#include "ThePEG/PDT/EnumParticles.h"
17#include "ThePEG/PDT/ParticleData.h"
18#include "ThePEG/Repository/EventGenerator.h"
19
20namespace Herwig {
21using namespace ThePEG;
22
37
38public:
39
44
58 virtual void ScalarScalarFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1,
59 Energy m0,Energy m1,Complex & f0,
60 Complex & fp) const;
61
75 virtual void ScalarVectorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1,
76 Energy m0, Energy m1, Complex & V,
77 Complex & A0,Complex & A1,Complex & A2) const;
78
92 virtual void ScalarTensorFormFactor(Energy2 q2,unsigned int iloc,int id0,int id1,
93 Energy m0,Energy m1, complex<InvEnergy2> & h,
94 Complex & k, complex<InvEnergy2> & bp,
95 complex<InvEnergy2> & bm) const;
97
104 virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
105
106public:
107
115
121 void persistentInput(PersistentIStream & is, int version);
123
127 static void Init();
128
129protected:
130
143 void formFactor(Energy2 q2,unsigned int iloc,int id0,int id1,Energy m0,
144 Energy m1,Complex & f1,Complex & f2,
145 Complex & f3,Complex & f4) const;
146 // general member to calculate all the form-factors
147
148protected:
149
156 virtual IBPtr clone() const {return new_ptr(*this);}
157
162 virtual IBPtr fullclone() const {return new_ptr(*this);}
164
165protected:
166
174 virtual void doinit();
176
177private:
178
183
184protected:
185
192 double alphaS(Energy mass, Energy2 q2) const {
193 Energy2 lqcd2(0.04*GeV2);
194 double nflav(4.);
195 double output(_alphamuQM);
196 if (q2>0.36*GeV2) {
197 if(mass<_mcharm+0.03*GeV) nflav=3.0;
198 output = 12.*Constants::pi/(33.-2.*nflav)/log(q2/lqcd2);
199 }
200 return output;
201 }
202
203private:
204
210 Energy _mdown;
211
215 Energy _mup;
216
220 Energy _mstrange;
221
225 Energy _mcharm;
226
230 Energy _mbottom;
231
235 vector<Energy> _mquark;
237
240
245
250
255
260
265
270
275
280
285
289 vector<vector<Energy> > _beta1S0;
290
294 vector<vector<Energy> > _mass1S0;
296
303
308
313
318
323
328
333
338
343
347 vector<vector<Energy> > _beta3S1;
349
350
353
357 Energy _beta1Pud;
358
362 Energy _beta1Pus;
363
367 Energy _beta1Pss;
368
372 Energy _beta1Pcu;
373
377 Energy _beta1Pcs;
378
382 Energy _beta1Pub;
383
387 Energy _beta1Psb;
388
392 Energy _beta1Pcc;
393
397 Energy _beta1Pbc;
398
402 vector<vector<Energy> > _beta1P;
403
407 // the 1/2 spin masses
408 vector<vector<Energy> > _massPoh;
409
413 vector<vector<Energy> > _massPth;
415
425 vector<double> _alphaQ;
427
433 double _CfDrho;
434
438 double _CfDKstar;
439
444
448 double _CfDsphi;
449
453 double _CfBrho;
454
458 double _CfBDstar;
459
464
469
474
478 double _CfBcpsi;
479
484
490
494 double _thetaeta;
495
500};
501
502}
503
504#endif /* HERWIG_ISGW2FormFactor_H */
The ISGW2FormFactor class is the implementation of the ISGW2 model of Phys.
bool _includeaW
Include the piece of the factor.
Energy _beta1Psb
The wavefunction variational parameter for .
Energy _beta1S0ss
The wavefunction variational parameter for .
Energy _beta1Pus
The wavefunction variational parameter for .
vector< Energy > _mquark
The masses of the quarks as a vector.
Energy _beta1S0bc
The wavefunction variational parameter for .
double _CfBDstar
The correction factor for .
ISGW2FormFactor()
Default constructor.
Energy _beta1S0us
The wavefunction variational parameter for .
Energy _beta1S0cs
The wavefunction variational parameter for .
Energy _mstrange
The strange quark mass.
Energy _beta3S1cu
The wavefunction variational parameter for .
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Energy _beta3S1sb
The wavefunction variational parameter for .
double _CfBcDstar
The correction factor for .
double _CfDKstar
The correction factor for .
double _CfBrho
The correction factor for .
double _CfBsKstar
The correction factor for .
vector< vector< Energy > > _beta1P
The wavefunction paramaeters as an array.
Energy _mup
The up quark mass.
Energy _beta1Pcu
The wavefunction variational parameter for .
Energy _mbottom
The bottom quark mass.
static void Init()
Standard Init function used to initialize the interfaces.
double _CfDrho
The correction factor for .
Energy _beta3S1cs
The wavefunction variational parameter for .
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
double _thetaeta
The mixing angle.
double _CfBcBsstar
The correction factor for .
Energy _mcharm
The charm quark mass.
vector< double > _alphaQ
The values of at the quark masses.
vector< vector< Energy > > _mass1S0
The masses as a array.
double alphaS(Energy mass, Energy2 q2) const
The saturated used to calculate the form-factors.
vector< vector< Energy > > _beta1S0
The wavefunction parameters as an array.
vector< vector< Energy > > _beta3S1
The wavefunction paramaeters as an array.
double _alphamuQM
The cut-off value of .
double _CfBcBstar
The correction factor for .
Energy _beta1S0ud
The wavefunction variational parameter for .
virtual void ScalarTensorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, Energy m0, Energy m1, complex< InvEnergy2 > &h, Complex &k, complex< InvEnergy2 > &bp, complex< InvEnergy2 > &bm) const
The form factor for the weak decay of a scalar to a tensor.
Energy _beta1Pcc
The wavefunction variational parameter for .
Energy _beta1S0cu
The wavefunction variational parameter for .
virtual IBPtr clone() const
Make a simple clone of this object.
Energy _beta1S0ub
The wavefunction variational parameter for .
Energy _beta1S0sb
The wavefunction variational parameter for .
virtual void ScalarScalarFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, Energy m0, Energy m1, Complex &f0, Complex &fp) const
The form factor for the weak decay of a scalar to a scalar.
double _CfBsDstar
The correction factor for .
double _CfDsphi
The correction factor for .
Energy _beta1Pub
The wavefunction variational parameter for .
Energy _beta3S1ud
The wavefunction variational parameter for .
Energy _beta3S1cc
The wavefunction variational parameter for .
Energy _beta3S1us
The wavefunction variational parameter for .
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Energy _beta1Pcs
The wavefunction variational parameter for .
double _CfDsKstar
The correction factor for .
vector< vector< Energy > > _massPoh
The spin-1/2 masses.
Energy _beta3S1bc
The wavefunction variational parameter for .
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual void ScalarVectorFormFactor(Energy2 q2, unsigned int iloc, int id0, int id1, Energy m0, Energy m1, Complex &V, Complex &A0, Complex &A1, Complex &A2) const
The form factor for the weak decay of a scalar to a vector.
Energy _beta1Pbc
The wavefunction variational parameter for .
Energy _beta1Pss
The wavefunction variational parameter for .
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
double _CfBcpsi
The correction factor for .
Energy _beta1Pud
The wavefunction variational parameter for .
void formFactor(Energy2 q2, unsigned int iloc, int id0, int id1, Energy m0, Energy m1, Complex &f1, Complex &f2, Complex &f3, Complex &f4) const
The member which implements all the different form-factors.
vector< vector< Energy > > _massPth
The spin-3/2 masses.
Energy _beta1S0cc
The wavefunction variational parameter for .
Energy _beta3S1ss
The wavefunction variational parameter for .
ISGW2FormFactor & operator=(const ISGW2FormFactor &)=delete
Private and non-existent assignment operator.
Energy _mdown
The down quark mass.
Energy _beta3S1ub
The wavefunction variational parameter for .
The ScalarFormFactor class is the base class for the form factors for the weak decay of scalar to sca...
-*- C++ -*-
constexpr double pi
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr