herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.4

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

#include <ColourReconnector.h>

Inheritance diagram for Herwig::ColourReconnector:

Public Types

using CluVecIt = ClusterVector::iterator
 
- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 

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...
 
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.
 
void _doRecoBaryonic (ClusterVector &cv) const
 Baryonic Colour Reconnection model.
 
void _makeBaryonicClusters (ClusterPtr &c1, ClusterPtr &c2, ClusterPtr &c3, ClusterPtr &newcluster1, ClusterPtr &newcluster2) const
 
CluVecIt _findRecoPartner (CluVecIt 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...
 
CluVecIt _findPartnerRapidity (CluVecIt cl, ClusterVector &cv) const
 
CluVecIt _findPartnerBaryonic (CluVecIt cl, ClusterVector &cv, bool &tetraCand, const ClusterVector &a, CluVecIt &baryonic1, CluVecIt &baryonic2) const
 
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< ClusterPtr, ClusterPtr > _reconnectBaryonic (ClusterPtr &c1, ClusterPtr &c2) const
 Reconnection method for baryonic reconenction model.
 
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 (tcPPtr p, tcPPtr q) const
 
ColourReconnectoroperator= (const ColourReconnector &)=delete
 Private and non-existent assignment operator.
 

Private Attributes

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

Additional Inherited Members

- 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()

CluVecIt Herwig::ColourReconnector::_findRecoPartner ( CluVecIt  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

◆ _isColour8()

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

◆ _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.

◆ 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 = 0
private

DATA MEMBERS.

Specifies the colour reconnection algorithm to be used.

Definition at line 152 of file ColourReconnector.h.

◆ _maxDistance

Length Herwig::ColourReconnector::_maxDistance = picometer
private

maximum allowed distance in the eta phi space for reconnection to occur

Maximium distance for reconnections

Definition at line 197 of file ColourReconnector.h.


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