Herwig 7.3.0
|
DipoleMIOperator implements the I(\epsilon) insertion operator for the massive case. DipoleMIOperator does only apply for expanded con- vention and also not for dimensional reduction. More...
#include <DipoleMIOperator.h>
Public Member Functions | |
Standard constructors and destructors. | |
DipoleMIOperator () | |
The default constructor. | |
virtual | ~DipoleMIOperator () |
The destructor. | |
virtual void | setXComb (tStdXCombPtr xc) |
Set the XComb object steering the Born matrix element this class represents virtual corrections to. | |
virtual bool | apply (const cPDVector &) const |
Return true, if this virtual correction applies to the given process. | |
bool | apply (tcPDPtr) const |
Return true, if contributions exist to the given parton. | |
vector< int > | NLightJetVec () const |
Return a vector of PDG codes of the light flavours, which are contained in the jet particle group. | |
vector< int > | NHeavyJetVec () const |
Return a vector of PDG codes of the heavy flavours, which are contained in the jet particle group. | |
vector< int > | NLightBornVec () const |
Return a vector of PDG codes of the light flavours, which are contained in the associated Born sub-process. | |
vector< int > | NHeavyBornVec () const |
Return a vector of PDG codes of the heavy flavours, which are contained in the associated Born sub-process. | |
vector< int > | NLightProtonVec () const |
Return a vector of PDG codes of the light flavours, which are contained in the proton particle group. | |
virtual double | me2 () const |
Evaluate the finite virtual correction for the variables supplied through the Born XComb object and possible additional random numbers. | |
virtual double | oneLoopDoublePole () const |
If defined, return the coefficient of the pole in epsilon^2. | |
virtual double | oneLoopSinglePole () const |
If defined, return the coefficient of the pole in epsilon. | |
template<class T > | |
T | rootOfKallen (T a, T b, T c) const |
Triangular / Kallen function. | |
![]() | |
MatchboxInsertionOperator () | |
The default constructor. | |
virtual | ~MatchboxInsertionOperator () |
The destructor. | |
Ptr< MatchboxFactory >::tptr | factory () const |
Return the factory which produced this matrix element. | |
Ptr< MatchboxMEBase >::tptr | lastBorn () const |
Return the Born matrix element this class represents virtual corrections to. | |
virtual void | setAlpha (double) const |
Set parameters for new alpha parameter. | |
virtual int | nDimAdditional () const |
Return the number of additional random variables needed to calculate this virtual correction. | |
virtual bool | isDRbar () const |
Return true, if the amplitude is DRbar renormalized, otherwise MSbar is assumed. | |
virtual bool | isDR () const |
Return true, if this virtual correction has been calculated using dimensional reduction. | |
virtual bool | isCS () const |
Return true, if the virtual correction has been calculated in the dipole convention. | |
virtual bool | isBDK () const |
Return true, if the virtual correction has been calculated in the BDK convention. | |
virtual bool | isExpanded () const |
Return true, if the virtual correction has been calculated in the expanded convention. | |
virtual CrossSection | dSigHatDR () const |
Evaluate the finite virtual correction for the variables supplied through the Born XComb object and possible additional random numbers. | |
virtual CrossSection | dSigHatDRAlphaDiff (double alpha) const |
Evaluate the difference of dSigHatDR with and without alpha parameter. | |
virtual void | flushCaches () |
Inform this matrix element that a new phase space point is about to be generated, so all caches should be flushed. | |
Ptr< MatchboxInsertionOperator >::ptr | cloneMe () const |
Clone this insertion operator. | |
virtual void | cloneDependencies (const std::string &prefix="") |
Clone the dependencies, using a given prefix. | |
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. | |
![]() | |
double | rnd () const |
double | rnd (double xu) const |
double | rnd (double xl, double xu) const |
bool | rndbool () const |
bool | rndbool (double p) const |
bool | rndbool (double p1, double p2) const |
int | rndsign (double p1, double p2, double p3) const |
int | rnd2 (double p0, double p1) const |
int | rnd3 (double p0, double p1, double p2) const |
int | rnd4 (double p0, double p1, double p2, double p3) const |
long | irnd (long xu=2) const |
long | irnd (long xl, long xu) const |
const StandardModelBase & | SM () const |
tSMPtr | standardModel () const |
![]() | |
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 |
![]() | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
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 |
virtual IBPtr | fullclone () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
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 |
virtual IBPtr | fullclone () const |
![]() | |
void | debug () const |
virtual void | debugme () const |
![]() | |
CounterType | referenceCount () const |
![]() | |
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 |
![]() | |
const XC & | lastXComb () const |
const XC & | lastXComb () const |
tXCPtr | lastXCombPtr () const |
tXCPtr | lastXCombPtr () const |
const XC & | lastHeadXComb () const |
const XC & | lastHeadXComb () const |
tXCPtr | lastHeadXCombPtr () const |
tXCPtr | lastHeadXCombPtr () const |
const EventHandler & | lastEventHandler () const |
const EventHandler & | lastEventHandler () const |
tPExtrPtr | lastExtractor () const |
tPExtrPtr | lastExtractor () const |
PDFT | pdf (tcPPtr parton) const |
PDFT | pdf (tcPPtr parton) const |
const Cuts & | lastCuts () const |
const Cuts & | lastCuts () const |
tCutsPtr | lastCutsPtr () const |
tCutsPtr | lastCutsPtr () const |
const PPair & | lastParticles () const |
const PPair & | lastParticles () const |
Energy2 | lastS () const |
Energy2 | lastS () const |
const PPair & | lastPartons () const |
const PPair & | lastPartons () const |
Energy2 | lastSHat () const |
Energy2 | lastSHat () const |
double | lastTau () const |
double | lastTau () const |
double | lastY () const |
double | lastY () const |
double | lastP1 () const |
double | lastP1 () const |
double | lastP2 () const |
double | lastP2 () const |
double | lastL1 () const |
double | lastL1 () const |
double | lastL2 () const |
double | lastL2 () const |
double | lastX1 () const |
double | lastX1 () const |
double | lastX2 () const |
double | lastX2 () const |
double | lastE1 () const |
double | lastE1 () const |
double | lastE2 () const |
double | lastE2 () const |
double | lastFL1L2 () const |
double | lastFL1L2 () const |
Energy2 | lastScale () const |
double | lastAlphaS () const |
double | lastAlphaEM () const |
const vector< Lorentz5Momentum > & | meMomenta () const |
double | lastME2 () const |
double | lastPreweight () const |
double | jacobian () const |
CrossSection | lastMECrossSection () const |
double | lastMEPDFWeight () const |
double | lastMECouplings () const |
tSubProPtr | subProcess () const |
const cPDVector & | mePartonData () const |
![]() | |
LastMatchboxXCombInfo () | |
Default constructor. | |
MatchboxXCombData * | lastMatchboxXComb () const |
Return a pointer to the last selected XComb. | |
MatchboxXCombData * | lastHeadMatchboxXComb () const |
If the last selected XComb object belongs to a group of XComb's return a pointer to the head XComb object for this group. | |
const vector< int > & | crossingMap () const |
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() | |
const map< size_t, size_t > & | colourToAmplitudeMap () const |
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() | |
Energy2 | lastRenormalizationScale () const |
The last renormalization scale. | |
const cPDVector & | amplitudePartonData () const |
The amplitude parton data. | |
const vector< Lorentz5Momentum > & | amplitudeMomenta () const |
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. | |
const map< vector< int >, CVector > & | lastLargeNAmplitudes () const |
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. | |
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. | |
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. | |
bool | calculateOneLoopInterference () const |
True, if the one-loop/tree-level interference. | |
double | lastOneLoopInterference () const |
The last one-loop/tree-level interference. | |
bool | calculateOneLoopPoles () const |
True, if the one-loop/tree-level interference. | |
pair< double, double > | lastOneLoopPoles () const |
The last one-loop/tree-level interference. | |
bool | calculateColourCorrelator (const pair< int, int > &ij) const |
True, if the indexed colour correlated matrix element needs to be calculated. | |
double | lastColourCorrelator (const pair< int, int > &ij) const |
The colour correlated matrix element. | |
bool | calculateLargeNColourCorrelator (const pair< int, int > &ij) const |
True, if the indexed large-N colour correlated matrix element needs to be calculated. | |
double | lastLargeNColourCorrelator (const pair< int, int > &ij) const |
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. | |
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. | |
unsigned int | nLight () const |
Return 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. | |
vector< long > | nHeavyJetVec () const |
Return 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. | |
size_t | colourBasisDim () const |
Get 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. | |
int | nDimAmplitude () const |
Return 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. | |
const vector< double > & | amplitudeRandomNumbers () const |
Get the additional random numbers required by the amplitude. | |
const vector< double > & | insertionRandomNumbers () const |
Get the additional random numbers required by the insertion operator. | |
const map< int, double > & | diagramWeights () const |
Return the diagram weights indexed by diagram id. | |
const set< pair< size_t, size_t > > & | singularLimits () const |
Return the singular limits. | |
const set< pair< size_t, size_t > >::const_iterator & | lastSingularLimit () const |
Return the last matched singular limit. | |
Ptr< StandardModel >::tcptr | hwStandardModel () const |
Get the Herwig StandardModel object. | |
double | symmetryFactor () const |
Return the symmetry factor. | |
const vector< int > & | olpId () const |
Return the OLP process id. | |
double * | olpMomenta () const |
Return the olp momentum vector. | |
void | fillOLPMomenta (const vector< Lorentz5Momentum > &mm, const cPDVector &mePartonData, const map< long, Energy > &reshuffleMap) const |
Fill the olp momentum vector. | |
Clone Methods. | |
double | CA |
C_A. | |
double | CF |
C_F. | |
double | gammaQuark |
\gamma_q | |
double | gammaGluon |
\gamma_g | |
double | betaZero |
\beta_0 The Matchbox convention is \beta_0=\gamma_g. | |
double | KQuark |
K_q. | |
double | KGluon |
K_g. | |
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. | |
double | Vj (const ParticleData &, const ParticleData &, Energy2, double, double, int, bool=false) const |
V_j, non-singular terms. | |
double | VsDoublePole (const ParticleData &, const ParticleData &) const |
V^{(s)}, double pole part in expanded convention. | |
double | VsSinglePole (const ParticleData &, const ParticleData &, Energy2) const |
V^{(s)}, single pole part in expanded convention. | |
double | GammaQuark (const ParticleData &) const |
\Gamma_q, finite term | |
double | GammaGluon () const |
\Gamma_g, finite term | |
double | GammaQuarkSinglePole (const ParticleData &) const |
\Gamma_q, single pole term | |
double | GammaGluonSinglePole () const |
\Gamma_g, single pole term | |
DipoleMIOperator & | operator= (const DipoleMIOperator &)=delete |
The assignment operator is private and must never be called. | |
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 void | Init () |
The standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
![]() | |
enum | InitState |
![]() | |
typedef unsigned int | CounterType |
![]() | |
typedef ThePEG::Ptr< XC >::pointer | XCPtr |
typedef ThePEG::Ptr< XC >::const_pointer | cXCPtr |
typedef ThePEG::Ptr< XC >::transient_pointer | tXCPtr |
typedef ThePEG::Ptr< XC >::transient_const_pointer | tcXCPtr |
![]() | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
initializing | |
uninitialized | |
initialized | |
runready | |
![]() | |
const unsigned long | uniqueId |
![]() | |
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) |
![]() | |
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 IBPtr | clone () const=0 |
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 &) |
![]() | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
![]() | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
![]() | |
vector< int > & | crossingMap () |
The 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() | |
map< size_t, size_t > & | colourToAmplitudeMap () |
The colour crossing information as filled by the last call to fillCrossingMap() | |
void | crossingSign (double c) |
The crossing sign as filled by the last call to fillCrossingMap() | |
void | lastRenormalizationScale (Energy2 lrs) |
The last renormalization scale. | |
cPDVector & | amplitudePartonData () |
The amplitude parton data. | |
vector< Lorentz5Momentum > & | amplitudeMomenta () |
The crossed momenta. | |
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. | |
map< vector< int >, CVector > & | lastLargeNAmplitudes () |
The leading N 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. | |
void | lastTreeME2 (double v) const |
The last tree-level matrix element squared. | |
void | lastLargeNME2 (double v) const |
The last tree-level matrix element squared. | |
void | lastOneLoopInterference (double v) const |
The last one-loop/tree-level interference. | |
void | lastOneLoopPoles (pair< double, double > v) const |
The last one-loop/tree-level interference. | |
void | lastColourCorrelator (const pair< int, int > &ij, double v) const |
The colour correlated matrix element. | |
void | lastLargeNColourCorrelator (const pair< int, int > &ij, double v) const |
The large-N colour correlated matrix element. | |
void | lastColourSpinCorrelator (const pair< int, int > &ij, Complex v) const |
The colour/spin correlated matrix element. | |
void | lastSpinCorrelator (const pair< int, int > &ij, Complex v) const |
The spin correlated matrix element. | |
void | nLight (unsigned int n) |
Set the number of light flavours to be considered for this process. | |
void | nLightJetVec (int n) |
Set the elements of the vector that contains the PDG ids of the light flavours, which are contained in the jet particle group. | |
void | nHeavyJetVec (int n) |
Set the elements of the vector that contains the PDG ids of the heavy flavours, which are contained in the jet particle group. | |
void | nLightProtonVec (int n) |
Set the elements of the vector that contains the PDG ids of the light flavours, which are contained in the proton particle group. | |
void | colourBasisDim (size_t d) |
Set the dimensionality of the colour basis for this process. | |
void | nDimPhasespace (int d) |
Set the number of degrees of freedom required by the phase space generator. | |
void | nDimAmplitude (int d) |
Set the number of degrees of freedom required by the amplitude. | |
void | nDimInsertions (int d) |
Set the number of degrees of freedom required by the insertion operators. | |
vector< double > & | amplitudeRandomNumbers () |
Access the additional random numbers required by the amplitude. | |
vector< double > & | insertionRandomNumbers () |
Access the additional random numbers required by the insertion operator. | |
map< int, double > & | diagramWeights () |
Access the diagram weights indexed by diagram id. | |
set< pair< size_t, size_t > > & | singularLimits () |
Access the singular limits. | |
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. | |
void | symmetryFactor (double f) const |
Set the symmetry factor. | |
void | olpId (int pType, int id) |
Set the OLP process id. | |
void | lastMatchboxXComb (tStdXCombPtr xc) |
Set the XComb pointer cast to MatchboxXComb. | |
![]() | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
![]() | |
XCPtr | theLastXComb |
![]() | |
MatchboxXCombData * | theLastMatchboxXComb |
The XComb pointer cast to MatchboxXComb. | |
MatchboxXCombData * | theLastHeadMatchboxXComb |
The head XComb pointer cast to MatchboxXComb. | |
DipoleMIOperator implements the I(\epsilon) insertion operator for the massive case. DipoleMIOperator does only apply for expanded con- vention and also not for dimensional reduction.
Definition at line 33 of file DipoleMIOperator.h.
|
virtual |
Return true, if this virtual correction applies to the given process.
Implements Herwig::MatchboxInsertionOperator.
|
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.
|
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.
|
virtual |
Evaluate the finite virtual correction for the variables supplied through the Born XComb object and possible additional random numbers.
Implements Herwig::MatchboxInsertionOperator.
|
virtual |
If defined, return the coefficient of the pole in epsilon^2.
Reimplemented from Herwig::MatchboxInsertionOperator.
|
virtual |
If defined, return the coefficient of the pole in epsilon.
Reimplemented from Herwig::MatchboxInsertionOperator.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::DipoleMIOperator::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::DipoleMIOperator::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
inline |
Triangular / Kallen function.
Definition at line 123 of file DipoleMIOperator.h.
References ThePEG::sqrt().
|
virtual |
Set the XComb object steering the Born matrix element this class represents virtual corrections to.
Reimplemented from Herwig::MatchboxInsertionOperator.
|
private |
\beta_0 The Matchbox convention is \beta_0=\gamma_g.
Often however, \beta_0 is defined in the literature as \beta_0=2*\gamma_g. Be aware of consistent usage! In the massive case (see hep-ph/0011222v3): \beta_0 = 11/3*C_A - 4/3*T_R*(N_f+N_F) with T_R=1/2, N_f the number of light flavours ,and N_F the number of heavy flavours, which originate in the splittings g->qqbar or g->QQbar. In our conventions, however: \beta_0 = 11/6*C_A - 2/3*T_R*(N_f+N_F) The "massive" \beta_0 applies as soon as we define massive flavours in the jet particle group. Be aware that some OLP might generically(!) use something like N_f=5 and N_F=1 in their definition of \beta_0!
Definition at line 208 of file DipoleMIOperator.h.
|
private |
C_A.
Definition at line 174 of file DipoleMIOperator.h.
|
private |
C_F.
Definition at line 179 of file DipoleMIOperator.h.
|
private |
\gamma_g
Definition at line 189 of file DipoleMIOperator.h.
|
private |
\gamma_q
Definition at line 184 of file DipoleMIOperator.h.
|
private |
K_g.
Definition at line 218 of file DipoleMIOperator.h.
|
private |
K_q.
Definition at line 213 of file DipoleMIOperator.h.