herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
Herwig::MatchboxXCombData Class Reference

Matchbox extensions to StandardXComb. More...

#include <MatchboxXCombData.h>

Inheritance diagram for Herwig::MatchboxXCombData:

Classes

struct  ReshuffleEquation
 Helper struct to define the reshuffling equation. More...
 

Public Member Functions

void flushCaches ()
 Reset all cache flags.
 
Ptr< MatchboxFactory >::tcptr factory () const
 Get the factory.
 
Ptr< MatchboxMEBase >::tptr matchboxME () const
 Get the matrix element; may return null.
 
Ptr< SubtractionDipole >::tptr subtractionDipole () const
 Get the dipole; may return null.
 
const vector< int > & crossingMap () const
 The crossing information as filled by the last call to fillCrossingMap()
 
vector< int > & crossingMap ()
 The crossing information as filled by the last call to fillCrossingMap()
 
const map< size_t, size_t > & amplitudeToColourMap () const
 The colour crossing information as filled by the last call to fillCrossingMap()
 
map< size_t, size_t > & amplitudeToColourMap ()
 The colour crossing information as filled by the last call to fillCrossingMap()
 
const map< size_t, size_t > & colourToAmplitudeMap () const
 The colour crossing information as filled by the last call to fillCrossingMap()
 
map< size_t, size_t > & colourToAmplitudeMap ()
 The colour crossing information as filled by the last call to fillCrossingMap()
 
double crossingSign () const
 The crossing sign as filled by the last call to fillCrossingMap()
 
void crossingSign (double c)
 The crossing sign as filled by the last call to fillCrossingMap()
 
Energy2 lastRenormalizationScale () const
 The last renormalization scale.
 
void lastRenormalizationScale (Energy2 lrs)
 The last renormalization scale.
 
const cPDVectoramplitudePartonData () const
 The amplitude parton data.
 
cPDVectoramplitudePartonData ()
 The amplitude parton data.
 
const vector< Lorentz5Momentum > & amplitudeMomenta () const
 The crossed momenta.
 
vector< Lorentz5Momentum > & amplitudeMomenta ()
 The crossed momenta.
 
bool calculateTreeAmplitudes () const
 True, if the the tree level amplitudes need to be calculated.
 
const map< vector< int >, CVector > & lastAmplitudes () const
 The amplitude values which have been contributing to the last call of prepareAmplitudes.
 
void haveTreeAmplitudes (bool f=true)
 True, if the the tree level amplitudes need to be calculated.
 
map< vector< int >, CVector > & lastAmplitudes ()
 The amplitude values which have been contributing to the last call of prepareAmplitudes.
 
const map< vector< int >, CVector > & lastLargeNAmplitudes () const
 The leading N amplitude values which have been contributing to the last call of prepareAmplitudes.
 
map< vector< int >, CVector > & lastLargeNAmplitudes ()
 The leading N amplitude values which have been contributing to the last call of prepareAmplitudes.
 
bool calculateOneLoopAmplitudes () const
 True, if the the one-loop amplitudes need to be calculated.
 
const map< vector< int >, CVector > & lastOneLoopAmplitudes () const
 The one-loop amplitude values which have been contributing to the last call of prepareAmplitudes.
 
void haveOneLoopAmplitudes (bool f=true)
 True, if the the one-loop amplitudes need to be calculated.
 
map< vector< int >, CVector > & lastOneLoopAmplitudes ()
 The one-loop amplitude values which have been contributing to the last call of prepareAmplitudes.
 
bool calculateTreeME2 () const
 True, if the tree-level matrix element squared needs to be calculated.
 
double lastTreeME2 () const
 The last tree-level matrix element squared.
 
void lastTreeME2 (double v)
 The last tree-level matrix element squared.
 
bool calculateLargeNME2 () const
 True, if the tree-level matrix element squared needs to be calculated.
 
double lastLargeNME2 () const
 The last tree-level matrix element squared.
 
void lastLargeNME2 (double v)
 The last tree-level matrix element squared.
 
bool calculateOneLoopInterference () const
 True, if the one-loop/tree-level interference. More...
 
double lastOneLoopInterference () const
 The last one-loop/tree-level interference.
 
void lastOneLoopInterference (double v)
 The last one-loop/tree-level interference.
 
bool calculateOneLoopPoles () const
 True, if the one-loop/tree-level interference. More...
 
pair< double, double > lastOneLoopPoles () const
 The last one-loop/tree-level interference.
 
void lastOneLoopPoles (pair< double, double > v)
 The last one-loop/tree-level interference.
 
bool calculateColourCorrelator (pair< int, int > ij) const
 True, if the indexed colour correlated matrix element needs to be calculated.
 
