thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ThePEG::MEGroup Class Referenceabstract

The MEGroup class represents a 'head' matrix element in association with a group of dependent matrix elements. More...

#include <MEGroup.h>

Inheritance diagram for ThePEG::MEGroup:

Public Member Functions

Standard constructors and destructors.
 MEGroup ()
 Default constructor.
 
virtual ~MEGroup ()
 Destructor.
 
Virtual functions from MEBase.
virtual unsigned int orderInAlphaS () const
 Return the order in \(\alpha_S\) in which this matrix element is given.
 
virtual unsigned int orderInAlphaEW () const
 Return the order in \(\alpha_{EM}\) in which this matrix element is given.
 
virtual double me2 () const
 Return the matrix element for the kinematical configuation previously provided by the last call to setKinematics(), suitably scaled by sHat() to give a dimension-less number.
 
virtual Energy2 scale () const
 Return the scale associated with the phase space point provided by the last call to setKinematics().
 
virtual double alphaS () const
 Return the value of \(\alpha_S\) associated with the phase space point provided by the last call to setKinematics().
 
virtual double alphaEM () const
 Return the value of \(\alpha_EM\) associated with the phase space point provided by the last call to setKinematics().
 
virtual void setKinematics ()
 Set the typed and momenta of the incoming and outgoing partons to be used in subsequent calls to me() and colourGeometries() according to the associated XComb object.
 
virtual void constructVertex (tSubProPtr sub)
 construct the spin information for the interaction
 
virtual void constructVertex (tSubProPtr sub, const ColourLines *cl)
 construct the spin information for the interaction
 
virtual int nDim () const
 The number of internal degreed of freedom used in the matrix element.
 
