#include <ClusterCollapser.h>
Public Types | |
typedef Ptr< FlavourGenerator > ::pointer | FlavGenPtr |
Declare a pointer to a FlavourGenerator object. | |
typedef multimap< Energy, ColourSinglet > | SingletMap |
Declare a multimap of singlets indexed by their mass. | |
Public Member Functions | |
virtual vector< ColourSinglet > | collapse (tPVector tagged, tStepPtr newstep) |
Perform all necessary collapses. | |
virtual SingletMap | getSinglets (const tPVector &tagged) const |
Go through the tagged partons and extract all colour singlet combination of partons. | |
virtual ColourSinglet | splitDiQuarkJunction (ColourSinglet &cs, tStepPtr newStep) const |
If a singlet contains at least one diquark and a junction, split the diquark and split off a new colour singlet. | |
virtual ColourSinglet | splitDiDiQuark (ColourSinglet &cs, tStepPtr newStep) const |
If a singlet contains a simple string with diquarks in both ends, split them into quarks and split off a new colour singlet. | |
Energy | cut () const |
If the invariant mass of a cluster, minus the constituent masses of its partons is below this cut, it will be collapsed into one or two particles. | |
int | nTry2 () const |
The number of attempts to collapse a cluster into two particles, before it is collapsed into one particle. | |
virtual tcPDPtr | pickFlavour () const |
Pick a random flavour. | |
Standard constructors and destructors. | |
ClusterCollapser () | |
The default constructor. | |
virtual | ~ClusterCollapser () |
The destructor. | |
Virtual functions required by the StepHandler class. | |
virtual void | handle (EventHandler &eh, const tPVector &tagged, const Hint &hint) |
The main function called by the EventHandler class to perform a step. | |
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 Public Member Functions | |
static bool | diQuarkJunction (const ColourSinglet &cs) |
Returns true iff the given singlet contains a junction and at least one diquark. | |
static bool | diDiQuark (const ColourSinglet &cs) |
Returns true iff the given singlet contains one string piece with diquarks in both ends. | |
static Energy | mass (const ColourSinglet &cl) |
Return the invariant mass of a cluster minus the constituent masses of its partons. | |
static void | insert (SingletMap &mmap, const ColourSinglet &cl) |
Insert a ColourSinglet object in a SingletMap. | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Protected Member Functions | |
virtual void | collapse (tStepPtr newStep, const ColourSinglet &cs, const tPVector &tagged) const |
Perform the actual collapse of a cluster into one hadron. | |
virtual bool | collapse2 (tStepPtr newStep, const ColourSinglet &cs) const |
Perform the actual collapse of a cluster into two hadrons. | |
virtual tPVector | getCompensators (Energy mh, const ColourSinglet &cs, const tPVector &tagged, tStepPtr newStep) const |
Get particles for compensation. | |
virtual tcPDPtr | getHadron (const ColourSinglet &cs) const |
Return a hadron into which the given cluster may collapse. | |
virtual tcPDPair | getHadrons (const ColourSinglet &cs) const |
Return a pair of hadrons into which the given cluster may collapse. | |
Clone Methods. | |
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. | |
Protected Attributes | |
Exception::Severity | errorlevel |
How should we respond to errors? 0 means do nothing, ie. | |
double | pStrange |
The relative probability to produce a s-sbar pair in a split as compared to a u-ubar or d-dbar pair. | |
Private Member Functions | |
ClusterCollapser & | operator= (const ClusterCollapser &) |
Private and non-existent assignment operator. | |
Private Attributes | |
Energy | theEnergyCut |
Energy cut. | |
int | theNTry2 |
The number of attempts to collapse a cluster into two particles, before it is collapsed into one particle. | |
FlavGenPtr | flavGen |
The flavour generator object to use to combine quarks and diqurks into hadrons. | |
Static Private Attributes | |
static ClassDescription < ClusterCollapser > | initClusterCollapser |
Describe a concrete class with persistent data. |
Instead these clusters are allowed to collapse into hadrons. Possible energy imbalance du to the clustering is compensated by shifting the momenta of nearby particles.
Definition at line 35 of file ClusterCollapser.h.
typedef Ptr<FlavourGenerator>::pointer ThePEG::ClusterCollapser::FlavGenPtr |
typedef multimap<Energy,ColourSinglet> ThePEG::ClusterCollapser::SingletMap |
Declare a multimap of singlets indexed by their mass.
Definition at line 43 of file ClusterCollapser.h.
virtual void ThePEG::ClusterCollapser::handle | ( | EventHandler & | eh, | |
const tPVector & | tagged, | |||
const Hint & | hint | |||
) | [virtual] |
The main function called by the EventHandler class to perform a step.
This function simply calls the collapse() function.
eh | the EventHandler in charge of the Event generation. | |
tagged | if not empty these are the only particles which should be considered by the StepHandler. | |
hint | a Hint object with possible information from previously performed steps. |
Veto | if the StepHandler requires the current step to be discarded. | |
Stop | if the generation of the current Event should be stopped after this call. | |
Exception | if something goes wrong. |
Implements ThePEG::StepHandler.
virtual vector<ColourSinglet> ThePEG::ClusterCollapser::collapse | ( | tPVector | tagged, | |
tStepPtr | newstep | |||
) | [virtual] |
Perform all necessary collapses.
Return the uncollapsed clusters.
virtual SingletMap ThePEG::ClusterCollapser::getSinglets | ( | const tPVector & | tagged | ) | const [virtual] |
Go through the tagged partons and extract all colour singlet combination of partons.
Order them in invariant mass (minus the constituent masses of the partons).
virtual tcPDPtr ThePEG::ClusterCollapser::pickFlavour | ( | ) | const [virtual] |
Pick a random flavour.
Default version picks u,d or s with ratio 3:3:1.
virtual void ThePEG::ClusterCollapser::collapse | ( | tStepPtr | newStep, | |
const ColourSinglet & | cs, | |||
const tPVector & | tagged | |||
) | const [protected, virtual] |
Perform the actual collapse of a cluster into one hadron.
Add the produced hadron to the given step as decay products of the partons in the cluster. The tagged particles are used for momentum compensation.
virtual bool ThePEG::ClusterCollapser::collapse2 | ( | tStepPtr | newStep, | |
const ColourSinglet & | cs | |||
) | const [protected, virtual] |
Perform the actual collapse of a cluster into two hadrons.
Add the produced hadrons to the given step as decay products of the partons in the cluster. The tagged particles are used for momentum compensation.
virtual tPVector ThePEG::ClusterCollapser::getCompensators | ( | Energy | mh, | |
const ColourSinglet & | cs, | |||
const tPVector & | tagged, | |||
tStepPtr | newStep | |||
) | const [protected, virtual] |
Get particles for compensation.
Look through the tagged vector for particles (which are not in the colour singlet cs) which can be used to compensate momentum when cs collapses into a hadron with mass mh. These partons are then copied into the new step so that their momentum can be changed and then returned.
void ThePEG::ClusterCollapser::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::Interfaced.
void ThePEG::ClusterCollapser::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. |
Reimplemented from ThePEG::Interfaced.
virtual IBPtr ThePEG::ClusterCollapser::clone | ( | ) | const [protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
virtual IBPtr ThePEG::ClusterCollapser::fullclone | ( | ) | const [protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Energy ThePEG::ClusterCollapser::theEnergyCut [private] |
Energy cut.
If the invariant mass of a cluster, minus the constituent masses of its partons is below this cut, it will be collapsed into one or two particles.
Definition at line 250 of file ClusterCollapser.h.
Referenced by cut().
How should we respond to errors? 0 means do nothing, ie.
the cluster will not be collapsed, or the momentum will not be consterved. Otherwise the severity will be what is defined in the class Exception.
Definition at line 272 of file ClusterCollapser.h.