herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
WeakCurrents
FourPionNovosibirskCurrent.h
1
// -*- C++ -*-
2
//
3
// FourPionNovosibirskCurrent.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_FourPionNovosibirskCurrent_H
10
#define HERWIG_FourPionNovosibirskCurrent_H
11
//
12
// This is the declaration of the FourPionNovosibirskCurrent class.
13
//
14
#include "WeakDecayCurrent.h"
15
#include "Herwig/Utilities/Interpolator.h"
16
#include "Herwig/Utilities/Kinematics.h"
17
18
namespace
Herwig
{
19
using namespace
ThePEG
;
20
37
class
FourPionNovosibirskCurrent
:
public
WeakDecayCurrent
{
38
43
friend
class
FourPionDefaultMatrixElement;
44
45
public
:
46
50
FourPionNovosibirskCurrent
();
51
58
void
persistentOutput(
PersistentOStream
& os)
const
;
59
65
void
persistentInput(
PersistentIStream
& is,
int
version);
67
71
static
void
Init();
72
73
public
:
74
77
92
virtual
bool
createMode(
int
icharge,
unsigned
int
imode,DecayPhaseSpaceModePtr mode,
93
unsigned
int
iloc,
unsigned
int
ires,
94
DecayPhaseSpaceChannelPtr phase,Energy upp);
95
105
virtual
tPDVector
particles(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
107
117
virtual
vector<LorentzPolarizationVectorE>
118
current(
const
int
imode,
const
int
ichan,Energy & scale,
119
const
ParticleVector
& decay,
DecayIntegrator::MEOption
meopt)
const
;
120
126
virtual
bool
accept(vector<int>
id
);
127
134
virtual
unsigned
int
decayMode(vector<int>
id
);
135
142
virtual
void
dataBaseOutput(ofstream & os,
bool
header,
bool
create)
const
;
143
156
double
threeBodyMatrixElement(
const
int
iopt,
const
Energy2 q2,
157
const
Energy2 s3,
const
Energy2 s2,
158
const
Energy2 s1,
const
Energy m1,
159
const
Energy m2,
const
Energy m3)
const
;
160
161
protected
:
162
169
virtual
IBPtr
clone()
const
;
170
175
virtual
IBPtr
fullclone()
const
;
177
178
protected
:
179
187
virtual
void
doinit();
188
192
virtual
void
doinitrun();
193
197
virtual
void
doupdate();
199
200
private
:
201
205
FourPionNovosibirskCurrent
& operator=(
const
FourPionNovosibirskCurrent
&) =
delete
;
206
207
protected
:
208
209
215
void
inita1width(
int
iopt);
216
222
double
a1FormFactor
(Energy2 q2)
const
{
223
return
sqr
((1.+_a1massolam2)/(1.+q2*_onedlam2));
224
}
225
232
Complex
sigmaBreitWigner(Energy2 q2,
unsigned
int
iopt)
const
;
233
239
Complex
a1BreitWigner(Energy2 q2)
const
;
240
246
Complex
omegaBreitWigner(Energy2 q2)
const
;
247
253
Complex
rhoBreitWigner(Energy2 q2)
const
;
254
260
Energy
a1width
(Energy2 q2)
const
{
return
(*_a1runinter)(q2);}
261
270
LorentzVector<complex<Energy5>
>
271
t1(Lorentz5Momentum & q1,Lorentz5Momentum & q2,
272
Lorentz5Momentum & q3,Lorentz5Momentum & q4)
const
;
273
283
LorentzVector<complex<Energy5>
>
284
t2(Lorentz5Momentum & q1,Lorentz5Momentum & q2,
285
Lorentz5Momentum & q3,Lorentz5Momentum & q4,
286
unsigned
int
iopt)
const
;
287
296
LorentzVector<complex<Energy5>
>
297
t3(Lorentz5Momentum & q1,Lorentz5Momentum & q2,
298
Lorentz5Momentum & q3,Lorentz5Momentum & q4)
const
;
299
306
InvEnergy6 gFunction(Energy2 q2,
int
ichan)
const
;
307
311
Energy2 DParameter()
const
;
312
316
double
dhdq2Parameter()
const
;
317
323
Energy2 hFunction(
const
Energy q)
const
;
324
325
private
:
326
334
Interpolator<double,Energy>::Ptr
_Fomega
;
335
339
Interpolator<double,Energy>::Ptr
_Fthreec
;
340
344
Interpolator<double,Energy>::Ptr
_Fonec
;
345
349
Interpolator<double,Energy2>::Ptr
_Fsigma
;
351
355
Energy
_mpic
;
356
360
Energy
_mpi0
;
361
365
Energy
_rhomass
;
366
370
Energy
_a1mass
;
371
375
Energy
_omegamass
;
376
380
Energy
_sigmamass
;
381
385
Energy
_rhowidth
;
386
390
Energy
_a1width
;
391
395
Energy
_omegawidth
;
396
400
Energy
_sigmawidth
;
401
406
Energy
_intmass
;
407
412
Energy
_intwidth
;
413
417
Complex
_zsigma
;
418
422
double
_zmag
;
423
427
double
_zphase
;
428
432
Energy2
_lambda2
;
433
437
InvEnergy2
_onedlam2
;
438
443
double
_a1massolam2
;
444
449
vector<Energy>
_psigma
;
450
454
Energy2
_mpic2
;
455
459
Energy2
_mpi02
;
460
464
Energy2
_hm2
;
465
469
Energy2
_rhoD
;
470
474
Energy
_prho
;
475
479
double
_dhdq2m2
;
480
484
InvEnergy
_aomega
;
485
489
InvEnergy
_athreec
;
490
494
InvEnergy
_aonec
;
495
499
double
_bomega
;
500
504
double
_bthreec
;
505
509
double
_bonec
;
510
514
double
_comega
;
515
519
double
_cthreec
;
520
524
double
_conec
;
525
529
vector<double>
_omegaparam
;
530
534
bool
_initializea1
;
535
539
bool
_localparameters
;
540
544
vector<Energy>
_a1runwidth
;
545
549
vector<Energy2>
_a1runq2
;
550
554
Interpolator<Energy,Energy2>::Ptr
_a1runinter
;
555
559
Energy
_maxmass
;
560
564
Energy
_maxcalc
;
565
};
566
567
}
568
569
#endif
/* HERWIG_FourPionNovosibirskCurrent_H */
570
ThePEG::PersistentIStream
ThePEG::LorentzVector
Herwig::FourPionNovosibirskCurrent::a1FormFactor
double a1FormFactor(Energy2 q2) const
Form foactor for the vertex.
Definition:
FourPionNovosibirskCurrent.h:222
Herwig::FourPionNovosibirskCurrent::_rhowidth
Energy _rhowidth
The width for the .
Definition:
FourPionNovosibirskCurrent.h:385
Herwig::FourPionNovosibirskCurrent::_a1mass
Energy _a1mass
The mass of the for the current.
Definition:
FourPionNovosibirskCurrent.h:370
Herwig::WeakDecayCurrent
The WeakDecayCurrent class is the base class for the hadronic currents produced in weak decays...
Definition:
WeakDecayCurrent.h:57
Herwig::FourPionNovosibirskCurrent::_zphase
double _zphase
The phase of the coupling.
Definition:
FourPionNovosibirskCurrent.h:427
Herwig::FourPionNovosibirskCurrent::_psigma
vector< Energy > _psigma
The momentum of the pions in on-shell decay which is used in the calculation of the running width...
Definition:
FourPionNovosibirskCurrent.h:449
ThePEG::Complex
std::complex< double > Complex
Herwig::FourPionNovosibirskCurrent::_initializea1
bool _initializea1
whether or not to initialize the calculation of the width
Definition:
FourPionNovosibirskCurrent.h:534
Herwig::FourPionNovosibirskCurrent::_cthreec
double _cthreec
Magic number for the three charged pion current.
Definition:
FourPionNovosibirskCurrent.h:519
Herwig::FourPionNovosibirskCurrent::_athreec
InvEnergy _athreec
Magic number for the three charged pion current.
Definition:
FourPionNovosibirskCurrent.h:489
Herwig::FourPionNovosibirskCurrent
The FourPionNovosibirskCurrent class implements the decay of the weak current to 4 pions using the ha...
Definition:
FourPionNovosibirskCurrent.h:37
Herwig::FourPionNovosibirskCurrent::_hm2
Energy2 _hm2
The h function evaluated at the mass.
Definition:
FourPionNovosibirskCurrent.h:464
Herwig::FourPionNovosibirskCurrent::_omegawidth
Energy _omegawidth
The width.
Definition:
FourPionNovosibirskCurrent.h:395
ThePEG::PersistentOStream
Herwig::FourPionNovosibirskCurrent::_a1runwidth
vector< Energy > _a1runwidth
The widths for the interpolation table for the running width.
Definition:
FourPionNovosibirskCurrent.h:544
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
Herwig::FourPionNovosibirskCurrent::_a1runq2
vector< Energy2 > _a1runq2
The values for the interpolation table for the running width.
Definition:
FourPionNovosibirskCurrent.h:549
Herwig::FourPionNovosibirskCurrent::_a1width
Energy _a1width
The width.
Definition:
FourPionNovosibirskCurrent.h:390
Herwig::FourPionNovosibirskCurrent::_aonec
InvEnergy _aonec
Magic number for the one charged pion current.
Definition:
FourPionNovosibirskCurrent.h:494
Herwig::Interpolator
Definition:
Interpolator.h:31
ThePEG
Herwig::FourPionNovosibirskCurrent::_mpi0
Energy _mpi0
The neutral pion mass.
Definition:
FourPionNovosibirskCurrent.h:360
Herwig::FourPionNovosibirskCurrent::_mpic2
Energy2 _mpic2
The charged pion mass squared.
Definition:
FourPionNovosibirskCurrent.h:454
Herwig::FourPionNovosibirskCurrent::_sigmamass
Energy _sigmamass
The mass of the for the current.
Definition:
FourPionNovosibirskCurrent.h:380
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
Herwig::FourPionNovosibirskCurrent::_localparameters
bool _localparameters
use local values of the particle masses
Definition:
FourPionNovosibirskCurrent.h:539
Herwig::FourPionNovosibirskCurrent::_prho
Energy _prho
The momentum of the pions produced in on-shell decay.
Definition:
FourPionNovosibirskCurrent.h:474
Herwig::FourPionNovosibirskCurrent::_Fthreec
Interpolator< double, Energy >::Ptr _Fthreec
The interpolator for the three charged pion current.
Definition:
FourPionNovosibirskCurrent.h:339
Herwig::FourPionNovosibirskCurrent::_dhdq2m2
double _dhdq2m2
evaluates at for the .
Definition:
FourPionNovosibirskCurrent.h:479
Herwig::FourPionNovosibirskCurrent::_maxmass
Energy _maxmass
The maximum mass of the hadronic system.
Definition:
FourPionNovosibirskCurrent.h:559
Herwig::FourPionNovosibirskCurrent::_bthreec
double _bthreec
Magic number for the three charged pion current.
Definition:
FourPionNovosibirskCurrent.h:504
ThePEG::tPDVector
vector< tPDPtr > tPDVector
Herwig::FourPionNovosibirskCurrent::_mpi02
Energy2 _mpi02
The neutral pion mass squared.
Definition:
FourPionNovosibirskCurrent.h:459
Herwig::FourPionNovosibirskCurrent::_conec
double _conec
Magic number for the one charged pion current.
Definition:
FourPionNovosibirskCurrent.h:524
Herwig::FourPionNovosibirskCurrent::a1width
Energy a1width(Energy2 q2) const
Return the running width.
Definition:
FourPionNovosibirskCurrent.h:260
Herwig::FourPionNovosibirskCurrent::_intmass
Energy _intmass
Mass for the intermediate in the phase-space, this is a technical parameter to improve the phase-spac...
Definition:
FourPionNovosibirskCurrent.h:406
Herwig::FourPionNovosibirskCurrent::_omegaparam
vector< double > _omegaparam
magic numbers for the running omega width
Definition:
FourPionNovosibirskCurrent.h:529
Herwig::FourPionNovosibirskCurrent::_sigmawidth
Energy _sigmawidth
The width.
Definition:
FourPionNovosibirskCurrent.h:400
Herwig::FourPionNovosibirskCurrent::_rhomass
Energy _rhomass
The mass of the for the current.
Definition:
FourPionNovosibirskCurrent.h:365
Herwig::FourPionNovosibirskCurrent::_bomega
double _bomega
Magic number for the omega current.
Definition:
FourPionNovosibirskCurrent.h:499
Herwig::FourPionNovosibirskCurrent::_zsigma
Complex _zsigma
The coupling.
Definition:
FourPionNovosibirskCurrent.h:417
Herwig::FourPionNovosibirskCurrent::_omegamass
Energy _omegamass
The mass of the for the current.
Definition:
FourPionNovosibirskCurrent.h:375
Herwig::FourPionNovosibirskCurrent::_Fonec
Interpolator< double, Energy >::Ptr _Fonec
The interpolator for the one charged pion current.
Definition:
FourPionNovosibirskCurrent.h:344
Herwig::FourPionNovosibirskCurrent::_maxcalc
Energy _maxcalc
The maximum mass when the running width was calculated.
Definition:
FourPionNovosibirskCurrent.h:564
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::FourPionNovosibirskCurrent::_zmag
double _zmag
The magnitude of the coupling.
Definition:
FourPionNovosibirskCurrent.h:422
Herwig::FourPionNovosibirskCurrent::_onedlam2
InvEnergy2 _onedlam2
The inverse of the mass parameter for the form-factor.
Definition:
FourPionNovosibirskCurrent.h:437
Herwig::FourPionNovosibirskCurrent::_rhoD
Energy2 _rhoD
The d parameter for the width.
Definition:
FourPionNovosibirskCurrent.h:469
Herwig::FourPionNovosibirskCurrent::_a1runinter
Interpolator< Energy, Energy2 >::Ptr _a1runinter
The interpolator for the running width.
Definition:
FourPionNovosibirskCurrent.h:554
Herwig::FourPionNovosibirskCurrent::_bonec
double _bonec
Magic number for the one charged pion current.
Definition:
FourPionNovosibirskCurrent.h:509
ThePEG::ParticleVector
vector< PPtr > ParticleVector
Herwig::FourPionNovosibirskCurrent::_intwidth
Energy _intwidth
Width for the intermediate in the phase-space, this is a technical parameter to improve the phase-spa...
Definition:
FourPionNovosibirskCurrent.h:412
Herwig::FourPionNovosibirskCurrent::_mpic
Energy _mpic
The charged pion mass.
Definition:
FourPionNovosibirskCurrent.h:355
Herwig::FourPionNovosibirskCurrent::_aomega
InvEnergy _aomega
Magic number for the omega current.
Definition:
FourPionNovosibirskCurrent.h:484
Herwig::FourPionNovosibirskCurrent::_comega
double _comega
Magic number for the omega current.
Definition:
FourPionNovosibirskCurrent.h:514
Herwig::FourPionNovosibirskCurrent::_Fomega
Interpolator< double, Energy >::Ptr _Fomega
Interpolating functions for the G functions of hep-ph/0201149.
Definition:
FourPionNovosibirskCurrent.h:334
Herwig::FourPionNovosibirskCurrent::_Fsigma
Interpolator< double, Energy2 >::Ptr _Fsigma
The interpolator for the current.
Definition:
FourPionNovosibirskCurrent.h:349
Herwig::FourPionNovosibirskCurrent::_a1massolam2
double _a1massolam2
The physical mass divided by the mass parameter in the form-factor.
Definition:
FourPionNovosibirskCurrent.h:443
Herwig::FourPionNovosibirskCurrent::_lambda2
Energy2 _lambda2
The mass parameter for the form-factor.
Definition:
FourPionNovosibirskCurrent.h:432
Generated on Sat Apr 11 2020 14:50:29 for Herwig by
1.8.13