double lastColourCorrelator (pair< int, int > ij) const
 The colour correlated matrix element.
 
void lastColourCorrelator (pair< int, int > ij, double v)
 The colour correlated matrix element.
 
bool calculateLargeNColourCorrelator (pair< int, int > ij) const
 True, if the indexed large-N colour correlated matrix element needs to be calculated.
 
double lastLargeNColourCorrelator (pair< int, int > ij) const
 The large-N colour correlated matrix element.
 
void lastLargeNColourCorrelator (pair< int, int > ij, double v)
 The large-N colour correlated matrix element.
 
bool calculateColourSpinCorrelator (const pair< int, int > &ij) const
 True, if the indexed colour/spin correlated matrix element needs to be calculated.
 
Complex lastColourSpinCorrelator (const pair< int, int > &ij) const
 The colour/spin correlated matrix element.
 
void lastColourSpinCorrelator (const pair< int, int > &ij, Complex v)
 The colour/spin correlated matrix element.
 
bool calculateSpinCorrelator (const pair< int, int > &ij) const
 True, if the indexed spin correlated matrix element needs to be calculated.
 
Complex lastSpinCorrelator (const pair< int, int > &ij) const
 The spin correlated matrix element.
 
void lastSpinCorrelator (const pair< int, int > &ij, Complex v)
 The spin correlated matrix element.
 
unsigned int nLight () const
 Return the number of light flavours to be considered for this process.
 
void nLight (unsigned int n)
 Set the number of light flavours to be considered for this process.
 
vector< long > nLightJetVec () const
 Return the vector that contains the PDG ids of the light flavours, which are contained in the jet particle group.
 
void nLightJetVec (long n)
 Set the elements of the vector that contains the PDG ids of the light flavours, which are contained in the jet particle group.
 
vector< long > nHeavyJetVec () const
 Return the vector that contains the PDG ids of the heavy flavours, which are contained in the jet particle group.
 
void nHeavyJetVec (long n)
 Set the elements of the vector that contains the PDG ids of the heavy flavours, which are contained in the jet particle group.
 
vector< long > nLightProtonVec () const
 Return the vector that contains the PDG ids of the light flavours, which are contained in the proton particle group.
 
void nLightProtonVec (long n)
 Set the elements of the vector that contains the PDG ids of the light flavours, which are contained in the proton particle group.
 
size_t colourBasisDim () const
 Get the dimensionality of the colour basis for this process.
 
void colourBasisDim (size_t d)
 Set the dimensionality of the colour basis for this process.
 
int nDimPhasespace () const
 Return the number of degrees of freedom required by the phase space generator.
 
void nDimPhasespace (int d)
 Set the number of degrees of freedom required by the phase space generator.
 
int nDimAmplitude () const
 Return the number of degrees of freedom required by the amplitude.
 
void nDimAmplitude (int d)
 Set the number of degrees of freedom required by the amplitude.
 
int nDimInsertions () const
 Return the number of degrees of freedom required by the insertion operators.
 
void nDimInsertions (int d)
 Set the number of degrees of freedom required by the insertion operators.
 
const vector< double > & amplitudeRandomNumbers () const
 Get the additional random numbers required by the amplitude.
 
vector< double > & amplitudeRandomNumbers ()
 Access the additional random numbers required by the amplitude.
 
const vector< double > & insertionRandomNumbers () const
 Get the additional random numbers required by the insertion operator.
 
vector< double > & insertionRandomNumbers ()
 Access the additional random numbers required by the insertion operator.
 
const map< int, double > & diagramWeights () const
 Return the diagram weights indexed by diagram id.
 
map< int, double > & diagramWeights ()
 Access the diagram weights indexed by diagram id.
 
const set< pair< size_t, size_t > > & singularLimits () const
 Return the singular limits.
 
set< pair< size_t, size_t > > & singularLimits ()
 Access the singular limits.
 
const set< pair< size_t, size_t > >::const_iterator & lastSingularLimit () const
 Return the last matched singular limit.
 
set< pair< size_t, size_t > >::const_iterator & lastSingularLimit ()
 Access the last matched singular limit.
 
void hwStandardModel (Ptr< StandardModel >::tcptr sm)
 Set the Herwig StandardModel object.
 
Ptr< StandardModel >::tcptr hwStandardModel () const
 Get the Herwig StandardModel object.
 
double symmetryFactor () const
 Return the symmetry factor.
 
void symmetryFactor (double f)
 Set the symmetry factor.
 
const vector< int > & olpId () const
 Return the OLP process ids.
 
void olpId (int pType, int id)
 Set the OLP process ids.
 
void olpId (const vector< int > &id)
 Set the OLP process ids.
 
double * olpMomenta ()
 Return the olp momentum vector.
 
