herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
Herwig::HwppSelector Class Reference

The HwppSelector class selects the hadrons produced in cluster decay using the Herwig variant of the cluster model. More...

#include <HwppSelector.h>

Inheritance diagram for Herwig::HwppSelector:

Public Member Functions

 HwppSelector ()
 The default constructor.
 
pair< tcPDPtr, tcPDPtrchooseHadronPair (const Energy cluMass, tcPDPtr par1, tcPDPtr par2, tcPDPtr par3=PDPtr()) const
 This method is used to choose a pair of hadrons. More...
 
Functions used by the persistent I/O system.
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from Herwig::HadronSelector
 HadronSelector (unsigned int)
 The default constructor.
 
tcPDPtr chooseSingleHadron (tcPDPtr par1, tcPDPtr par2, Energy mass) const
 Select the single hadron for a cluster decay return null pointer if not a single hadron decay. More...
 
pair< tcPDPtr, tcPDPtrlightestHadronPair (tcPDPtr ptr1, tcPDPtr ptr2, tcPDPtr ptr3=PDPtr()) const
 This returns the lightest pair of hadrons given by the flavours. More...
 
Energy massLightestHadronPair (tcPDPtr ptr1, tcPDPtr ptr2, tcPDPtr ptr3=PDPtr()) const
 Returns the mass of the lightest pair of hadrons with the given particles. More...
 
tcPDPtr lightestHadron (tcPDPtr ptr1, tcPDPtr ptr2, tcPDPtr ptr3=PDPtr()) const
 Returns the lightest hadron formed by the given particles. More...
 
vector< pair< tcPDPtr, double > > hadronsBelowThreshold (Energy threshold, tcPDPtr ptr1, tcPDPtr ptr2, tcPDPtr ptr3=PDPtr()) const
 Returns the hadrons below the constituent mass threshold formed by the given particles, together with their total weight. More...
 
Energy massLightestHadron (tcPDPtr ptr1, tcPDPtr ptr2, tcPDPtr ptr3=PDPtr()) const
 Return the nominal mass of the hadron returned by lightestHadron() More...
 
Energy massLightestBaryonPair (tcPDPtr ptr1, tcPDPtr ptr2) const
 Returns the mass of the lightest pair of baryons. More...
 
double pwtDquark () const
 Return the weights for the different quarks and diquarks. More...
 
double pwtUquark () const
 The up quark weight.
 
double pwtSquark () const
 The strange quark weight.
 
double pwtCquark () const
 The charm quark weight.
 
double pwtBquark () const
 The bottom quark weight.
 
double pwtDIquark () const
 The diquark weight.
 
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from ThePEG::Interfaced
virtual bool defaultInit ()
 
PPtr getParticle (PID) const
 
PDPtr getParticleData (PID) const
 
bool used () const
 
void useMe () const
 
tEGPtr generator () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
PPtr getParticle (PID) const
 
PDPtr getParticleData (PID) const
 
bool used () const
 
void useMe () const
 
tEGPtr generator () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::InterfacedBase
string fullName () const
 
string name () const
 
string path () const
 
string comment () const
 
void setup (istream &is)
 
virtual void debugme () const
 
void update ()
 
void init ()
 
virtual bool preInitialize () const
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
void update ()
 
void init ()
 
virtual bool preInitialize () const
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::Base
void debug () const
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 
 Named (const Named &)=default
 
const string & name () const
 
bool operator== (const Named &other) const
 
bool operator< (const Named &other) const
 

Static Public Member Functions

static void Init ()
 The standard Init function used to initialize the interfaces. More...
 
- Static Public Member Functions inherited from Herwig::HadronSelector
static void Init ()
 The standard Init function used to initialize the interfaces. More...
 
- Static Public Member Functions inherited from ThePEG::Interfaced
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::InterfacedBase
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 

Protected Member Functions

Clone Methods.
virtual IBPtr clone () const
 Make a simple clone of this object. More...
 
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane. More...
 
Standard Interfaced functions.
virtual void doinit ()
 Initialize this object after the setup phase before saving an EventGenerator to disk. More...
 
- Protected Member Functions inherited from Herwig::HadronSelector
virtual void constructHadronTable ()
 Construct the table of hadron data This is the main method to initialize the hadron data (mainly the weights associated to each hadron, taking into account its spin, eventual isoscalar-octect mixing, singlet-decuplet factor). More...
 
const HadronTabletable () const
 Access to the table of hadrons.
 
const vector< PDPtr > & partons () const
 Access to the list of partons.
 
double pwt (long pid) const
 Access the parton weights.
 
double specialWeight (long id) const
 Calculates a special weight specific to a given hadron. More...
 
int signHadron (tcPDPtr ptr1, tcPDPtr ptr2, tcPDPtr hadron) const
 This method returns the proper sign ( > 0 hadron; < 0 anti-hadron ) for the input PDG id idHad > 0, suppose to be made by the two constituent particle pointers: par1 and par2 (both with proper sign).
 
