herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
Herwig::ShowerTree Class Reference

The ShowerTree class stores the basic information needed for each hard interaction, either a scattering process or decay, which needs to be showered. More...

#include <ShowerTree.h>

Inheritance diagram for Herwig::ShowerTree:

Public Member Functions

 ShowerTree (PerturbativeProcessPtr process)
 Constructor from a perturbative process. More...
 
void fillEventRecord (StepPtr pstep, bool ISR, bool FSR)
 Insert the tree into the event record. More...
 
void setParents ()
 Set the parent tree to this tree for trees which come from this one. More...
 
map< ShowerProgenitorPtr, ShowerParticlePtr > & incomingLines ()
 Get the incoming shower particles.
 
map< ShowerProgenitorPtr, tShowerParticlePtr > & outgoingLines ()
 Get the outgoing shower particles.
 
void updateFinalStateShowerProduct (ShowerProgenitorPtr progenitor, ShowerParticlePtr parent, const ShowerParticleVector &children)
 Update the shower product for a final-state particle.
 
void updateInitialStateShowerProduct (ShowerProgenitorPtr progenitor, ShowerParticlePtr newParent)
 Update the shower product for an initial-state particle.
 
tShowerParticlePtr getFinalStateShowerProduct (ShowerProgenitorPtr progenitor)
 Get the current final shower product for a final-state particle.
 
void addFinalStateBranching (ShowerParticlePtr parent, const ShowerParticleVector &children)
 Add a final-state branching. More...
 
void addInitialStateBranching (ShowerParticlePtr oldParent, ShowerParticlePtr newParent, ShowerParticlePtr otherChild)
 Add an initial-state branching. More...
 
void updateAfterShower (ShowerDecayMap &decay)
 Member called at the end of the shower of a tree to perform a number of updates. More...
 
ShowerTreePtr parent () const
 Access the parent tree.
 
void clear ()
 Clear all the shower products so that the event can be reshowered if the first attempt fail.
 
void resetShowerProducts ()
 Reset the particles resulting from the shower to those which started the shower.
 
void setVetoes (const map< ShowerInteraction, Energy > &pTs, unsigned int type)
 Set maximum Emission scales.
 
vector< ShowerProgenitorPtr > extractProgenitors ()
 Extract the progenitors for the reconstruction.
 
const set< tShowerParticlePtr > & forwardParticles () const
 Access to the outgoing particles.
 
const map< tShowerTreePtr, pair< tShowerProgenitorPtr, tShowerParticlePtr > > & treelinks () const
 Map of particles in this Tree which are the initial particles in other trees.
 
void updateLink (tShowerTreePtr tree, pair< tShowerProgenitorPtr, tShowerParticlePtr > in)
 Update the link between shower particle and tree.
 
void transform (const LorentzRotation &rot, bool applyNow)
 Transform the tree.
 
void applyTransforms ()
 Apply any postphoned transformations.
 
void clearTransforms ()
 Clear any postphoned transformations.
 
const LorentzRotationtransform ()
 Transform which needs to be applied.
 
vector< ShowerParticlePtr > extractProgenitorParticles ()
 Get all the progenitors.
 
void checkMomenta ()
 Check the momentum conservation in the tree.
 
void update (PerturbativeProcessPtr newProcess)
 Update tree after the parent has been decayed.
 
RealEmissionProcessPtr perturbativeProcess ()
 The perturbative process.
 
bool isHard () const
 Access methods for the type of interaction. More...
 
bool isDecay () const
 Whether or not this is a decay.
 
bool hardMatrixElementCorrection () const
 Flags relating to the application of the hard matrix element correction. More...
 
void hardMatrixElementCorrection (bool in)
 Set whether or not the hard matrix element correction was applied.
 
bool hasShowered () const
 Access and set the flag for whether this tree has been showered. More...
 
void hasShowered (bool in)
 Set the flag.
 
- Public Member Functions inherited from Herwig::ShowerEventRecord
tSubProPtr subProcess () const
 Return the subprocess currently showered.
 
tStdXCombPtr xcombPtr () const
 Return the XComb describing the hard process.
 
void xcombPtr (tStdXCombPtr in)
 Set the XComb describing the hard process.
 
const StandardXCombxcomb () const
 Return the XComb describing the hard process.
 
PPairincoming ()
 Return the incoming partons at the current stage of the evolution.
 
const PPairincoming () const
 Return the incoming partons at the current stage of the evolution.
 
PListoutgoing ()
 Return the outgoing partons at the current stage of the evolution.
 
const PListoutgoing () const
 Return the outgoing partons at the current stage of the evolution.
 
PListintermediates ()
 Return the intermediate particles at the current stage of the evolution.
 
