thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ThePEG::StdXCombGroup Class Reference

The StdXCombGroup class represents a 'head' XComb object in association with a group of dependent XComb objects. More...

#include <StdXCombGroup.h>

Inheritance diagram for ThePEG::StdXCombGroup:

Public Member Functions

Standard constructors and destructors.
 StdXCombGroup (Energy newMaxEnergy, const cPDPair &inc, tEHPtr newEventHandler, tSubHdlPtr newSubProcessHandler, tPExtrPtr newExtractor, tCascHdlPtr newCKKW, const PBPair &newPartonBins, tCutsPtr newCuts, tMEGroupPtr newME, const DiagramVector &newDiagrams, bool mir, tStdXCombPtr newHead=tStdXCombPtr())
 Standard constructor.
 
 StdXCombGroup ()
 Default constructor.
 
virtual ~StdXCombGroup ()
 Destructor.
 
virtual void clean ()
 Reset all saved data about last generated phasespace point;.
 
virtual int nDim () const
 The number of dimensions of the phase space used to generate this process.
 
virtual CrossSection dSigDR (const pair< double, double > ll, int nr, const double *r)
 Generate a phase space point from a vector r of nr numbers in the interval ]0,1[ and return the corresponding differential cross section.
 
CrossSection lastHeadCrossSection () const
 Return the cross section calculated from the head matrix element.
 
const vector< StdXCombPtr > & dependent () const
 Visit the dependent XComb objects.
 
tcMEGroupPtr meGroup () const
 Return the matrix element group steered by this XComb group.
 
void build (const PartonPairVec &allPBins)
 Initialize this XComb group.
 
virtual tSubProPtr construct ()
 Construct a sub-process object from the information available.
 
virtual void newSubProcess (bool)
 Construct the corresponding SubProcess object if it hasn't been done before.
 
void lastHeadCrossSection (CrossSection xs)
 Set the cross section calculated from the head matrix element.
 
- Public Member Functions inherited from ThePEG::StandardXComb
 StandardXComb (Energy newMaxEnergy, const cPDPair &inc, tEHPtr newEventHandler, tSubHdlPtr newSubProcessHandler, tPExtrPtr newExtractor, tCascHdlPtr newCKKW, const PBPair &newPartonBins, tCutsPtr newCuts, tMEPtr newME, const DiagramVector &newDiagrams, bool mir, tStdXCombPtr newHead=tStdXCombPtr())
 Standard constructor.
 
 StandardXComb (tStdXCombPtr newHead, const PBPair &newPartonBins, tMEPtr newME, const DiagramVector &newDiagrams)
 Constructor given a head xcomb.
 
 StandardXComb ()
 Default constructor.
 
virtual ~StandardXComb ()
 Destructor.
 
 StandardXComb (tMEPtr me, const tPVector &parts, DiagramIndex i)
 Constructor used by MEBase to create a temporary object to store info.
 
void recreatePartonBinInstances (Energy2 scale)
 Properly setup the PartonBinInstance objects provided a sub process has been constructed using this XComb.
 
void refillPartonBinInstances (const double *r)
 Fill the variables needed to generate remnants; momenta will be used from the partons set in this xcomb, but random numbers need to be provided to (re)generate variables not fixed by the incoming partons.
 
bool setIncomingPartons (tStdXCombPtr labHead=tStdXCombPtr())
 Setup information on incoming partons depending on the information previously supplied through the choice of diagram and incoming momenta in the first two entries of meMomenta().
 
void fill (const PPair &newParticles, const PPair &newPartons, const vector< Lorentz5Momentum > &newMEMomenta, const DVector &newLastRandomNumbers=DVector())
 Fill phase space information as far as possible.
 
tcSubHdlPtr subProcessHandler () const
 Return a pointer to the corresponding sub-process handler.
 
tMEPtr matrixElement () const
 The matrix element to be used.
 
tStdXCombPtr head () const
 Return a pointer to the head XComb this XComb depends on.
 
void head (tStdXCombPtr headXC)
 Set the head XComb pointer.
 
Selector< tStdXCombPtr > & projectors ()
 Return a selector object of xcombs to choose subprocesses different than the one currently integrated.
 
const Selector< tStdXCombPtr > & projectors () const
 Return a selector object of xcombs to choose subprocesses different than the one currently integrated.
 
tStdXCombPtr lastProjector () const
 Return a pointer to a projector xcomb which will generate a subprocess different from the one just integrated.
 
void lastProjector (tStdXCombPtr pxc)
 Set a pointer to a projector xcomb which will generate a subprocess different from the one just integrated.
 
virtual bool checkInit ()
 Try to determine if this subprocess is at all possible.
 
const pair< int, int > & partonDimensions () const
 Return the parton extraction dimensions.
 
bool willPassCuts ()
 Return true, if the current configuration will pass the cuts.
 
double cutWeight () const
 Return the cut weight encountered from fuzzy cuts.
 
bool kinematicsGenerated () const
 Return true, if kinematics have already been generated.
 
void didGenerateKinematics ()
 Indicate that kinematics have been generated.
 
CrossSection dSigDR (const double *r)
 If this XComb has a head XComb, return the cross section differential in the variables previously supplied.
 
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; this version defaults to an implementation in MEBase but can be overloaded by inheriting XComb objects.
 
double lastPDFWeight () const
 Return the PDF weight used in the last call to dSigDR.
 
CrossSection lastCrossSection () const
 Return the cross section calculated in the last call to dSigDR.
 
void checkReshufflingNeeds ()
 Check if a reshuffling is required when constructing the hard subprocess.
 
bool needsReshuffling () const
 Return true if a reshuffling is required when constructing the hard subprocess.
 
void reshuffle (vector< Lorentz5Momentum > &) const
 Perform the reshuffling from hardProcessMass to mass values, given outgoing momenta.
 
virtual const XSecStatstats () const
 The statistics object for this XComb.
 
virtual void select (double weight)
 Select the current event.
 
virtual void accept ()
 Accept the current event assuming it was previously selcted.
 
void reweight (double oldWeight, double newWeight)
 Reweight a selected and accepted event.
 
virtual void reject (double weight=1.0)
 Reject the current event assuming it was previously accepted.
 
virtual void reset ()
 Reset statistics.
 
const DiagramVectordiagrams () const
 The diagrams used by the matrix element.
 
bool mirror () const
 True if the TreeDiagram's for this matrix element should in fact be mirrored before used to create an actual sub-rocess.
 
const vector< Lorentz5Momentum > & meMomenta () const
 Return the momenta of the partons to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
 
tcDiagPtr lastDiagram () const
 Return the last selected diagram.
 
const cPDVectormePartonData () const
 Return the parton types to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
 
DiagramIndex lastDiagramIndex () const
 Return the index of the last selected diagram.
 
const DVectormeInfo () const
 Get information saved by the matrix element in the calculation of the cross section to be used later when selecting diagrams and colour flow.
 
void meInfo (const DVector &info)
 Set information saved by the matrix element in the calculation of the cross section to be used later when selecting diagrams and colour flow.
 
const DVectorlastRandomNumbers () const
 Return the random numbers used to generate the last phase space point, if the matrix element requested so.
 
double jacobian () const
 Get the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
 
double lastME2 () const
 Return the matrix element squared as calculated for the last phase space point.
 
double lastPreweight () const
 Return the last preweight factor.
 
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 factor as calculated for the lats phase space point.
 
vector< Lorentz5Momentum > & meMomenta ()
 Return the momenta of the partons to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
 
DVectorlastRandomNumbers ()
 Access the random numbers used to generate the last phase space point, if the matrix element requested so.
 
cPDVectormePartonData ()
 Return the parton types to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
 
void externalDiagram (tcDiagPtr diag)
 Set a diagram to be used instead of the one selected by the matrix element.
 
void lastDiagramIndex (DiagramIndex i)
 Set the last selected diagram.
 
void lastPDFWeight (double w)
 Set the PDF weight used in the last call to dSigDR.
 
void lastCrossSection (CrossSection s)
 Set the cross section calculated in the last call to dSigDR.
 
void jacobian (double j)
 Set the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
 
void lastME2 (double v)
 Set the matrix element squared as calculated for the last phase space point.
 
void lastPreweight (double w)
 Set the last preweight factor.
 
void lastMECrossSection (CrossSection v)
 Set the partonic cross section as calculated for the last phase space point.
 
void lastMEPDFWeight (double v)
 Set the PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights.
 
void lastMECouplings (double v)
 Set the coupling factor.
 
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::XComb
 XComb (Energy newMaxEnergy, const cPDPair &inc, tEHPtr newEventHandler, tPExtrPtr newExtractor, tCascHdlPtr newCKKW, const PBPair &newPartonBins, tCutsPtr newCuts)
 Standard constructor.
 
 XComb ()
 Default constructor.
 
virtual ~XComb ()
 Destructor.
 
const EventHandlereventHandler () const
 Return a reference to the corresponding collision handler.
 
tEHPtr eventHandlerPtr () const
 Return a pointer to the corresponding collision handler.
 
tPExtrPtr pExtractor () const
 A pointer to the parton extractor.
 
tCutsPtr cuts () const
 A pointer to the kinematical cuts.
 
tCascHdlPtr CKKWHandler () const
 Return a possibly null pointer to a CascadeHandler to be used for CKKW-reweighting.
 
const cPDPairparticles () const
 The incoming particle types.
 
const cPDPairpartons () const
 The incoming parton types.
 
const PBPair & partonBins () const
 Additional information about the incoming partons.
 
Energy maxEnergy () const
 The maximum cm energy for this process.
 
bool empty () const
 Returns true if this XComb does not correspond to a proper subprocess generation.
 
void setPartonBinInstances (PBIPair pbis, Energy2 scale)
 Set information about currently generated partons.
 
void prepare (const PPair &)
 Prepare this XComb for producing a sub-process.
 
const PPairlastParticles () const
 Return the pair of incoming particle instances.
 
const PPairlastPartons () const
 Return the pair of incoming parton instances.
 
void lastPartons (PPair pp)
 Set the pair of incoming parton instances.
 
tSubProPtr subProcess () const
 Return the SubProcess object corresponding to the last generated sub-process.
 
void subProcess (tSubProPtr)
 Set the SubProcess object corresponding to the last generated sub-process.
 
PartonBinInstanceMappartonBinInstanceMap ()
 Access the parton bin instance map (used by the parton extractor)
 
const PartonBinInstanceMappartonBinInstanceMap () const
 Return the parton bin instance map (used by the parton extractor)
 
const PBIPairpartonBinInstances () const
 Additional information about the incoming partons.
 
PBIPairpartonBinInstances ()
 Additional information about the incoming partons.
 
tPBIPtr partonBinInstance (tcPPtr) const
 Return the corresponding parton bin instance for a given extracted parton.
 
Energy2 lastS () const
 The last generated total energy squared of the incoming particles.
 
void lastS (Energy2 s)
 Set the last generated total energy squared of the incoming particles.
 
Energy2 lastSHat () const
 The last generated total energy squared of the incoming prtons.
 
void lastSHat (Energy2 sh)
 Set the last generated total energy squared of the incoming prtons.
 
double lastTau () const
 lastSHat()/lastS().
 
double lastY () const
 The last generated rapidity of the hard scattering sub-system.
 
void lastY (double y)
 Set the last 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.
 
void lastP1P2 (pair< double, double > pp)
 Set log of one over the momentum fraction of the incoming particles 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.
 
void lastL1L2 (pair< double, double >)
 Set log of one over the incoming parton momentum fractions 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.
 
void lastX1X2 (pair< double, double >)
 Set the incoming parton momentum fractions 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.
 
void lastE1E2 (pair< double, double >)
 Set one minus the incoming parton momentum fractions w.r.t.
 
Energy2 lastScale () const
 Get the last chosen scale of the hard scattering.
 
void lastScale (Energy2 Q2)
 Set the last chosen scale of the hard scattering.
 
Energy2 lastCentralScale () const
 Get the last chosen central scale of the hard scattering.
 
void lastCentralScale (Energy2 Q2)
 Set the last chosen central scale of the hard scattering.
 
Energy2 lastShowerScale () const
 Get the last chosen shower scale.
 
void lastShowerScale (Energy2 Q2)
 Set the last chosen showr scale.
 
double lastAlphaS () const
 Get the \(\alpha_S\) used in the hard scattering.
 
void lastAlphaS (double a)
 Set the \(\alpha_S\) used in the hard scattering.
 
double lastAlphaEM () const
 Get the \(\alpha_{EM}\) used in the hard scattering.
 
void lastAlphaEM (double a)
 Set the \(\alpha_{EM}\) used in the hard scattering.
 
bool hasMeta (int id) const
 Check for meta information.
 
template<class T >
void meta (int id, T &ref)
 Set meta information.
 
void eraseMeta (int id)
 Erase meta information.
 
template<class T >
T & meta (int id) const
 Retrieve meta information.
 
void setPartonBinInfo ()
 Set the local parton bin info objects for this XComb.
 
void createPartonBinInstances ()
 Create PartonBinInstance objects for this XComb.
 
void lastParticles (const PPair &p)
 Set the pair of incoming particle instances.
 
void resetPartonBinInstances (const PBIPair &newBins)
 Set information about currently generated partons.
 
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::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.
 

Friends

class MEBase
 MEBase needs to be a friend.
 

Functions used by the persistent I/O system.

MEGroupPtr theMEGroup
 The MEGroup object.
 
vector< StdXCombPtr > theDependent
 The dependent XComb objects.
 
CrossSection theLastHeadCrossSection
 The cross section calculated from the head matrix element.
 
static ClassDescription< StdXCombGroupinitStdXCombGroup
 Describe a concrete class with persistent data.
 
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 interface.
 
StdXCombGroupoperator= (const StdXCombGroup &)=delete
 Private and non-existent assignment operator.
 

Additional Inherited Members

- Public Types inherited from ThePEG::StandardXComb
typedef MEBase::DiagramVector DiagramVector
 A vector of DiagramBase objects.
 
typedef MEBase::DiagramIndex DiagramIndex
 A vector of indices.
 
- Public Types inherited from ThePEG::XComb
typedef map< cPPtr, PBIPtrPartonBinInstanceMap
 A map of PartonBinInstance objects indexed by the extracted parton.
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 The integer type used for counting.
 
- Static Public Member Functions inherited from ThePEG::StandardXComb
static void Init ()
 Standard Init function used to initialize the interface.
 
- Static Public Member Functions inherited from ThePEG::XComb
static void Init ()
 Standard Init function used to initialize the interface.
 
- 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::Pointer::ReferenceCounted
 ReferenceCounted ()
 Default constructor.
 
 ReferenceCounted (const ReferenceCounted &)
 Copy-constructor.
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
 
- Protected Attributes inherited from ThePEG::StandardXComb
pair< int, int > partonDims
 The number of dimensions of the phase space used for each of the incoming partons.
 

Detailed Description

The StdXCombGroup class represents a 'head' XComb object in association with a group of dependent XComb objects.

See also
MEGroup

Definition at line 26 of file StdXCombGroup.h.

Member Function Documentation

◆ clean()

virtual void ThePEG::StdXCombGroup::clean ( )
virtual

Reset all saved data about last generated phasespace point;.

Reimplemented from ThePEG::StandardXComb.

◆ construct()

virtual tSubProPtr ThePEG::StdXCombGroup::construct ( )
virtual

Construct a sub-process object from the information available.

Reimplemented from ThePEG::StandardXComb.

◆ dependent()

const vector< StdXCombPtr > & ThePEG::StdXCombGroup::dependent ( ) const
inline

Visit the dependent XComb objects.

Definition at line 83 of file StdXCombGroup.h.

References theDependent.

◆ dSigDR()

virtual CrossSection ThePEG::StdXCombGroup::dSigDR ( const pair< double, double >  ll,
int  nr,
const double *  r 
)
virtual

Generate a phase space point from a vector r of nr numbers in the interval ]0,1[ and return the corresponding differential cross section.

Reimplemented from ThePEG::StandardXComb.

◆ lastHeadCrossSection() [1/2]

CrossSection ThePEG::StdXCombGroup::lastHeadCrossSection ( ) const
inline

Return the cross section calculated from the head matrix element.

Definition at line 78 of file StdXCombGroup.h.

References theLastHeadCrossSection.

◆ lastHeadCrossSection() [2/2]

void ThePEG::StdXCombGroup::lastHeadCrossSection ( CrossSection  xs)
inline

Set the cross section calculated from the head matrix element.

Definition at line 110 of file StdXCombGroup.h.

References theLastHeadCrossSection.

◆ meGroup()

tcMEGroupPtr ThePEG::StdXCombGroup::meGroup ( ) const
inline

Return the matrix element group steered by this XComb group.

Definition at line 89 of file StdXCombGroup.h.

References theMEGroup.

◆ nDim()

virtual int ThePEG::StdXCombGroup::nDim ( ) const
virtual

The number of dimensions of the phase space used to generate this process.

Reimplemented from ThePEG::StandardXComb.

◆ newSubProcess()

virtual void ThePEG::StdXCombGroup::newSubProcess ( bool  )
virtual

Construct the corresponding SubProcess object if it hasn't been done before.

Reimplemented from ThePEG::StandardXComb.

◆ persistentInput()

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

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

Friends And Related Function Documentation

◆ MEBase

friend class MEBase
friend

MEBase needs to be a friend.

Definition at line 29 of file StdXCombGroup.h.

Member Data Documentation

◆ initStdXCombGroup

ClassDescription<StdXCombGroup> ThePEG::StdXCombGroup::initStdXCombGroup
staticprivate

Describe a concrete class with persistent data.

Definition at line 157 of file StdXCombGroup.h.

◆ theDependent

vector<StdXCombPtr> ThePEG::StdXCombGroup::theDependent
private

The dependent XComb objects.

Definition at line 145 of file StdXCombGroup.h.

Referenced by dependent().

◆ theLastHeadCrossSection

CrossSection ThePEG::StdXCombGroup::theLastHeadCrossSection
private

The cross section calculated from the head matrix element.

Definition at line 150 of file StdXCombGroup.h.

Referenced by lastHeadCrossSection().

◆ theMEGroup

MEGroupPtr ThePEG::StdXCombGroup::theMEGroup
private

The MEGroup object.

Definition at line 140 of file StdXCombGroup.h.

Referenced by meGroup().


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