Herwig
7.2.1
|
Class for changing colour reconnections of partons. More...
#include <ColourReconnector.h>
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()) | |
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 () |
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 &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (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 |
ColourReconnector & | operator= (const ColourReconnector &)=delete |
Private and non-existent assignment operator. | |
Private Attributes | |
int | _algorithm = 0 |
DATA MEMBERS. More... | |
int | _clreco = 0 |
Do we do colour reconnections? | |
double | _initTemp = 0.01 |
Statistical Reco: Factor used to determine the initial temperature according to InitialTemperature = _initTemp * median {energy changes in a few random rearrangements}. | |
double | _annealingFactor = 0.21 |
Statistical Reco: The annealing factor is the ratio of two successive temperature steps: T_n = annealingFactor * T(n-1) | |
unsigned int | _annealingSteps = 10 |
Statistical Reco: Number of temperature steps in the statistical annealing algorithm. | |
double | _triesPerStepFactor = 0.66 |
Statistical Reco: The number of tries per temperature steps is the number of clusters times this factor. | |
double | _preco = 0.5 |
Probability that a found reconnection possibility is actually accepted. | |
double | _precoBaryonic = 0.5 |
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) |
Class for changing colour reconnections of partons.
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.
|
private |
PRIVATE MEMBER FUNCTIONS.
Calculates the sum of the squared cluster masses. q, aq vectors containing the quarks and antiquarks respectively
|
private |
Examines whether the cluster vector (under the given permutation of the antiquarks) contains colour-octet clusters.
cv | Cluster vector |
P | Permutation, a vector of permutated indices from 0 to cv.size()-1 |
|
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
|
private |
Reconnects the constituents of the given clusters to the (only) other possible cluster combination.
|
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
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
void Herwig::ColourReconnector::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
void Herwig::ColourReconnector::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
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.
|
private |
DATA MEMBERS.
Specifies the colour reconnection algorithm to be used.
Definition at line 152 of file ColourReconnector.h.
|
private |
maximum allowed distance in the eta phi space for reconnection to occur
Maximium distance for reconnections
Definition at line 203 of file ColourReconnector.h.