const PListintermediates () const
 Return the intermediate particles at the current stage of the evolution.
 
const pair< double, double > & fractions () const
 Return the momentum fractions.
 
pair< double, double > & fractions ()
 Return the momentum fractions.
 
const pair< PDF, PDF > & pdfs () const
 Return the PDFs.
 
void identifyEventType ()
 Identify the type of event.
 
 ShowerEventRecord ()
 The default constructor.
 
virtual ~ShowerEventRecord ()
 The destructor.
 
bool isMCatNLOSEvent () const
 True, if Matchbox MC S-event.
 
bool isMCatNLOHEvent () const
 True, if matchbox MC H-event.
 
bool isPowhegSEvent () const
 True, if Matchbox MC S-event.
 
bool isPowhegHEvent () const
 True, if matchbox MC H-event.
 
void isMCatNLOSEvent (bool in)
 True, if Matchbox MC S-event.
 
void isMCatNLOHEvent (bool in)
 True, if matchbox MC H-event.
 
Ptr< ShowerApproximation >::tptr showerApproximation ()
 Access to the shower approximation.
 
bool truncatedShower () const
 True if truncated shower required.
 
void truncatedShower (bool in)
 True if truncated shower required.
 
- 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
 

Static Public Member Functions

static Lorentz5Distance spaceTimeDistance (tPPtr particle)
 Calculate the space-time displacement. More...
 
static void constructTrees (ShowerTreePtr &hardTree, ShowerDecayMap &decayTrees, PerturbativeProcessPtr hard, DecayProcessMap decay)
 Construct the trees from the hard process. More...
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 

Protected Member Functions

void fixColour (tShowerParticlePtr part)
 After the creatation of a ShowerParticle make sure it is properly attached to its ColourLine. More...
 
void insertHard (StepPtr pstep, bool ISR, bool FSR)
 Functions to add the shower to the event record. More...
 
void insertDecay (StepPtr pstep, bool ISR, bool FSR)
 Insert a decay process. More...
 
void addFinalStateShower (PPtr particle, StepPtr step)
 Recursively add the final-state shower from the particle to the event record. More...
 
void addInitialStateShower (PPtr particle, PPtr hadron, StepPtr step, bool addchildren=true)
 Add the initial-state shwoer from the particle to the step. More...
 
- Protected Member Functions inherited from Herwig::ShowerEventRecord
void subProcess (tSubProPtr in)
 Set the subprocess.
 
pair< PDF, PDF > & pdfs ()
 Return the PDFs.
 
map< ColinePtr, ColinePtr > & colourLines ()
 Map of colour lines used to reset colours when inserted into the event.
 
void colourIsolate (const vector< PPtr > &original, const vector< PPtr > &copy)
 Isolate the colour of the process from the rest of the event. More...
 
void updateColour (PPtr particle, bool recursive)
 Update the colour information of a particle prior to insertion into the event record.
 
void mapColour (PPtr original, PPtr copy)
 Map the colours for a given particle.
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 

Private Attributes

PPair _incoming
 Incoming partons for the hard process.
 
map< ShowerProgenitorPtr, ShowerParticlePtr > _incomingLines
 The incoming ShowerParticles connected to the interaction as the index of a map with the particle the shower backward evolves them to as the value.
 
map< ShowerProgenitorPtr, tShowerParticlePtr > _outgoingLines
 The outgoing ShowerParticles connected to the interaction as the index of a map with the particle the shower evolves them to as the value.
 
set< tShowerParticlePtr > _forward
 The outgoing ShowerParticles at the end of the final-state shower.
 
set< tShowerParticlePtr > _backward
 The incoming ShowerParticles at the end of the initial-state shower.
 
bool _hardMECorrection
 Was the hard matrix element correction applied.
 
bool _wasHard
 Was this a scattering process or a decay.
 
map< tShowerTreePtr, pair< tShowerProgenitorPtr, tShowerParticlePtr > > _treelinks
 Map of particles in this Tree which are the initial particles in other trees.
 
tShowerTreePtr _parent
 The parent tree.
 
bool _hasShowered
 Has this tree showered.
 
LorentzRotation _transforms
 The transforms which still need to be applied.
 

Static Private Attributes

static bool _spaceTime
 Whether or not to include space-time distances.
 
static Energy2 _vmin2
 Minimum virtuality for the space-time model.
 

Friends

class ShowerHandler
 

Additional Inherited Members

- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 

Detailed Description

The ShowerTree class stores the basic information needed for each hard interaction, either a scattering process or decay, which needs to be showered.

Definition at line 40 of file ShowerTree.h.

Constructor & Destructor Documentation

◆ ShowerTree()

Herwig::ShowerTree::ShowerTree ( PerturbativeProcessPtr  process)