double probabilityMixing (const double angleMix, const int order) const
 Methods for the mixing of $I=0$ mesons. More...
 
virtual double mixingStateWeight (long id) const
 Returns the weight of given mixing state. More...
 
- Protected Member Functions inherited from ThePEG::Interfaced
void reporeg (IBPtr object, string name) const
 
bool setDefaultReference (PtrT &ptr, string classname, string objectname)
 
 Interfaced (const string &newName)
 
 Interfaced (const Interfaced &i)
 
void setGenerator (tEGPtr generator)
 
- Protected Member Functions inherited from ThePEG::InterfacedBase
 InterfacedBase (string newName)
 
 InterfacedBase (const InterfacedBase &i)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 
const string & name (const string &newName)
 

Private Member Functions

HwppSelectoroperator= (const HwppSelector &)=delete
 The assignment operator is private and must never be called. More...
 

Private Attributes

unsigned int _mode
 Which algorithm to use.
 
int _enhanceSProb
 Flag that switches between no strangeness enhancement, scaling enhancement, and exponential enhancement (in numerical order)
 
Energy _m0Decay
 Parameter that governs the strangeness enhancement scaling.
 
int _massMeasure
 Flag that switches between mass measures used in strangeness enhancement: cluster mass, or the lambda measure - ( m_{clu}^2 - (m_q + m_{qbar})^2 )
 
const double _maxScale = 20.
 Constant variable that stops the scale in strangeness enhancement from becoming too large.
 

Additional Inherited Members

- Public Types inherited from Herwig::HadronSelector
typedef map< pair< long, long >, KupcoDataHadronTable
 The hadron table type.
 
typedef set< HadronInfoKupcoData
 The helper classes. More...
 
- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- Public Attributes inherited from ThePEG::InterfacedBase
 initializing
 
 uninitialized
 
 initialized
 
 runready
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 
static void registerRepository (IBPtr, string newName)
 

Detailed Description

The HwppSelector class selects the hadrons produced in cluster decay using the Herwig variant of the cluster model.

See also
The interfaces defined for HwppSelector.

Definition at line 29 of file HwppSelector.h.

Member Function Documentation

◆ chooseHadronPair()

pair<tcPDPtr,tcPDPtr> Herwig::HwppSelector::chooseHadronPair ( const Energy  cluMass,
tcPDPtr  par1,
tcPDPtr  par2,
tcPDPtr  par3 = PDPtr() 
) const
virtual

This method is used to choose a pair of hadrons.

Given the mass of a cluster and the particle pointers of its two (or three) constituents, this returns the pair of particle pointers of the two hadrons with proper flavour numbers. Furthermore, the first of the two hadron must have the constituent with par1, and the second must have the constituent with par2. At the moment it does nothing in the case that also par3 is present.

Kupco's method is used, rather than one used in FORTRAN HERWIG The idea is to build on the fly a table of all possible pairs of hadrons (Had1,Had2) (that we can call "cluster decay channels") which are kinematically above threshold and have flavour Had1=(par1,quarktopick->CC()), Had2=(quarktopick,par2), where quarktopick is the poniter of: — d, u, s, c, b if either par1 or par2 is a diquark; — d, u, s, c, b, dd, ud, uu, sd, su, ss, cd, cu, cs, cc, bd, bu, bs, bc, bb if both par1 and par2 are quarks. The weight associated with each channel is given by the product of: the phase space available including the spin factor 2*J+1, the constant weight factor for chosen idQ, the octet-singlet isoscalar mixing factor, and finally the singlet-decuplet weight factor.

Implements Herwig::HadronSelector.

◆ clone()

virtual IBPtr Herwig::HwppSelector::clone ( ) const
protectedvirtual

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

◆ doinit()

virtual void Herwig::HwppSelector::doinit ( )
protectedvirtual

Initialize this object after the setup phase before saving an EventGenerator to disk.

Exceptions
InitExceptionif object could not be initialized properly.

Reimplemented from Herwig::HadronSelector.

◆ fullclone()

virtual IBPtr Herwig::HwppSelector::fullclone ( ) const
protectedvirtual

Make a clone of this object, possibly modifying the cloned object to make it sane.

Returns
a pointer to the new object.

Reimplemented from ThePEG::InterfacedBase.

◆ Init()

static void Herwig::HwppSelector::Init ( )
static

The standard Init function used to initialize the interfaces.

Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.

◆ operator=()

HwppSelector& Herwig::HwppSelector::operator= ( const HwppSelector )
privatedelete

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ persistentInput()

void Herwig::HwppSelector::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters
isthe persistent input stream read from.
versionthe version number of the object when written.

◆ persistentOutput()

void Herwig::HwppSelector::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

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