herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
Herwig::ClusterHadronizationHandler Class Reference

Class that controls the cluster hadronization algorithm. More...

#include <ClusterHadronizationHandler.h>

Inheritance diagram for Herwig::ClusterHadronizationHandler:

Public Member Functions

virtual void handle (EventHandler &ch, const tPVector &tagged, const Hint &hint)
 The main method which manages the all cluster hadronization.
 
Energy2 minVirtuality2 () const
 It returns minimum virtuality^2 of partons to use in calculating distances.
 
Length maxDisplacement () const
 It returns the maximum displacement that is allowed for a particle (used to determine the position of a cluster with two components).
 
bool isSoftUnderlyingEventON () const
 It returns true/false according if the soft underlying model is switched on/off.
 
Ptr< GluonMassGenerator >::tptr gluonMassGenerator () const
 A pointer to a gluon mass generator for the reshuffling.
 
- Public Member Functions inherited from ThePEG::StepHandler
virtual void handle (EventHandler &eh, const tPVector &tagged, const Hint &hint)=0
 
tEHPtr eventHandler () const
 
void eventHandler (tEHPtr)
 
tStepPtr newStep ()
 
tStepPtr currentStep ()
 
virtual void handle (EventHandler &eh, const tPVector &tagged, const Hint &hint)=0
 
- Public Member Functions inherited from ThePEG::HandlerBaseT< UseRandom >
double rnd () const
 
double rnd (double xu) const
 
double rnd (double xl, double xu) const
 
bool rndbool () const
 
bool rndbool (double p) const
 
bool rndbool (double p1, double p2) const
 
int rndsign (double p1, double p2, double p3) const
 
int rnd2 (double p0, double p1) const
 
int rnd3 (double p0, double p1, double p2) const
 
int rnd4 (double p0, double p1, double p2, double p3) const
 
long irnd (long xu=2) const
 
long irnd (long xl, long xu) const
 
const StandardModelBaseSM () const
 
tSMPtr standardModel () const
 
- 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
 
- Public Member Functions inherited from ThePEG::InterfacedBase
string fullName () const
 
string name () const
 
string path () const
 
string comment () const
 
void setup (istream &is)
 
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
 
virtual IBPtr fullclone () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
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
 
virtual IBPtr fullclone () const
 
- Public Member Functions inherited from ThePEG::Base
void debug () const
 
virtual void debugme () 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 const ClusterHadronizationHandlercurrentHandler ()
 pointer to "this", the current HadronizationHandler.
 
- Static Public Member Functions inherited from ThePEG::HadronizationHandler
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::StepHandler
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::HandlerBase
static void Init ()
 
- 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 ()
 

Clone Methods.

PartonSplitterPtr _partonSplitter
 This is a pointer to a Herwig::PartonSplitter object.
 
ClusterFinderPtr _clusterFinder
 This is a pointer to a Herwig::ClusterFinder object.
 
ColourReconnectorPtr _colourReconnector
 This is a pointer to a Herwig::ColourReconnector object.
 
ClusterFissionerPtr _clusterFissioner
 This is a pointer to a Herwig::ClusterFissioner object.
 
LightClusterDecayerPtr _lightClusterDecayer
 This is a pointer to a Herwig::LightClusterDecayer object.
 
ClusterDecayerPtr _clusterDecayer
 This is a pointer to a Herwig::ClusterDecayer object.
 
bool reshuffle_ = false
 Perform reshuffling to constituent masses.
 
int reshuffleMode_ = 0
 Which type of reshuffling (global (default) or colour connected) is used.
 
Ptr< GluonMassGenerator >::ptr gluonMassGenerator_
 A pointer to a gluon mass generator for the reshuffling.
 
Energy2 _minVirtuality2 = 0.1_GeV2
 The minimum virtuality^2 of partons to use in calculating distances.
 
Length _maxDisplacement = 1.0e-10_mm
 The maximum displacement that is allowed for a particle (used to determine the position of a cluster with two components).
 
StepHdlPtr _underlyingEventHandler
 The pointer to the Underlying Event handler.
 