void fillOLPMomenta (const vector< Lorentz5Momentum > &mm, const cPDVector &mePartonData=cPDVector(), const map< long, Energy > &reshuffleMap=map< long, Energy >())
 Fill the olp momentum vector.
 
void reshuffle (vector< Lorentz5Momentum > &momenta, const cPDVector &mePartonData, const map< long, Energy > &reshuffleMap) const
 Perform a reshuffling to the mass shells contained in the map.
 
int externalId () const
 Return a generic process id to communicate with external codes.
 
void externalId (int id)
 Set a generic process id to communicate with external codes.
 
bool initialized () const
 True if the process has been initialized.
 
void isInitialized (bool is=true)
 True if the process has been initialized.
 
const vector< double * > & externalMomenta () const
 Return the external momentum vector.
 
void fillExternalMomenta (const vector< Lorentz5Momentum > &)
 Fill the external momentum vector.
 
const map< vector< int >, vector< complex< double > > > & heljamp () const
 Caching for the external madgraph colour structures.
 
const map< vector< int >, vector< complex< double > > > & helLNjamp () const
 Caching for the external madgraph colour structures (large N)
 
void pushheljamp (const vector< int > &hel, const complex< double > &jamp)
 pushback the madgraph colour structures
 
void clearheljamp ()
 clear the madgraph colour structures
 
void pushhelLNjamp (const vector< int > &hel, const complex< double > &jamp)
 pushback the madgraph colour structures (large N)
 
void clearhelLNjamp ()
 clear the madgraph colour structures (large N)
 
Standard constructors and destructors.
 MatchboxXCombData (tMEPtr newME)
 Standard constructor.
 
 MatchboxXCombData ()
 Default constructor.
 
virtual ~MatchboxXCombData ()
 Destructor.
 

Static Public Member Functions

static void Init ()
 The standard Init function used to initialize the interfaces. More...
 

Private Member Functions

MatchboxXCombDataoperator= (const MatchboxXCombData &)=delete
 The assignment operator is private and must never be called. More...
 

Private Attributes

Ptr< MatchboxMEBase >::tptr theMatchboxME
 The matrix element.
 
Ptr< SubtractionDipole >::tptr theSubtractionDipole
 The dipole.
 
vector< int > theCrossingMap
 The crossing information as filled by the last call to fillCrossingMap()
 
map< size_t, size_t > theAmplitudeToColourMap
 The colour crossing information as filled by the last call to fillCrossingMap()
 
map< size_t, size_t > theColourToAmplitudeMap
 The colour crossing information as filled by the last call to fillCrossingMap()
 
double theCrossingSign
 The crossing sign as filled by the last call to fillCrossingMap()
 
Energy2 theLastRenormalizationScale
 The last renormalization scale.
 
cPDVector theAmplitudePartonData
 The amplitude parton data.
 
vector< Lorentz5Momentum > theAmplitudeMomenta
 The ccrossed momenta.
 
bool theCalculateTreeAmplitudes
 True, if the the tree level amplitudes need to be calculated.
 
map< vector< int >, CVectortheLastAmplitudes
 The amplitude values which have been contributing to the last call of prepareAmplitudes.
 
map< vector< int >, CVectortheLastLargeNAmplitudes
 The leading N amplitude values which have been contributing to the last call of prepareAmplitudes.
 
bool theCalculateOneLoopAmplitudes
 True, if the the one-loop amplitudes need to be calculated.
 
map< vector< int >, CVectortheLastOneLoopAmplitudes
 The one-loop amplitude values which have been contributing to the last call of prepareAmplitudes.
 
bool theCalculateTreeME2
 True, if the tree-level matrix element squared needs to be calculated.
 
double theLastTreeME2
 The last tree-level matrix element squared.
 
bool theCalculateLargeNME2
 True, if the tree-level matrix element squared needs to be calculated.
 
double theLastLargeNME2
 The last tree-level matrix element squared.
 
bool theCalculateOneLoopInterference
 True, if the one-loop/tree-level interference. More...
 
double theLastOneLoopInterference
 The last one-loop/tree-level interference.
 
bool theCalculateOneLoopPoles
 True, if the one-loop/tree-level interference. More...
 
pair< double, double > theLastOneLoopPoles
 The last one-loop/tree-level interference.
 
map< pair< int, int >, bool > theCalculateColourCorrelators
 True, if the indexed colour correlated matrix element needs to be calculated.
 
map< pair< int, int >, double > theColourCorrelators
 The colour correlated matrix element.
 
map< pair< int, int >, bool > theCalculateLargeNColourCorrelators
 True, if the indexed large-N colour correlated matrix element needs to be calculated.
 
map< pair< int, int >, double > theLargeNColourCorrelators
 The large-N colour correlated matrix element.
 
