ThePEG
1.8.0
|
The StandardXComb class inherits from the more general XComb class which stores all information about the generation of a hard sub-proces for a given pair of incoming particles, a pair of extracted partons, etc. More...
#include <StandardXComb.h>
Public Types | |
typedef MEBase::DiagramVector | DiagramVector |
A vector of DiagramBase objects. More... | |
typedef MEBase::DiagramIndex | DiagramIndex |
A vector of indices. More... | |
![]() | |
typedef unsigned int | CounterType |
The integer type used for counting. | |
Public Member Functions | |
Standard constructors and destructors. | |
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 () | |
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. | |
Access the assigned objects used in the generation. | |
tcSubHdlPtr | subProcessHandler () const |
Return a pointer to the corresponding sub-process handler. More... | |
tMEPtr | matrixElement () const |
The matrix element to be used. | |
tStdXCombPtr | head () const |
Return a pointer to the head XComb this XComb depends on. More... | |
void | head (tStdXCombPtr headXC) |
Set the head XComb pointer. | |
Main functions used for the generation. | |
virtual bool | checkInit () |
Try to determine if this subprocess is at all possible. | |
int | nDim () const |
The number of dimensions of the phase space used to generate this process. | |
bool | willPassCuts () const |
Return true, if the current configuration will pass the cuts. | |
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. | |
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. | |
virtual tSubProPtr | construct () |
Construct a sub-process object from the information available. | |
Functions used for collecting statistics. | |
virtual const XSecStat & | stats () const |
The statistics object for this XComb. | |
virtual void | select (double weight) |
Select the current event. More... | |
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. More... | |
virtual void | reset () |
Reset statistics. | |
Access information used by the MEBase object. | |
const DiagramVector & | diagrams () 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 cPDVector & | mePartonData () 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 DVector & | meInfo () 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 DVector & | lastRandomNumbers () 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. More... | |
CrossSection | lastMECrossSection () const |
Return the partonic cross section as calculated for the last phase space point. More... | |
double | lastMEPDFWeight () const |
Return the PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights. More... | |
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... | |
![]() | |
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. | |
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 EventHandler & | eventHandler () 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 cPDPair & | particles () const |
The incoming particle types. | |
const cPDPair & | partons () 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. More... | |
void | clean () |
Reset all saved data about last generated phasespace point;. | |
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 PPair & | lastParticles () const |
Return the pair of incoming particle instances. | |
const PPair & | lastPartons () 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. | |
const PBIPair & | partonBinInstances () const |
Additional information about the incoming partons. | |
PBIPair & | partonBinInstances () |
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. More... | |
double | lastP2 () const |
Log of one over the momentum fraction of the second incoming particle w.r.t. More... | |
void | lastP1P2 (pair< double, double > pp) |
Set log of one over the momentum fraction of the incoming particles w.r.t. More... | |
double | lastL1 () const |
Log of one over the first incoming parton momentum fraction w.r.t. More... | |
double | lastL2 () const |
Log of one over the second incoming parton momentum fraction w.r.t. More... | |
void | lastL1L2 (pair< double, double >) |
Set log of one over the incoming parton momentum fractions w.r.t. More... | |
double | lastX1 () const |
The first incoming parton momentum fraction w.r.t. More... | |
double | lastX2 () const |
The second incoming parton momentum fraction w.r.t. More... | |
void | lastX1X2 (pair< double, double >) |
Set the incoming parton momentum fractions w.r.t. More... | |
double | lastE1 () const |
Return 1-lastX1() to highest possible precision for x ![]() | |
double | lastE2 () const |
Return 1-lastX2() to highest possible precision for x ![]() | |
void | lastE1E2 (pair< double, double >) |
Set one minus the incoming parton momentum fractions w.r.t. More... | |
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. | |
double | lastAlphaS () const |
Get the ![]() | |
void | lastAlphaS (double a) |
Set the ![]() | |
double | lastAlphaEM () const |
Get the ![]() | |
void | lastAlphaEM (double a) |
Set the ![]() | |
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... | |
![]() | |
virtual | ~Base () |
The virtual destructor. | |
void | debug () const |
Print out debugging information for this object on std::cerr. More... | |
virtual void | debugme () const |
Print out debugging information for this object on std::cerr. More... | |
![]() | |
CounterType | referenceCount () const |
Return the reference count. | |
Static Public Member Functions | |
static void | Init () |
Standard Init function used to initialize the interface. | |
![]() | |
static void | Init () |
Standard Init function used to initialize the interface. | |
![]() | |
static void | Init () |
The standard Init function used to initialize the interfaces. More... | |
Protected Member Functions | |
virtual void | newSubProcess (bool group=false) |
Construct the corresponding SubProcess object if it hasn't been done before. | |
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. | |
DVector & | lastRandomNumbers () |
Access the random numbers used to generate the last phase space point, if the matrix element requested so. | |
cPDVector & | mePartonData () |
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 | 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. More... | |
void | lastMECrossSection (CrossSection v) |
Set the partonic cross section as calculated for the last phase space point. More... | |
void | lastMEPDFWeight (double v) |
Set the PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights. More... | |
![]() | |
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. | |
![]() | |
ReferenceCounted () | |
Default constructor. | |
ReferenceCounted (const ReferenceCounted &) | |
Copy-constructor. | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Assignment. | |
Protected Attributes | |
pair< int, int > | partonDims |
The number of dimensions of the phase space used for each of the incoming partons. | |
Private Member Functions | |
StandardXComb & | operator= (const StandardXComb &) |
Private and non-existent assignment operator. | |
Private Attributes | |
tSubHdlPtr | theSubProcessHandler |
The corresponding sub-process handler. | |
tMEPtr | theME |
The matrix element to be used. | |
XSecStat | theStats |
Statistics gathering for this XComb. | |
DiagramVector | theDiagrams |
The diagrams used by the matrix element. | |
bool | isMirror |
True if the TreeDiagram's for this matrix element should in fact be mirrored before used to create an actual sub-rocess. | |
int | theNDim |
The number of dimensions of the phase space used to generate this process. | |
vector< Lorentz5Momentum > | theMEMomenta |
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. | |
cPDVector | theMEPartonData |
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 | theLastDiagramIndex |
The last selected tree diagram. | |
DVector | theMEInfo |
Information saved by the matrix element in the calculation of the cross section to be used later when selecting diagrams and colour flow. | |
DVector | theLastRandomNumbers |
The random numbers used to generate the last phase space point, if the matrix element requested so. | |
double | theLastPDFWeight |
The PDF weight used in the last call to dSigDR. | |
CrossSection | theLastCrossSection |
The cross section calculated in the last call to dSigDR. | |
double | theLastJacobian |
Save the last jacobian obtained when generating the kinematics for the call to dSigHatDR. | |
double | theLastME2 |
The matrix element squared as calculated for the last phase space point. More... | |
CrossSection | theLastMECrossSection |
The partonic cross section as calculated for the last phase space point. More... | |
double | theLastMEPDFWeight |
The PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights. More... | |
tStdXCombPtr | theHead |
A pointer to the head XComb this XComb depends on. More... | |
Static Private Attributes | |
static ClassDescription< StandardXComb > | initStandardXComb |
Describe a concrete class with persistent data. | |
Friends | |
class | MEBase |
MEBase needs to be a friend. More... | |
Additional Inherited Members | |
![]() | |
const unsigned long | uniqueId |
The unique ID. More... | |
The StandardXComb class inherits from the more general XComb class which stores all information about the generation of a hard sub-proces for a given pair of incoming particles, a pair of extracted partons, etc.
This class stores more information related to thestandard process generation scheme in ThePEG, such as the PartonExtractor and MEBase object used. It also does some of the administration of the process generation.
The main function is dSigDR() which returns the differential cross section w.r.t. a given vector of random numbers in the interval ]0,1[. In the initialization this is used to pre-sample the phase space. In the generation phase it is used to give the cross section for a phase space point, and if this StandardXComb is chosen the construct() function is called to generate the actual sub-process.
Definition at line 53 of file StandardXComb.h.
A vector of indices.
Definition at line 61 of file StandardXComb.h.
A vector of DiagramBase objects.
Definition at line 58 of file StandardXComb.h.
|
inline |
Return a pointer to the head XComb this XComb depends on.
May return NULL, if this is not a member of a XComb group.
Definition at line 115 of file StandardXComb.h.
References theHead.
Referenced by ThePEG::StdDependentXComb::accept(), ThePEG::StdDependentXComb::reject(), ThePEG::StdDependentXComb::reset(), ThePEG::StdDependentXComb::select(), and ThePEG::StdDependentXComb::stats().
|
inline |
Return the matrix element squared as calculated for the last phase space point.
This may optionally be used by a matrix element for caching.
Definition at line 271 of file StandardXComb.h.
References theLastME2.
|
inlineprotected |
Set the matrix element squared as calculated for the last phase space point.
This may optionally be used by a matrix element for caching.
Definition at line 344 of file StandardXComb.h.
References theLastME2.
|
inline |
Return the partonic cross section as calculated for the last phase space point.
This may optionally be used by a matrix element for caching.
Definition at line 278 of file StandardXComb.h.
References theLastMECrossSection.
|
inlineprotected |
Set the partonic cross section as calculated for the last phase space point.
This may optionally be used by a matrix element for caching.
Definition at line 351 of file StandardXComb.h.
References theLastMECrossSection.
|
inline |
Return the PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights.
This may optionally be used by a matrix element for caching.
Definition at line 286 of file StandardXComb.h.
References theLastMEPDFWeight.
|
inlineprotected |
Set the PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights.
This may optionally be used by a matrix element for caching.
Definition at line 359 of file StandardXComb.h.
References theLastMEPDFWeight.
void ThePEG::StandardXComb::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 ThePEG::StandardXComb::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
inlinevirtual |
Reject the current event assuming it was previously accepted.
If weighted events are produced, the weight should be the same as the previous call to select(double).
Reimplemented in ThePEG::StdDependentXComb.
Definition at line 194 of file StandardXComb.h.
References ThePEG::XSecStat::reject(), and theStats.
|
inlinevirtual |
Select the current event.
It will later be rejected with a probability given by weight.
Reimplemented in ThePEG::StdDependentXComb.
Definition at line 175 of file StandardXComb.h.
References ThePEG::XSecStat::select(), and theStats.
|
inline |
Return a pointer to the corresponding sub-process handler.
May be null if the standard process generation in ThePEG was not used.
Definition at line 103 of file StandardXComb.h.
References theSubProcessHandler.
|
friend |
MEBase needs to be a friend.
Definition at line 64 of file StandardXComb.h.
|
private |
|
private |
The matrix element squared as calculated for the last phase space point.
This may optionally be used by a matrix element for caching.
Definition at line 482 of file StandardXComb.h.
Referenced by lastME2().
|
private |
The partonic cross section as calculated for the last phase space point.
This may optionally be used by a matrix element for caching.
Definition at line 489 of file StandardXComb.h.
Referenced by lastMECrossSection().
|
private |
The PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights.
This may optionally be used by a matrix element for caching.
Definition at line 497 of file StandardXComb.h.
Referenced by lastMEPDFWeight().