bool _reduceToTwoComponents = true
 How to handle baryon-number clusters.
 
static ClusterHadronizationHandlercurrentHandler_
 pointer to "this", the current HadronizationHandler.
 
virtual IBPtr clone () const
 Make a simple clone of this object.
 
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane.
 
ClusterHadronizationHandleroperator= (const ClusterHadronizationHandler &)=delete
 Private and non-existent assignment operator.
 
void _setChildren (const ClusterVector &clusters) const
 Tag the constituents of the clusters as their parents.
 
void splitIntoColourSinglets (PVector thelist, vector< PVector > &reshufflelists)
 Split the list of partons into colour connected sub-lists before reshuffling.
 

Functions used by the persistent I/O system.

void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently.
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently.
 
static void Init ()
 Standard Init function used to initialize the interfaces.
 

Additional Inherited Members

- 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
 
- Protected Member Functions inherited from ThePEG::StepHandler
void createNewStep ()
 
- 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
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinit ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
virtual IBPtr clone () const=0
 
 InterfacedBase (string newName)
 
 InterfacedBase (const InterfacedBase &i)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinit ()
 
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 &)
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 
const string & name (const string &newName)
 
- Protected Member Functions inherited from Herwig::Reshuffler
void reshuffle (const PVector &particles, const vector< Energy > &masses) const
 Reshuffle to consitutent masses.
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 
static void registerRepository (IBPtr, string newName)
 

Detailed Description

Class that controls the cluster hadronization algorithm.

Author
Philip Stephens // cerr << *ch.currentEvent() << '
'; cerr << finalHadrons.size() << '
';

cerr << "Finished hadronizing \n";

Author
Alberto Ribon

This class is the main driver of the cluster hadronization: it is responsible for the proper handling of all other specific collaborating classes PartonSplitter, ClusterFinder, ColourReconnector, ClusterFissioner, LightClusterDecayer, ClusterDecayer; and for the storing of the produced particles in the Event record.

See also
PartonSplitter
ClusterFinder
ColourReconnector
ClusterFissioner
LightClusterDecayer
ClusterDecayer
Cluster
The interfaces defined for ClusterHadronizationHandler.

Definition at line 53 of file ClusterHadronizationHandler.h.

Member Function Documentation

◆ clone()

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

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

◆ currentHandler()

static const ClusterHadronizationHandler * Herwig::ClusterHadronizationHandler::currentHandler ( )
inlinestatic

pointer to "this", the current HadronizationHandler.

Definition at line 92 of file ClusterHadronizationHandler.h.

References currentHandler_.

◆ fullclone()

virtual IBPtr Herwig::ClusterHadronizationHandler::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.

◆ gluonMassGenerator()

Ptr< GluonMassGenerator >::tptr Herwig::ClusterHadronizationHandler::gluonMassGenerator ( ) const
inline

A pointer to a gluon mass generator for the reshuffling.

Definition at line 105 of file ClusterHadronizationHandler.h.

References gluonMassGenerator_.

◆ handle()

virtual void Herwig::ClusterHadronizationHandler::handle ( EventHandler ch,
const tPVector tagged,
const Hint hint 
)
virtual

The main method which manages the all cluster hadronization.

This routine directs "traffic". It determines which function is called and on which particles/clusters. This function also handles the situation of vetos on the hadronization.

Implements ThePEG::StepHandler.

◆ isSoftUnderlyingEventON()

bool Herwig::ClusterHadronizationHandler::isSoftUnderlyingEventON ( ) const
inline

It returns true/false according if the soft underlying model is switched on/off.

Definition at line 86 of file ClusterHadronizationHandler.h.

References _underlyingEventHandler.

◆ maxDisplacement()

Length Herwig::ClusterHadronizationHandler::maxDisplacement ( ) const
inline

It returns the maximum displacement that is allowed for a particle (used to determine the position of a cluster with two components).

Definition at line 79 of file ClusterHadronizationHandler.h.

References _maxDisplacement.

◆ minVirtuality2()

Energy2 Herwig::ClusterHadronizationHandler::minVirtuality2 ( ) const
inline