virtual bool generateKinematics (const double *r)
 Generate internal degrees of freedom given nDim() uniform random numbers in the interval ]0,1[.
 
virtual bool wantCMS () const
 Return true, if this matrix element expects the incoming partons in their center-of-mass system.
 
virtual CrossSection dSigHatDR () const
 Return the matrix element squared differential in the variables given by the last call to generateKinematics().
 
virtual bool haveX1X2 () const
 Return true, if this matrix element will generate momenta for the incoming partons itself.
 
virtual bool havePDFWeight1 () const
 Return true, if this matrix element provides the PDF weight for the first incoming parton itself.
 
virtual bool havePDFWeight2 () const
 Return true, if this matrix element provides the PDF weight for the second incoming parton itself.
 
virtual bool keepRandomNumbers () const
 Return true, if the XComb steering this matrix element should keep track of the random numbers used to generate the last phase space point.
 
virtual void generateSubCollision (SubProcess &sub)
 Comlete a SubProcess object using the internal degrees of freedom generated in the last generateKinematics() (and possible other degrees of freedom which was intergated over in dSigHatDR().
 
virtual void clearKinematics ()
 Clear the information previously provided by a call to setKinematics(...).
 
virtual void getDiagrams () const
 Add all possible diagrams with the add() function.
 
virtual bool noMirror () const
 Return true, if this matrix element does not want to make use of mirroring processes; in this case all possible partonic subprocesses with a fixed assignment of incoming particles need to be provided through the diagrams added with the add(...) method.
 
virtual Selector< const ColourLines * > colourGeometries (tcDiagPtr diag) const
 Return a Selector with possible colour geometries for the selected diagram weighted by their relative probabilities.
 
virtual const ColourLinesselectColourGeometry (tcDiagPtr diag) const
 Select a ColpurLines geometry.
 
virtual Selector< DiagramIndexdiagrams (const DiagramVector &dv) const
 With the information previously supplied with the setKinematics(...) method, a derived class may optionally override this method to weight the given diagrams with their (although certainly not physical) relative probabilities.
 
virtual DiagramIndex diagram (const DiagramVector &dv) const
 Select a diagram.
 
virtual void setXComb (tStdXCombPtr xc)
 Set the XComb object to be used in the next call to generateKinematics() and dSigHatDR().
 
virtual int maxMultCKKW () const
 If this matrix element is to be used together with others for CKKW reweighting and veto, this should give the multiplicity of outgoing particles in the highest multiplicity matrix element in the group.
 
virtual int minMultCKKW () const
 If this matrix element is to be used together with others for CKKW reweighting and veto, this should give the multiplicity of outgoing particles in the lowest multiplicity matrix element in the group.
 
virtual void maxMultCKKW (int mult)
 If this matrix element is to be used together with others for CKKW reweighting and veto, this will set the multiplicity of outgoing particles in the highest multiplicity matrix element in the group.
 
virtual void minMultCKKW (int mult)
 If this matrix element is to be used together with others for CKKW reweighting and veto, this will set the multiplicity of outgoing particles in the lowest multiplicity matrix element in the group.
 
virtual void flushCaches ()
 Inform this matrix element that a new phase space point is about to be generated, so all caches should be flushed.
 
virtual void lastEventStatistics ()
 Collect information on the last evaluated phasespace point for verification or debugging purposes.
 
virtual bool discard (const CrossSection &, const CrossSection &) const
 Return true, if this configuration of cross sections should not be included due to their relative magnitude.
 
tMEPtr head () const
 Return the head matrix element.
 
const MEVector & dependent () const
 Visit the dependent matrix elements.
 
void head (tMEPtr me)
 Set the head matrix element.
 
MEVector & dependent ()
 Access the dependent matrix elements.
 
int dependentOffset (tMEPtr dep) const
 Return the random number offset to access the random numbers provided for the given matrix element to generate dependent kinematics.
 
virtual StdXCombPtr makeXComb (Energy newMaxEnergy, const cPDPair &inc, tEHPtr newEventHandler, tSubHdlPtr newSubProcessHandler, tPExtrPtr newExtractor, tCascHdlPtr newCKKW, const PBPair &newPartonBins, tCutsPtr newCuts, const DiagramVector &newDiagrams, bool mir, const PartonPairVec &allPBins, tStdXCombPtr newHead=tStdXCombPtr(), tMEPtr newME=tMEPtr())
 For the given event generation setup return an xcomb object appropriate to this matrix element.
 
virtual vector< StdXCombPtr > makeDependentXCombs (tStdXCombPtr xcHead, const cPDVector &proc, tMEPtr depME, const PartonPairVec &allPBins) const
 Create a dependent xcomb object to be used for the given process steered bythe head object and dependent matrix element.
 
virtual void fillProjectors ()
 Fill the projectors object of xcombs to choose subprocesses different than the one currently integrated.
 
virtual bool willProject () const
 Return true, if projectors will be used.
 
virtual bool groupReweighted () const
 Return true, if this MEGroup will reweight the contributing cross sections.
 
virtual double reweightHead (const vector< tStdXCombPtr > &)
 Reweight the head cross section.
 
virtual double reweightDependent (tStdXCombPtr, const vector< tStdXCombPtr > &)
 Reweight the dependent cross section.
 
virtual bool subProcessGroups () const
 Return true, if SubProcessGroups should be setup from this MEGroup.
 
virtual bool uniformAdditional () const =0
 Return true, if the same additional random numbers should be presented to any of the dependent matrix elements.
 
virtual MEBase::DiagramVector dependentDiagrams (const cPDVector &proc, tMEPtr depME) const =0
 Given a process from the head matrix element, return a list of diagrams which should be considered for the given dependent matrix element.
 
- Public Member Functions inherited from ThePEG::MEBase
 MEBase ()
 Default constructor.
 
virtual ~MEBase ()
 Destructor.
 
void setKinematics (tPPair in, const PVector &out)
 Set the typed and momenta of the incoming and outgoing partons to be used in subsequent calls to me() and colourGeometries().
 
virtual bool headCuts () const
 If this is a dependent matrix element in a ME group, return true, if cuts should be inherited from the head matrix element, i.e.
 
virtual bool ignoreCuts () const
 If this is a dependent matrix element in a ME group, return true, if cuts should be ignored.
 
virtual bool apply () const
 If this is a dependent matrix element in a ME group, return true, if it applies to the process set in lastXComb()
 
virtual map< string, double > generateOptionalWeights ()
 If variations are available for the subprocess handled, generate and return a map of optional weights to be included for the event.
 
const DiagramVectordiagrams () const
 Return all possible diagrams.
 
bool reweighted () const
 Return true if this matrix element has associated (p)reWeight objects assigned.
 
double reWeight () const
 With the information previously supplied with the setKinematics(...) methods, return the combined effects of the reweighters.
 
double preWeight () const
 With the information previously supplied with the setKinematics(...) methods, return the comined effects of the peweighters.
 
void addReweighter (tReweightPtr rw)
 Add objects to the list of reweighters.
 
void addPreweighter (tReweightPtr rw)
 Add objects to the list of preweighters.
 
Ptr< Amplitude >::pointer amplitude () const
 Return the amplitude associated with this matrix element.
 
void amplitude (Ptr< Amplitude >::pointer amp)
 Set the amplitude associated with this matrix element.
 
Energy2 sHat () const
 Return the last set invariant mass squared.
 
double preweight () const
 Return the factor with which this matrix element was last pre-weighted.
 
virtual StdXCombPtr makeXComb (tStdXCombPtr newHead, const PBPair &newPartonBins, const DiagramVector &newDiagrams, tMEPtr newME=tMEPtr())
 For the given event generation setup return a dependent xcomb object appropriate to this matrix element.
 
const DVectormeInfo () const
 Retrieve information obtained in the calculation of the cross section to be used later when selecting diagrams and colour flow.
 
void meInfo (const DVector &info) const
 Save information obtained in the calculation of the cross section to be used later when selecting diagrams and colour flow.
 
virtual void setVetoScales (tSubProPtr) const
 Set veto scales on the particles at the given SubProcess which has been generated using this matrix element.
 
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.
 
- Public Member Functions inherited from ThePEG::HandlerBaseT< UseRandom >
virtual ~HandlerBaseT ()
 Destructor.
 
double rnd () const
 Return a simple flat random number in the range ]0,1[.
 
double rnd (double xu) const
 Return a simple flat random number in the range ]0,xu[.
 
double rnd (double xl, double xu) const
 Return a simple flat random number in the range ]xl,xu[.
 
bool rndbool () const
 Return true with 50% probability.
 
bool rndbool (double p) const
 Return a true with probability p.
 
bool rndbool (double p1, double p2) const
 Return a true with probability p1/(p1+p2).
 
int rndsign (double p1, double p2, double p3) const
 Return -1, 0, or 1 with relative probabilities p1, p2, p3.
 
int rnd2 (double p0, double p1) const
 Return an integer \(i\) with probability p \(i\)/(p0+p1).
 
int rnd3 (double p0, double p1, double p2) const
 Return an integer \(i\) with probability p \(i\)/(p0+p1+p2).
 
int rnd4 (double p0, double p1, double p2, double p3) const
 Return an integer/ \(i\) with probability p \(i\)(p0+p1+p2+p3).
 
long irnd (long xu=2) const
 Return a simple flat random integrer number in the range [0,xu[.
 
long irnd (long xl, long xu) const
 Return a simple flat random integrer number in the range [xl,xu[.
 
const StandardModelBaseSM () const
 Return a reference to the object containing the standard model parameters for this run.
 
tSMPtr standardModel () const
 Return a pointer to the object containing the standard model parameters for this run.
 
- Public Member Functions inherited from ThePEG::Interfaced
virtual ~Interfaced ()
 Empty virtual destructor.
 
virtual bool defaultInit ()
 Functions which are to be used during the actual event generation, after the setup is complete.
 
PPtr getParticle (PID) const
 Create a new Particle instance given a id number.
 
PDPtr getParticleData (PID) const
 Return a pointer to the ParticleData object corresponding to the given id number.
 
bool used () const
 Returns true if this object has actally been used.
 
void useMe () const
 Should be called to indicate that this object has actually been used.
 
tEGPtr generator () const
 Return a pointer to the EventGenerator controlling the run.
 
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.
 
- Public Member Functions inherited from ThePEG::InterfacedBase
virtual ~InterfacedBase ()
 The virtual (empty) destructor;.
 
string fullName () const
 Returns the full name of this object including its path, e.g.
 
string name () const
 Returns the name of this object, without the path.
 
string path () const
 Returns the path to this object including the trailing '/'.
 
string comment () const
 Returns a comment assigned to this object.
 
void setup (istream &is)
 Read setup info from a standard istream is.
 
void update ()
 Calls the doupdate() function with recursion prevention.
 
void init ()
 Calls the doinit() function with recursion prevention.
 
virtual bool preInitialize () const
 Return true if this object needs to be initialized before all other objects (except those for which this function also returns true).
 
void initrun ()
 Calls the doinitrun() function with recursion prevention.
 
void finish ()
 Calls the dofinish() function with recursion prevention.
 
void touch ()
 This function should be called every time something in this object has changed in a way that a sanity check with update() is needed.
 
void reset ()
 Set the state of this object to uninitialized.
 
void clear ()
 Calls reset() and unTouch().
 
InitState state () const
 Return the state of initialization of this object.
 
bool locked () const
 Return true if the BaseRepository is not allowed to change the state of this object.
 
bool touched () const
 Return true if the state of this object has been changed since the last call to update().
 
virtual IBPtr fullclone () const
 Return a full clone of this object possibly doing things to the clone to make it sane.
 
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.
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr.
 
- Public Member Functions inherited from ThePEG::Base
virtual ~Base ()
 The virtual destructor.
 
void debug () const
 Print out debugging information for this object on std::cerr.
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr.
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 Return the reference count.
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 Constructor with name.
 
 Named (const Named &)=default
 Explicit default copy-constructor (too avoid compiler warnings)
 
const string & name () const
 Return name.
 
bool operator== (const Named &other) const
 Test for equality.
 
bool operator< (const Named &other) const
 Lexicographical comparison.
 
- Public Member Functions inherited from ThePEG::LastXCombInfo< StandardXComb >
const StandardXComblastXComb () const
 Return a reference to the last selected XComb.
 
tXCPtr lastXCombPtr () const
 Return a pointer to the last selected XComb.
 
const StandardXComblastHeadXComb () const
 If the last selected XComb object belongs to a group of XComb's return a reference to the head XComb object for this group.
 
tXCPtr lastHeadXCombPtr () 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 EventHandlerlastEventHandler () const
 Return a reference to the currently used EventHandler.
 
tPExtrPtr lastExtractor () const
 A pointer to the currently used parton extractor.
 
PDFT pdf (tcPPtr parton) const
 Return the parton density used to extract the given parton.
 
const CutslastCuts () const
 A reference to the currently used kinematical cuts.
 
tCutsPtr lastCutsPtr () const
 A pointer to the currently used kinematical cuts.
 
const PPairlastParticles () const
 Return the pair of incoming parton instances.
 
Energy2 lastS () const
 The last generated total energy squared of the incoming particles.
 
const PPairlastPartons () const
 Return the pair of incoming parton instances.
 
Energy2 lastSHat () const
 The last used interval in total parton-parton energy squared.
 
double lastTau () const
 Return lastSHat()/lastS().
 
double lastY () const
 The generated rapidity of the hard scattering sub-system.
 
double lastP1 () const
 Log of one over the momentum fraction of the first incoming particle w.r.t.
 
double lastP2 () const
 Log of one over the momentum fraction of the second incoming particle w.r.t.
 
double lastL1 () const
 Log of one over the first incoming parton momentum fraction w.r.t.
 
double lastL2 () const
 Log of one over the second incoming parton momentum fraction w.r.t.
 
double lastX1 () const
 The first incoming parton momentum fraction w.r.t.
 
double lastX2 () const
 The second incoming parton momentum fraction w.r.t.
 
double lastE1 () const
 Return 1-lastX1() to highest possible precision for x \(\rightarrow\) 1.
 
double lastE2 () const
 Return 1-lastX2() to highest possible precision for x \(\rightarrow\) 1.
 
double lastFL1L2 () const
 The product of the parton density functions at the last generated phase-space point.
 
Energy2 lastScale () const
 The chosen scale of the hard scattering.
 
double lastAlphaS () const
 Get the \(\alpha_S\) used in the hard scattering.
 
double lastAlphaEM () const
 Get the \(\alpha_{EM}\) used in the hard scattering.
 
const vector< Lorentz5Momentum > & meMomenta () const
 Return the momenta of the incoming and outgoing partons to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
 
double lastME2 () const
 Return the matrix element squared as calculated for the last phase space point.
 
double lastPreweight () const
 Return the last preweight factor.
 
double jacobian () const
 Get the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
 
CrossSection lastMECrossSection () const
 Return the partonic cross section as calculated for the last phase space point.
 
double lastMEPDFWeight () const
 Return the PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights.
 
double lastMECouplings () const
 Return the coupling weight as calculated for the last phase space point.
 
tSubProPtr subProcess () const
 Return the SubProcess object corresponding to the last generated sub-process.
 
const cPDVectormePartonData () const
 Return the incoming and outgoing parton types to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
 

Standard Interfaced functions.

MEPtr theHead
 The head matrix element.
 
MEVector theDependent
 The dependent matrix elements.
 
map< tMEPtr, int > theNDimMap
 Offsets to access additional random numbers required by the dependent matrix elements.
 
int theNDim
 The total number of random numbers required.
 
static AbstractClassDescription< MEGroupinitMEGroup
 Describe a class with persistent data.
 
virtual void doinit ()
 Initialize this object after the setup phase before saving an EventGenerator to disk.
 
virtual void doinitrun ()
 Initialize this object.
 
virtual void rebind (const TranslationMap &trans)
 Rebind pointer to other Interfaced objects.
 
virtual IVector getReferences ()
 Return a vector of all pointers to Interfaced objects used in this object.
 
MEGroupoperator= (const MEGroup &)=delete
 Private and non-existent assignment operator.
 

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 ()
 Standard Init function used to initialize the interfaces.
 

Additional Inherited Members

- Public Types inherited from ThePEG::MEBase
typedef vector< DiagPtr > DiagramVector
 A vector of pointers to DiagramBase objects.
 
typedef DiagramVector::size_type DiagramIndex
 The size_type used in the DiagramVector.
 
typedef vector< ReweightPtrReweightVector
 A vector of pointers to ReweightBase objects.
 
- Public Types inherited from ThePEG::InterfacedBase
enum  InitState { initializing = -1 , uninitialized = 0 , initialized = 1 , runready = 2 }
 Enumeration reflecting the state of an InterfacedBase object. More...
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 The integer type used for counting.
 
- Public Types inherited from ThePEG::LastXCombInfo< StandardXComb >
typedef ThePEG::Ptr< StandardXComb >::pointer XCPtr
 Alias for a reference counted pointer to XC .
 
typedef ThePEG::Ptr< StandardXComb >::const_pointer cXCPtr
 Alias for a reference counted pointer to a const XC .
 
typedef ThePEG::Ptr< StandardXComb >::transient_pointer tXCPtr
 Alias for a transient pointer to XC .
 
typedef ThePEG::Ptr< StandardXComb >::transient_const_pointer tcXCPtr
 Alias for a transient pointer to a const XC .
 
- Static Public Member Functions inherited from ThePEG::MEBase
static void Init ()
 Standard Init function used to initialize the interfaces.
 
- Static Public Member Functions inherited from ThePEG::HandlerBase
static void Init ()
 Standard Init function used to initialize the interface.
 
- Static Public Member Functions inherited from ThePEG::Interfaced
static void Init ()
 Standard Init function.
 
- Static Public Member Functions inherited from ThePEG::InterfacedBase
static void Init ()
 Standard Init function.
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 The standard Init function used to initialize the interfaces.
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 The unique ID.
 
- Protected Member Functions inherited from ThePEG::MEBase
void add (DiagPtr dp) const
 To be used by sub classes in the getDiagrams() method to add included diagrams.
 
vector< Lorentz5Momentum > & meMomenta ()
 Access the momenta set by the last call to generateKinematics().
 
void lastME2 (double v) const
 Set the matrix element squared as calculated for the last phase space point.
 
void lastPreweight (double w) const
 Set the last preweight factor.
 
void lastMECrossSection (CrossSection v) const
 Set the partonic cross section as calculated for the last phase space point.
 
void lastMEPDFWeight (double v) const
 Set the PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights.
 
void lastMECouplings (double v) const
 Set the coupling weight as calculated for the last phase space point.
 
void jacobian (double j)
 Set the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
 
void use (tcMEPtr other)
 Initialize all member variables from another MEBase object.
 
void useDiagrams (tcMEPtr other) const
 Initialize the diagrams from another MEBase object.
 
- Protected Member Functions inherited from ThePEG::Interfaced
void reporeg (IBPtr object, string name) const
 Register the given object in the Repository with the given name in a subdirectory with the same name as this object.
 
template<typename PtrT >
bool setDefaultReference (PtrT &ptr, string classname, string objectname)
 If the pointer, ptr, to an object is not set, create an object of class classname and register it with the Repository with the given objectname in a sib-directory with the same name as this object.
 
 Interfaced ()
 Protected default constructor.
 
 Interfaced (const string &newName)
 Protected constructor taking a name as argument.
 
 Interfaced (const Interfaced &i)
 Protected copy-constructor.
 
void setGenerator (tEGPtr generator)
 Protected function to reset the generator pointer, required for automatic decayer generation in Herwig++ BSM models.
 
- Protected Member Functions inherited from ThePEG::InterfacedBase
virtual void readSetup (istream &is)
 Read setup info from a standard istream is.
 
virtual void doupdate ()
 Check sanity of the object during the setup phase.
 
virtual void dofinish ()
 Finalize this object.
 
virtual IBPtr clone () const =0
 Return a simple clone of this object.
 
 InterfacedBase ()
 Protected default constructor.
 
 InterfacedBase (string newName)
 Protected constructor with the name given as argument.
 
 InterfacedBase (const InterfacedBase &i)
 Protected copy-constructor.
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted ()
 Default constructor.
 
 ReferenceCounted (const ReferenceCounted &)
 Copy-constructor.
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 Assignment.
 
const string & name (const string &newName)
 Set new name.
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 Register an Interfaced object with the Repository.
 
static void registerRepository (IBPtr, string newName)
 Register an Interfaced object with the Repository, giving it a name.
 
- Protected Attributes inherited from ThePEG::LastXCombInfo< StandardXComb >
XCPtr theLastXComb
 The pointer to the last selected XComb.
 

Detailed Description

The MEGroup class represents a 'head' matrix element in association with a group of dependent matrix elements.

It basically acts as a wrapper around its head matrix element however supplying additional information to the corresponding StdXCombGroup object.

See also
StdXCombGroup

Definition at line 30 of file MEGroup.h.

Member Function Documentation

◆ alphaEM()

virtual double ThePEG::MEGroup::alphaEM ( ) const
inlinevirtual

Return the value of \(\alpha_EM\) associated with the phase space point provided by the last call to setKinematics().

This versions returns SM().alphaEM(scale()).

Reimplemented from ThePEG::MEBase.

Definition at line 88 of file MEGroup.h.

References head().

◆ alphaS()

virtual double ThePEG::MEGroup::alphaS ( ) const
inlinevirtual

Return the value of \(\alpha_S\) associated with the phase space point provided by the last call to setKinematics().

This versions returns SM().alphaS(scale()).

Reimplemented from ThePEG::MEBase.

Definition at line 81 of file MEGroup.h.

References head().

◆ clearKinematics()

virtual void ThePEG::MEGroup::clearKinematics ( )
virtual

Clear the information previously provided by a call to setKinematics(...).

Reimplemented from ThePEG::MEBase.

◆ colourGeometries()

virtual Selector< const ColourLines * > ThePEG::MEGroup::colourGeometries ( tcDiagPtr  diag) const
inlinevirtual

Return a Selector with possible colour geometries for the selected diagram weighted by their relative probabilities.

Implements ThePEG::MEBase.

Definition at line 208 of file MEGroup.h.

References head().

◆ constructVertex() [1/2]

virtual void ThePEG::MEGroup::constructVertex ( tSubProPtr  sub)
inlinevirtual

construct the spin information for the interaction

Reimplemented from ThePEG::MEBase.

Definition at line 105 of file MEGroup.h.

References head().

◆ constructVertex() [2/2]

virtual void ThePEG::MEGroup::constructVertex ( tSubProPtr  sub,
const ColourLines cl 
)
inlinevirtual

construct the spin information for the interaction

Reimplemented from ThePEG::MEBase.

Definition at line 110 of file MEGroup.h.

References head().

◆ dependent() [1/2]

MEVector & ThePEG::MEGroup::dependent ( )
inline

Access the dependent matrix elements.

Definition at line 324 of file MEGroup.h.

References theDependent.

◆ dependent() [2/2]

const MEVector & ThePEG::MEGroup::dependent ( ) const
inline

Visit the dependent matrix elements.

Definition at line 314 of file MEGroup.h.

References theDependent.

◆ diagram()

virtual DiagramIndex ThePEG::MEGroup::diagram ( const DiagramVector dv) const
inlinevirtual

Select a diagram.

Default version uses diagrams(const DiagramVector &) to select a diagram according to the weights. This is the only method used that should be outside of MEBase.

Reimplemented from ThePEG::MEBase.

Definition at line 234 of file MEGroup.h.

References head().

◆ diagrams()

virtual Selector< DiagramIndex > ThePEG::MEGroup::diagrams ( const DiagramVector dv) const
inlinevirtual

With the information previously supplied with the setKinematics(...) method, a derived class may optionally override this method to weight the given diagrams with their (although certainly not physical) relative probabilities.

Reimplemented from ThePEG::MEBase.

Definition at line 224 of file MEGroup.h.

References head().

◆ discard()

virtual bool ThePEG::MEGroup::discard ( const CrossSection ,
const CrossSection  
) const
inlinevirtual

Return true, if this configuration of cross sections should not be included due to their relative magnitude.

Arguments are head cross section and dependent cross section, including all reweights.

Definition at line 301 of file MEGroup.h.

◆ doinit()

virtual void ThePEG::MEGroup::doinit ( )
protectedvirtual

Initialize this object after the setup phase before saving an EventGenerator to disk.

Exceptions
InitExceptionif object could not be initialized properly.

Reimplemented from ThePEG::MEBase.

◆ doinitrun()

virtual void ThePEG::MEGroup::doinitrun ( )
protectedvirtual

Initialize this object.

Called in the run phase just before a run begins.

Reimplemented from ThePEG::MEBase.

◆ dSigHatDR()

virtual CrossSection ThePEG::MEGroup::dSigHatDR ( ) const
inlinevirtual

Return the matrix element squared differential in the variables given by the last call to generateKinematics().

Implements ThePEG::MEBase.

Definition at line 140 of file MEGroup.h.

References head().

◆ fillProjectors()

virtual void ThePEG::MEGroup::fillProjectors ( )
inlinevirtual

Fill the projectors object of xcombs to choose subprocesses different than the one currently integrated.

Reimplemented from ThePEG::MEBase.

Definition at line 360 of file MEGroup.h.

References head().

◆ flushCaches()

virtual void ThePEG::MEGroup::flushCaches ( )
inlinevirtual

Inform this matrix element that a new phase space point is about to be generated, so all caches should be flushed.

Reimplemented from ThePEG::MEBase.

Definition at line 285 of file MEGroup.h.

References head().

◆ generateKinematics()

virtual bool ThePEG::MEGroup::generateKinematics ( const double *  r)
virtual

Generate internal degrees of freedom given nDim() uniform random numbers in the interval ]0,1[.

To help the phase space generator, the 'dSigHatDR' should be a smooth function of these numbers, although this is not strictly necessary. The return value should be true of the generation succeeded. If so the generated momenta should be stored in the meMomenta() vector.

Implements ThePEG::MEBase.

◆ generateSubCollision()

virtual void ThePEG::MEGroup::generateSubCollision ( SubProcess sub)
inlinevirtual

Comlete a SubProcess object using the internal degrees of freedom generated in the last generateKinematics() (and possible other degrees of freedom which was intergated over in dSigHatDR().

This default version does nothing. Will be made purely virtual in the future.

Reimplemented from ThePEG::MEBase.

Definition at line 178 of file MEGroup.h.

References head().

◆ getDiagrams()

virtual void ThePEG::MEGroup::getDiagrams ( ) const
inlinevirtual

Add all possible diagrams with the add() function.

Implements ThePEG::MEBase.

Definition at line 189 of file MEGroup.h.

References head(), and ThePEG::MEBase::useDiagrams().

◆ getReferences()

virtual IVector ThePEG::MEGroup::getReferences ( )
protectedvirtual

Return a vector of all pointers to Interfaced objects used in this object.

Returns
a vector of pointers.

Reimplemented from ThePEG::InterfacedBase.

◆ groupReweighted()

virtual bool ThePEG::MEGroup::groupReweighted ( ) const
inlinevirtual

Return true, if this MEGroup will reweight the contributing cross sections.

Definition at line 371 of file MEGroup.h.

◆ havePDFWeight1()

virtual bool ThePEG::MEGroup::havePDFWeight1 ( ) const
inlinevirtual

Return true, if this matrix element provides the PDF weight for the first incoming parton itself.

Reimplemented from ThePEG::MEBase.

Definition at line 156 of file MEGroup.h.

References head().

◆ havePDFWeight2()

virtual bool ThePEG::MEGroup::havePDFWeight2 ( ) const
inlinevirtual

Return true, if this matrix element provides the PDF weight for the second incoming parton itself.

Reimplemented from ThePEG::MEBase.

Definition at line 162 of file MEGroup.h.

References head().

◆ haveX1X2()

virtual bool ThePEG::MEGroup::haveX1X2 ( ) const
inlinevirtual

Return true, if this matrix element will generate momenta for the incoming partons itself.

The matrix element is required to store the incoming parton momenta in meMomenta()[0,1]. No mapping in tau and y is performed by the PartonExtractor object, if a derived class returns true here. The phase space jacobian is to include a factor 1/(x1 x2).

Reimplemented from ThePEG::MEBase.

Definition at line 150 of file MEGroup.h.

References head().

◆ head() [1/2]

◆ head() [2/2]

void ThePEG::MEGroup::head ( tMEPtr  me)
inline

Set the head matrix element.

Definition at line 319 of file MEGroup.h.

References theHead.

◆ keepRandomNumbers()

virtual bool ThePEG::MEGroup::keepRandomNumbers ( ) const
inlinevirtual

Return true, if the XComb steering this matrix element should keep track of the random numbers used to generate the last phase space point.

Reimplemented from ThePEG::MEBase.

Definition at line 169 of file MEGroup.h.

References head().

◆ lastEventStatistics()

virtual void ThePEG::MEGroup::lastEventStatistics ( )
inlinevirtual

Collect information on the last evaluated phasespace point for verification or debugging purposes.

This only called, if the StdXCombGroup did accumulate a non-zero cross section from this ME group.

Definition at line 293 of file MEGroup.h.

◆ makeXComb()

virtual StdXCombPtr ThePEG::MEGroup::makeXComb ( Energy  newMaxEnergy,
const cPDPair inc,
tEHPtr  newEventHandler,
tSubHdlPtr  newSubProcessHandler,
tPExtrPtr  newExtractor,
tCascHdlPtr  newCKKW,
const PBPair &  newPartonBins,
tCutsPtr  newCuts,
const DiagramVector newDiagrams,
bool  mir,
const PartonPairVec &  allPBins,
tStdXCombPtr  newHead = tStdXCombPtr(),
tMEPtr  newME = tMEPtr() 
)
virtual

For the given event generation setup return an xcomb object appropriate to this matrix element.

Reimplemented from ThePEG::MEBase.

◆ maxMultCKKW() [1/2]

virtual int ThePEG::MEGroup::maxMultCKKW ( ) const
inlinevirtual

If this matrix element is to be used together with others for CKKW reweighting and veto, this should give the multiplicity of outgoing particles in the highest multiplicity matrix element in the group.

Reimplemented from ThePEG::MEBase.

Definition at line 254 of file MEGroup.h.

References head().

◆ maxMultCKKW() [2/2]

virtual void ThePEG::MEGroup::maxMultCKKW ( int  mult)
inlinevirtual

If this matrix element is to be used together with others for CKKW reweighting and veto, this will set the multiplicity of outgoing particles in the highest multiplicity matrix element in the group.

Reimplemented from ThePEG::MEBase.

Definition at line 270 of file MEGroup.h.

References head().

◆ me2()

virtual double ThePEG::MEGroup::me2 ( ) const
inlinevirtual

Return the matrix element for the kinematical configuation previously provided by the last call to setKinematics(), suitably scaled by sHat() to give a dimension-less number.

Implements ThePEG::MEBase.

Definition at line 68 of file MEGroup.h.

References head().

◆ minMultCKKW() [1/2]

virtual int ThePEG::MEGroup::minMultCKKW ( ) const
inlinevirtual

If this matrix element is to be used together with others for CKKW reweighting and veto, this should give the multiplicity of outgoing particles in the lowest multiplicity matrix element in the group.

Reimplemented from ThePEG::MEBase.

Definition at line 262 of file MEGroup.h.

References head().

◆ minMultCKKW() [2/2]

virtual void ThePEG::MEGroup::minMultCKKW ( int  mult)
inlinevirtual

If this matrix element is to be used together with others for CKKW reweighting and veto, this will set the multiplicity of outgoing particles in the lowest multiplicity matrix element in the group.

Reimplemented from ThePEG::MEBase.

Definition at line 278 of file MEGroup.h.

References head().

◆ nDim()

virtual int ThePEG::MEGroup::nDim ( ) const
inlinevirtual

The number of internal degreed of freedom used in the matrix element.

This default version returns 0;

Reimplemented from ThePEG::MEBase.

Definition at line 118 of file MEGroup.h.

References theNDim.

◆ noMirror()

virtual bool ThePEG::MEGroup::noMirror ( ) const
inlinevirtual

Return true, if this matrix element does not want to make use of mirroring processes; in this case all possible partonic subprocesses with a fixed assignment of incoming particles need to be provided through the diagrams added with the add(...) method.

Reimplemented from ThePEG::MEBase.

Definition at line 201 of file MEGroup.h.

References head().

◆ orderInAlphaEW()

virtual unsigned int ThePEG::MEGroup::orderInAlphaEW ( ) const
inlinevirtual

Return the order in \(\alpha_{EM}\) in which this matrix element is given.

Returns 0.

Implements ThePEG::MEBase.

Definition at line 61 of file MEGroup.h.

References head().

◆ orderInAlphaS()

virtual unsigned int ThePEG::MEGroup::orderInAlphaS ( ) const
inlinevirtual

Return the order in \(\alpha_S\) in which this matrix element is given.

Implements ThePEG::MEBase.

Definition at line 55 of file MEGroup.h.

References head().

◆ persistentInput()

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

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ rebind()

virtual void ThePEG::MEGroup::rebind ( const TranslationMap trans)
protectedvirtual

Rebind pointer to other Interfaced objects.

Called in the setup phase after all objects used in an EventGenerator has been cloned so that the pointers will refer to the cloned objects afterwards.

Parameters
transa TranslationMap relating the original objects to their respective clones.
Exceptions
RebindExceptionif no cloned object was found for a given pointer.

Reimplemented from ThePEG::InterfacedBase.

◆ reweightDependent()

virtual double ThePEG::MEGroup::reweightDependent ( tStdXCombPtr  ,
const vector< tStdXCombPtr > &   
)
inlinevirtual

Reweight the dependent cross section.

Definition at line 381 of file MEGroup.h.

◆ reweightHead()

virtual double ThePEG::MEGroup::reweightHead ( const vector< tStdXCombPtr > &  )
inlinevirtual

Reweight the head cross section.

Definition at line 376 of file MEGroup.h.

◆ scale()

virtual Energy2 ThePEG::MEGroup::scale ( ) const
inlinevirtual

Return the scale associated with the phase space point provided by the last call to setKinematics().

Implements ThePEG::MEBase.

Definition at line 74 of file MEGroup.h.

References head().

◆ selectColourGeometry()

virtual const ColourLines & ThePEG::MEGroup::selectColourGeometry ( tcDiagPtr  diag) const
inlinevirtual

Select a ColpurLines geometry.

The default version returns a colour geometry selected among the ones returned from colourGeometries(tcDiagPtr).

Reimplemented from ThePEG::MEBase.

Definition at line 216 of file MEGroup.h.

References head().

◆ setKinematics()

virtual void ThePEG::MEGroup::setKinematics ( )
inlinevirtual

Set the typed and momenta of the incoming and outgoing partons to be used in subsequent calls to me() and colourGeometries() according to the associated XComb object.

If the function is overridden in a sub class the new function must call the base class one first.

Reimplemented from ThePEG::MEBase.

Definition at line 97 of file MEGroup.h.

References head(), and ThePEG::MEBase::setKinematics().

◆ setXComb()

virtual void ThePEG::MEGroup::setXComb ( tStdXCombPtr  xc)
inlinevirtual

Set the XComb object to be used in the next call to generateKinematics() and dSigHatDR().

Reimplemented from ThePEG::MEBase.

Definition at line 243 of file MEGroup.h.

References head(), and ThePEG::MEBase::setXComb().

◆ subProcessGroups()

virtual bool ThePEG::MEGroup::subProcessGroups ( ) const
inlinevirtual

Return true, if SubProcessGroups should be setup from this MEGroup.

If not, a single SubProcess is constructed from the data provided by the head matrix element.

Definition at line 389 of file MEGroup.h.

◆ wantCMS()

virtual bool ThePEG::MEGroup::wantCMS ( ) const
inlinevirtual

Return true, if this matrix element expects the incoming partons in their center-of-mass system.

Reimplemented from ThePEG::MEBase.

Definition at line 134 of file MEGroup.h.

References head().

◆ willProject()

virtual bool ThePEG::MEGroup::willProject ( ) const
inlinevirtual

Return true, if projectors will be used.

Definition at line 365 of file MEGroup.h.

Member Data Documentation

◆ initMEGroup

AbstractClassDescription<MEGroup> ThePEG::MEGroup::initMEGroup
staticprivate

Describe a class with persistent data.

Definition at line 495 of file MEGroup.h.

◆ theDependent

MEVector ThePEG::MEGroup::theDependent
private

The dependent matrix elements.

Definition at line 477 of file MEGroup.h.

Referenced by dependent().

◆ theHead

MEPtr ThePEG::MEGroup::theHead
private

The head matrix element.

Definition at line 472 of file MEGroup.h.

Referenced by head().

◆ theNDim

int ThePEG::MEGroup::theNDim
private

The total number of random numbers required.

Definition at line 488 of file MEGroup.h.

Referenced by nDim().

◆ theNDimMap

map<tMEPtr,int> ThePEG::MEGroup::theNDimMap
private

Offsets to access additional random numbers required by the dependent matrix elements.

Definition at line 483 of file MEGroup.h.


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