map< pair< int, int >, bool > theCalculateColourSpinCorrelators
 True, if the indexed colour/spin correlated matrix element needs to be calculated.
 
map< pair< int, int >, ComplextheColourSpinCorrelators
 The colour/spin correlated matrix element.
 
map< pair< int, int >, bool > theCalculateSpinCorrelators
 True, if the indexed spin correlated matrix element needs to be calculated.
 
map< pair< int, int >, ComplextheSpinCorrelators
 The spin correlated matrix element.
 
size_t theColourBasisDim
 The dimensionality of the colour basis for this process.
 
int theNDimPhasespace
 The number of degrees of freedom required by the phase space generator.
 
int theNDimAmplitude
 The number of degrees of freedom required by the amplitude.
 
int theNDimInsertions
 The number of degrees of freedom required by the insertion operators.
 
vector< double > theAmplitudeRandomNumbers
 Additional random numbers required by the amplitude.
 
vector< double > theInsertionRandomNumbers
 Additional random numbers required by the insertion operator.
 
map< int, double > theDiagramWeights
 The diagram weights indexed by diagram id.
 
set< pair< size_t, size_t > > theSingularLimits
 If not empty, the entries here serve to limit phasespace generation to the corresponding collinear limits, or soft limits if both pair entries are equal.
 
set< pair< size_t, size_t > >::const_iterator theLastSingularLimit
 The last matched singular limit.
 
Ptr< StandardModel >::tcptr theStandardModel
 The Herwig StandardModel object.
 
double theSymmetryFactor
 The symmetry factor.
 
vector< int > theOLPId
 The OLP process id.
 
double * theOLPMomenta
 Return the olp momentum vector.
 
bool filledOLPMomenta
 True, if olp momenta have been filled.
 
int theExternalId
 A generic process id to communicate with external codes.
 
bool theInitialized
 True if the process has been initialized.
 
vector< double * > theExternalMomenta
 The external momenta.
 
bool filledExternalMomenta
 True, if external momenta have been filled.
 
map< vector< int >, vector< complex< double > > > theHelJamp
 caching of different colour structures (MadGraph-Interface)
 
map< vector< int >, vector< complex< double > > > theLNHelJamp
 caching of different colour structures (MadGraph-Interface)
 

Static Private Attributes

static unsigned int theNLight
 The number of light flavours to be considered for this process.
 
static vector< long > theNLightJetVec
 Vector with the PDG ids of the light quark flavours, which are contained in the jet particle group.
 
static vector< long > theNHeavyJetVec
 Vector with the PDG ids of the heavy quark flavours, which are contained in the jet particle group.
 
static vector< long > theNLightProtonVec
 Vector with the PDG ids of the light quark flavours, which are contained in the proton particle group.
 

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...
 
static void putCVector (PersistentOStream &, const CVector &)
 Put a CVector to the persistent ostream.
 
static void getCVector (PersistentIStream &, CVector &)
 Get a CVector from the persistent istream.
 
static void putAmplitudeMap (PersistentOStream &, const map< vector< int >, CVector > &)
 Put an amplitude map to the persistent ostream.
 
static void getAmplitudeMap (PersistentIStream &, map< vector< int >, CVector > &)
 Get an amplitude map from the persistent istream.
 

Detailed Description

Matchbox extensions to StandardXComb.

Author
Simon Platzer

Definition at line 77 of file MatchboxXCombData.h.

Member Function Documentation

◆ calculateOneLoopInterference()

bool Herwig::MatchboxXCombData::calculateOneLoopInterference ( ) const
inline

True, if the one-loop/tree-level interference.

be calculated.

Definition at line 298 of file MatchboxXCombData.h.

◆ calculateOneLoopPoles()

bool Herwig::MatchboxXCombData::calculateOneLoopPoles ( ) const
inline

True, if the one-loop/tree-level interference.

be calculated.

Definition at line 316 of file MatchboxXCombData.h.

◆ Init()

static void Herwig::MatchboxXCombData::Init ( )
static

The standard Init function used to initialize the interfaces.

Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.

◆ operator=()

MatchboxXCombData& Herwig::MatchboxXCombData::operator= ( const MatchboxXCombData )
privatedelete

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ persistentInput()

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

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

Member Data Documentation

◆ theCalculateOneLoopInterference

bool Herwig::MatchboxXCombData::theCalculateOneLoopInterference
private

True, if the one-loop/tree-level interference.

be calculated.

Definition at line 916 of file MatchboxXCombData.h.

◆ theCalculateOneLoopPoles

bool Herwig::MatchboxXCombData::theCalculateOneLoopPoles
private

True, if the one-loop/tree-level interference.

be calculated.

Definition at line 927 of file MatchboxXCombData.h.


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