#include <StandardXComb.h>
Public Types | |
typedef MEBase::DiagramVector | DiagramVector |
A vector of DiagramBase objects. | |
typedef MEBase::DiagramIndex | DiagramIndex |
A vector of indices. | |
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) | |
Standard constructor. | |
StandardXComb () | |
Default constructor. | |
~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. | |
tMEPtr | matrixElement () const |
The matrix element to be used. | |
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. | |
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. | |
tSubProPtr | construct () |
Construct a sub-process object from the information available. | |
Functions used for collecting statistics. | |
const XSecStat & | stats () const |
The statistics object for this XComb. | |
void | select (double weight) |
Select the current event. | |
void | accept () |
Accept the current event assuming it was previously selcted. | |
void | reject (double weight=1.0) |
Reject the current event assuming it was previously accepted. | |
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. | |
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 Public Member Functions | |
static void | Init () |
Standard Init function used to initialize the interface. | |
Protected Member Functions | |
void | newSubProcess () |
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. | |
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. | |
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. | |
pair< int, int > | partonDims |
The number of dimensions of the phase space used for each of the incoming partons. | |
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. | |
Static Private Attributes | |
static ClassDescription < StandardXComb > | initStandardXComb |
Describe a concrete class with persistent data. | |
Friends | |
class | MEBase |
MEBase needs to be a friend. |
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 51 of file StandardXComb.h.
tcSubHdlPtr ThePEG::StandardXComb::subProcessHandler | ( | ) | const [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 100 of file StandardXComb.h.
References theSubProcessHandler.
void ThePEG::StandardXComb::select | ( | double | weight | ) | [inline] |
Select the current event.
It will later be rejected with a probability given by weight.
Definition at line 145 of file StandardXComb.h.
References ThePEG::XSecStat::select(), and theStats.
void ThePEG::StandardXComb::reject | ( | double | weight = 1.0 |
) | [inline] |
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).
Definition at line 157 of file StandardXComb.h.
References ThePEG::XSecStat::reject(), and theStats.
void ThePEG::StandardXComb::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::XComb.
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. |
Reimplemented from ThePEG::XComb.
friend class MEBase [friend] |