Constructor from a perturbative process.

Parameters
processThe perturbative process

Member Function Documentation

◆ addFinalStateBranching()

void Herwig::ShowerTree::addFinalStateBranching ( ShowerParticlePtr  parent,
const ShowerParticleVector children 
)

Add a final-state branching.

This method removes the parent of the branching from the list of particles at the end of the shower and inserts the children

Parameters
parentThe parent for the branching
childrenThe outgoing particles in the branching

◆ addFinalStateShower()

void Herwig::ShowerTree::addFinalStateShower ( PPtr  particle,
StepPtr  step 
)
protected

Recursively add the final-state shower from the particle to the event record.

Parameters
particleThe final-state particle
stepThe step

◆ addInitialStateBranching()

void Herwig::ShowerTree::addInitialStateBranching ( ShowerParticlePtr  oldParent,
ShowerParticlePtr  newParent,
ShowerParticlePtr  otherChild 
)

Add an initial-state branching.

This method removes the oldParent of the branching and inserts the result of the backward evolution and the outgoing particle into the relevant lists.

Parameters
oldParentThe particle being backward evolved
newParentThe initial-state particle resulting from the backward evolution
otherChildThe final-state particle produced in the evolution.

◆ addInitialStateShower()

void Herwig::ShowerTree::addInitialStateShower ( PPtr  particle,
PPtr  hadron,
StepPtr  step,
bool  addchildren = true 
)
protected

Add the initial-state shwoer from the particle to the step.

Parameters
particleThe final-state particle
hadronThe incoming hadron
stepThe step
addchildrenAdd the children of the particle

◆ constructTrees()

static void Herwig::ShowerTree::constructTrees ( ShowerTreePtr &  hardTree,
ShowerDecayMap decayTrees,
PerturbativeProcessPtr  hard,
DecayProcessMap  decay 
)
static

Construct the trees from the hard process.

Parameters
hardTreeThe output ShowerTree for the hard process
decayTreesThe output ShowerTrees for any decays.
hardThe output ShowerTree for the hard process
decayThe output ShowerTrees for any decays.

◆ fillEventRecord()

void Herwig::ShowerTree::fillEventRecord ( StepPtr  pstep,
bool  ISR,
bool  FSR 
)
inline

Insert the tree into the event record.

Parameters
pstepThe step into which the particles should be inserted
ISRWhether or not ISR is switched on
FSRWhether or not FSR is switched on

Definition at line 78 of file ShowerTree.h.

◆ fixColour()

void Herwig::ShowerTree::fixColour ( tShowerParticlePtr  part)
protected

After the creatation of a ShowerParticle make sure it is properly attached to its ColourLine.

Parameters
partThe particle

◆ hardMatrixElementCorrection()

bool Herwig::ShowerTree::hardMatrixElementCorrection ( ) const
inline

Flags relating to the application of the hard matrix element correction.

Was the hard matrix element correction applied

Definition at line 115 of file ShowerTree.h.

◆ hasShowered()

bool Herwig::ShowerTree::hasShowered ( ) const
inline

Access and set the flag for whether this tree has been showered.

Access the flag

Definition at line 194 of file ShowerTree.h.

◆ insertDecay()

void Herwig::ShowerTree::insertDecay ( StepPtr  pstep,
bool  ISR,
bool  FSR 
)
protected

Insert a decay process.

Parameters
pstepThe step into which the particles should be inserted
ISRWhether or not ISR is switched on
FSRWhether or not FSR is switched on

◆ insertHard()

void Herwig::ShowerTree::insertHard ( StepPtr  pstep,
bool  ISR,
bool  FSR 
)
protected

Functions to add the shower to the event record.

Insert a hard process

Parameters
pstepThe step into which the particles should be inserted
ISRWhether or not ISR is switched on
FSRWhether or not FSR is switched on

◆ isHard()

bool Herwig::ShowerTree::isHard ( ) const
inline

Access methods for the type of interaction.

Whether or not this is a scattering process

Definition at line 99 of file ShowerTree.h.

◆ setParents()

void Herwig::ShowerTree::setParents ( )

Set the parent tree to this tree for trees which come from this one.

This needs to be run after the constructor.

◆ spaceTimeDistance()

static Lorentz5Distance Herwig::ShowerTree::spaceTimeDistance ( tPPtr  particle)
static

Calculate the space-time displacement.

Parameters
particleThe particle for which to calculate the displacement

◆ updateAfterShower()

void Herwig::ShowerTree::updateAfterShower ( ShowerDecayMap decay)

Member called at the end of the shower of a tree to perform a number of updates.

Parameters
decayThe map of widths and ShowerTrees for the decays so that any unstable decay products can be added.

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