herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Hadronization
Hw7Selector.h
1
// -*- C++ -*-
2
//
3
// Hw7Selector.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_Hw7Selector_H
10
#define HERWIG_Hw7Selector_H
11
//
12
// This is the declaration of the Hw7Selector class.
13
//
14
15
#include "HadronSelector.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
28
class
Hw7Selector
:
public
HadronSelector
{
29
30
public
:
31
35
Hw7Selector
() :
HadronSelector
(1),
36
_pwtDquark
( 1.0 ),
_pwtUquark
( 1.0 ),
_pwtSquark
( 1.0 ),
_pwtCquark
( 0.0 ),
37
_pwtBquark
( 0.0 ),
_pwtDIquarkS0
( 1.0 ),
_pwtDIquarkS1
( 1.0 ),
38
_sngWt
( 1.0 ),
_decWt
( 1.0 ),
39
_mode
(1),
_enhanceSProb
(0),
_m0Decay
(1.*GeV),
40
_scHadronWtFactor
(1.),
_sbHadronWtFactor
(1.)
41
{}
42
49
virtual
PDPtr
makeDiquark
(
tcPDPtr
par1,
tcPDPtr
par2);
50
51
public
:
52
59
void
persistentOutput
(
PersistentOStream
& os)
const
;
60
66
void
persistentInput
(
PersistentIStream
& is,
int
version);
68
75
static
void
Init
();
76
77
protected
:
78
82
virtual
double
baryonWeight
(
long
id
)
const
;
83
87
std::tuple<bool,bool,bool>
selectBaryon
(
const
Energy cluMass,
tcPDPtr
par1,
tcPDPtr
par2)
const
;
88
92
virtual
double
strangeWeight
(
const
Energy cluMass,
tcPDPtr
par1,
tcPDPtr
par2)
const
;
93
97
virtual
void
insertOneHalf
(
HadronInfo
a,
int
flav1,
int
flav2);
98
102
virtual
void
insertThreeHalf
(
HadronInfo
a,
int
flav1,
int
flav2);
103
110
tcPDPair
lightestBaryonPair
(
tcPDPtr
ptr1,
tcPDPtr
ptr2,
int
pspin)
const
;
111
112
protected
:
113
120
virtual
IBPtr
clone
()
const
;
121
126
virtual
IBPtr
fullclone
()
const
;
128
129
protected
:
130
138
virtual
void
doinit
();
140
141
private
:
142
147
Hw7Selector
&
operator=
(
const
Hw7Selector
&) =
delete
;
148
149
private
:
150
158
double
_pwtDquark
;
159
163
double
_pwtUquark
;
164
168
double
_pwtSquark
;
169
173
double
_pwtCquark
;
174
178
double
_pwtBquark
;
179
183
double
_pwtDIquarkS0
;
184
188
double
_pwtDIquarkS1
;
190
198
double
_sngWt
;
199
203
double
_decWt
;
205
206
private
:
207
211
unsigned
int
_mode
;
212
217
int
_enhanceSProb
;
218
222
Energy
_m0Decay
;
223
228
int
_massMeasure
;
229
234
const
double
_maxScale
= 20.;
235
239
double
_scHadronWtFactor
;
240
244
double
_sbHadronWtFactor
;
245
253
map<pair<long,long>,
tcPDPair
>
lightestBaryonsS0_
,lightestBaryonsS1_;
255
};
256
257
}
258
259
#endif
/* HERWIG_Hw7Selector_H */
Herwig::HadronInfo
Class used to store all the hadron information for easy access.
Definition:
HadronInfo.h:25
Herwig::HadronSelector
This class selects the hadron flavours of a cluster decay.
Definition:
HadronSelector.h:51
Herwig::Hw7Selector
The Hw7Selector class selects the hadrons produced in cluster decay using the Herwig variant of the c...
Definition:
Hw7Selector.h:28
Herwig::Hw7Selector::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::Hw7Selector::insertOneHalf
virtual void insertOneHalf(HadronInfo a, int flav1, int flav2)
Insert a spin baryon in the table.
Herwig::Hw7Selector::_massMeasure
int _massMeasure
Flag that switches between mass measures used in strangeness enhancement: cluster mass,...
Definition:
Hw7Selector.h:228
Herwig::Hw7Selector::Hw7Selector
Hw7Selector()
The default constructor.
Definition:
Hw7Selector.h:35
Herwig::Hw7Selector::_pwtDIquarkS0
double _pwtDIquarkS0
The probability of producting a spin-0 diquark.
Definition:
Hw7Selector.h:183
Herwig::Hw7Selector::selectBaryon
std::tuple< bool, bool, bool > selectBaryon(const Energy cluMass, tcPDPtr par1, tcPDPtr par2) const
Whether to select a meson or a baryon.
Herwig::Hw7Selector::_sngWt
double _sngWt
Singlet and Decuplet weights.
Definition:
Hw7Selector.h:198
Herwig::Hw7Selector::_enhanceSProb
int _enhanceSProb
Flag that switches between no strangeness enhancement, scaling enhancement, and exponential enhanceme...
Definition:
Hw7Selector.h:217
Herwig::Hw7Selector::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::Hw7Selector::_m0Decay
Energy _m0Decay
Parameter that governs the strangeness enhancement scaling.
Definition:
Hw7Selector.h:222
Herwig::Hw7Selector::_pwtSquark
double _pwtSquark
The probability of producting a strange quark.
Definition:
Hw7Selector.h:168
Herwig::Hw7Selector::_pwtDIquarkS1
double _pwtDIquarkS1
The probability of producting a spin-1 diquark.
Definition:
Hw7Selector.h:188
Herwig::Hw7Selector::_pwtCquark
double _pwtCquark
The probability of producting a charm quark.
Definition:
Hw7Selector.h:173
Herwig::Hw7Selector::_mode
unsigned int _mode
Which algorithm to use.
Definition:
Hw7Selector.h:211
Herwig::Hw7Selector::_pwtDquark
double _pwtDquark
The weights for the different quarks and diquarks.
Definition:
Hw7Selector.h:158
Herwig::Hw7Selector::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::Hw7Selector::_scHadronWtFactor
double _scHadronWtFactor
Heavy strange-charm hadron wight coefficient.
Definition:
Hw7Selector.h:239
Herwig::Hw7Selector::_decWt
double _decWt
The decuplet weight.
Definition:
Hw7Selector.h:203
Herwig::Hw7Selector::_sbHadronWtFactor
double _sbHadronWtFactor
Heavy strange-bottom hadron wight coefficient.
Definition:
Hw7Selector.h:244
Herwig::Hw7Selector::_pwtUquark
double _pwtUquark
The probability of producting an up quark.
Definition:
Hw7Selector.h:163
Herwig::Hw7Selector::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::Hw7Selector::baryonWeight
virtual double baryonWeight(long id) const
Weights for baryons.
Herwig::Hw7Selector::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::Hw7Selector::insertThreeHalf
virtual void insertThreeHalf(HadronInfo a, int flav1, int flav2)
Insert a spin baryon in the table.
Herwig::Hw7Selector::operator=
Hw7Selector & operator=(const Hw7Selector &)=delete
The assignment operator is private and must never be called.
Herwig::Hw7Selector::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::Hw7Selector::_maxScale
const double _maxScale
Constant variable that stops the scale in strangeness enhancement from becoming too large.
Definition:
Hw7Selector.h:234
Herwig::Hw7Selector::lightestBaryonPair
tcPDPair lightestBaryonPair(tcPDPtr ptr1, tcPDPtr ptr2, int pspin) const
Returns the mass of the lightest pair of baryons.
Herwig::Hw7Selector::lightestBaryonsS0_
map< pair< long, long >, tcPDPair > lightestBaryonsS0_
Caches of lightest pairs for speed.
Definition:
Hw7Selector.h:253
Herwig::Hw7Selector::makeDiquark
virtual PDPtr makeDiquark(tcPDPtr par1, tcPDPtr par2)
Return the particle data of the diquark (anti-diquark) made by the two quarks (antiquarks) par1,...
Herwig::Hw7Selector::_pwtBquark
double _pwtBquark
The probability of producting a bottom quark.
Definition:
Hw7Selector.h:178
Herwig::Hw7Selector::strangeWeight
virtual double strangeWeight(const Energy cluMass, tcPDPtr par1, tcPDPtr par2) const
Strange quark weight.
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tcPDPair
pair< tcPDPtr, tcPDPtr > tcPDPair
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6