It returns minimum virtuality^2 of partons to use in calculating distances.

It is used both in the Showering and Hadronization.

Definition at line 72 of file ClusterHadronizationHandler.h.

References _minVirtuality2.

◆ persistentInput()

void Herwig::ClusterHadronizationHandler::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::ClusterHadronizationHandler::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

Member Data Documentation

◆ _clusterDecayer

ClusterDecayerPtr Herwig::ClusterHadronizationHandler::_clusterDecayer
private

This is a pointer to a Herwig::ClusterDecayer object.

Definition at line 184 of file ClusterHadronizationHandler.h.

◆ _clusterFinder

ClusterFinderPtr Herwig::ClusterHadronizationHandler::_clusterFinder
private

This is a pointer to a Herwig::ClusterFinder object.

Definition at line 164 of file ClusterHadronizationHandler.h.

◆ _clusterFissioner

ClusterFissionerPtr Herwig::ClusterHadronizationHandler::_clusterFissioner
private

This is a pointer to a Herwig::ClusterFissioner object.

Definition at line 174 of file ClusterHadronizationHandler.h.

◆ _colourReconnector

ColourReconnectorPtr Herwig::ClusterHadronizationHandler::_colourReconnector
private

This is a pointer to a Herwig::ColourReconnector object.

Definition at line 169 of file ClusterHadronizationHandler.h.

◆ _lightClusterDecayer

LightClusterDecayerPtr Herwig::ClusterHadronizationHandler::_lightClusterDecayer
private

This is a pointer to a Herwig::LightClusterDecayer object.

Definition at line 179 of file ClusterHadronizationHandler.h.

◆ _maxDisplacement

Length Herwig::ClusterHadronizationHandler::_maxDisplacement = 1.0e-10_mm
private

The maximum displacement that is allowed for a particle (used to determine the position of a cluster with two components).

Definition at line 211 of file ClusterHadronizationHandler.h.

Referenced by maxDisplacement().

◆ _minVirtuality2

Energy2 Herwig::ClusterHadronizationHandler::_minVirtuality2 = 0.1_GeV2
private

The minimum virtuality^2 of partons to use in calculating distances.

Definition at line 205 of file ClusterHadronizationHandler.h.

Referenced by minVirtuality2().

◆ _partonSplitter

PartonSplitterPtr Herwig::ClusterHadronizationHandler::_partonSplitter
private

This is a pointer to a Herwig::PartonSplitter object.

Definition at line 159 of file ClusterHadronizationHandler.h.

◆ _reduceToTwoComponents

bool Herwig::ClusterHadronizationHandler::_reduceToTwoComponents = true
private

How to handle baryon-number clusters.

Definition at line 221 of file ClusterHadronizationHandler.h.

◆ _underlyingEventHandler

StepHdlPtr Herwig::ClusterHadronizationHandler::_underlyingEventHandler
private

The pointer to the Underlying Event handler.

Definition at line 216 of file ClusterHadronizationHandler.h.

Referenced by isSoftUnderlyingEventON().

◆ currentHandler_

ClusterHadronizationHandler* Herwig::ClusterHadronizationHandler::currentHandler_
staticprivate

pointer to "this", the current HadronizationHandler.

Definition at line 239 of file ClusterHadronizationHandler.h.

Referenced by currentHandler().

◆ gluonMassGenerator_

Ptr<GluonMassGenerator>::ptr Herwig::ClusterHadronizationHandler::gluonMassGenerator_
private

A pointer to a gluon mass generator for the reshuffling.

Definition at line 199 of file ClusterHadronizationHandler.h.

Referenced by gluonMassGenerator().

◆ reshuffle_

bool Herwig::ClusterHadronizationHandler::reshuffle_ = false
private

Perform reshuffling to constituent masses.

Definition at line 189 of file ClusterHadronizationHandler.h.

◆ reshuffleMode_

int Herwig::ClusterHadronizationHandler::reshuffleMode_ = 0
private

Which type of reshuffling (global (default) or colour connected) is used.

Definition at line 194 of file ClusterHadronizationHandler.h.


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