Herwig 7 is hosted by Hepforge, IPPP Durham
Herwig  7.1.0
Herwig::ColourReconnector Class Reference

Class for changing colour reconnections of partons. More...

#include <ColourReconnector.h>

Inheritance diagram for Herwig::ColourReconnector:

Public Member Functions

void rearrange (ClusterVector &clusters)
 Does the colour rearrangement, starting out from the list of particles in the event record and the collection of "usual" clusters passed as arguments. More...
 
Standard constructors and destructors.
 ColourReconnector ()
 Default constructor.
 
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 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())
 
const string & name () const
 
bool operator== (const Named &other) const
 
bool operator< (const Named &other) const
 

Static Public Member Functions

static void Init ()
 Standard Init function used to initialize the interfaces.
 
- 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...
 
- 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 doinit ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
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 &)
 
 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

Energy2 _clusterMassSum (const PVector &q, const PVector &aq) const
 PRIVATE MEMBER FUNCTIONS. More...
 
bool _containsColour8 (const ClusterVector &cv, const vector< size_t > &P) const
 Examines whether the cluster vector (under the given permutation of the antiquarks) contains colour-octet clusters. More...
 
void _doRecoStatistical (ClusterVector &cv) const
 A Metropolis-type algorithm which finds a local minimum in the total sum of cluster masses cv cluster vector.
 
void _doRecoPlain (ClusterVector &cv) const
 Plain colour reconnection as used in Herwig 2.5.0 cv cluster vector.
 
ClusterVector::iterator _findRecoPartner (ClusterVector::iterator cl, ClusterVector &cv) const
 Finds the cluster in cv which, if reconnected with the given cluster cl, would result in the smallest sum of cluster masses. More...
 
pair< ClusterPtr, ClusterPtr > _reconnect (ClusterPtr c1, ClusterPtr c2) const
 Reconnects the constituents of the given clusters to the (only) other possible cluster combination. More...
 
pair< int, int > _shuffle (const PVector &q, const PVector &aq, unsigned maxtries=10) const
 At random, swap two antiquarks, if not excluded by the constraint that there must not be any colour-octet clusters. More...
 
bool isColour8 (cPPtr p, cPPtr q) const
 
ColourReconnectoroperator= (const ColourReconnector &)
 Private and non-existent assignment operator.
 

Private Attributes

int _algorithm
 DATA MEMBERS. More...
 
double _annealingFactor
 The annealing factor is the ratio of two successive temperature steps: T_n = annealingFactor * T(n-1)
 
unsigned _annealingSteps
 Number of temperature steps in the statistical annealing algorithm.
 
int _clreco
 Do we do colour reconnections?
 
double _initTemp
 Factor used to determine the initial temperature according to InitialTemperature = _initTemp * median {energy changes in a few random rearrangements}.
 
double _preco
 Probability that a found reconnection possibility is actually accepted.
 
double _triesPerStepFactor
 The number of tries per temperature steps is the number of clusters times this factor.
 
Length _maxDistance
 Maximium distance for reconnections.
 
unsigned int _octetOption
 Option for handling octets.
 

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
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 
static void registerRepository (IBPtr, string newName)
 

Detailed Description

Class for changing colour reconnections of partons.

Author
Alberto Ribon, Christian Roehr

This class does the nonperturbative colour rearrangement, after the nonperturbative gluon splitting and the "normal" cluster formation. It uses the list of particles in the event record, and the collections of "usual" clusters which is passed to the main method. If the colour reconnection is actually accepted, then the previous collections of "usual" clusters is first deleted and then the new one is created.

Definition at line 36 of file ColourReconnector.h.

Member Function Documentation

◆ _clusterMassSum()

Energy2 Herwig::ColourReconnector::_clusterMassSum ( const PVector q,
const PVector aq 
) const
private

PRIVATE MEMBER FUNCTIONS.

Calculates the sum of the squared cluster masses. q, aq vectors containing the quarks and antiquarks respectively

Returns
Sum of cluster squared masses M^2_{q[i],aq[i]}.

◆ _containsColour8()

bool Herwig::ColourReconnector::_containsColour8 ( const ClusterVector cv,
const vector< size_t > &  P 
) const
private

Examines whether the cluster vector (under the given permutation of the antiquarks) contains colour-octet clusters.

Parameters
cvCluster vector
PPermutation, a vector of permutated indices from 0 to cv.size()-1

◆ _findRecoPartner()

ClusterVector::iterator Herwig::ColourReconnector::_findRecoPartner ( ClusterVector::iterator  cl,
ClusterVector cv 
) const
private

Finds the cluster in cv which, if reconnected with the given cluster cl, would result in the smallest sum of cluster masses.

If no reconnection partner can be found, a pointer to the original Cluster cl is returned. cv cluster vector cl cluster iterator (must be from cv) which wants to have a reconnection partner

Returns
iterator to the found cluster, or the original cluster pointer if no mass-reducing combination can be found

◆ _reconnect()

pair<ClusterPtr,ClusterPtr> Herwig::ColourReconnector::_reconnect ( ClusterPtr  c1,
ClusterPtr  c2 
) const
private

Reconnects the constituents of the given clusters to the (only) other possible cluster combination.

Returns
pair of pointers to the two new clusters

◆ _shuffle()

pair<int,int> Herwig::ColourReconnector::_shuffle ( const PVector q,
const PVector aq,
unsigned  maxtries = 10 
) const
private

At random, swap two antiquarks, if not excluded by the constraint that there must not be any colour-octet clusters.

q, aq vectors containing the quarks and antiquarks respectively maxtries maximal number of tries to find a non-colour-octet reconfiguration

Returns
Pair of ints indicating the indices of the antiquarks to be swapped. Returns (-1,-1) if no valid reconfiguration could be found after maxtries trials

◆ clone()

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

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

◆ fullclone()

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

◆ isColour8()

bool Herwig::ColourReconnector::isColour8 ( cPPtr  p,
cPPtr  q 
) const
private
Returns
true, if the two partons are splitting products of the same gluon

◆ persistentInput()

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

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ rearrange()

void Herwig::ColourReconnector::rearrange ( ClusterVector clusters)

Does the colour rearrangement, starting out from the list of particles in the event record and the collection of "usual" clusters passed as arguments.

If the actual rearrangement is accepted, the initial collection of clusters is overridden by the old ones.

Member Data Documentation

◆ _algorithm

int Herwig::ColourReconnector::_algorithm
private

DATA MEMBERS.

Specifies the colour reconnection algorithm to be used.

Definition at line 196 of file ColourReconnector.h.


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