ThePEG 2.3.0
|
The StdXCombGroup class represents a 'head' XComb object in association with a group of dependent XComb objects. More...
#include <StdXCombGroup.h>
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 XSecStat & | stats () 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 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. | |
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. | |
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 | 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 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. | |
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. | |
PartonBinInstanceMap & | partonBinInstanceMap () |
Access the parton bin instance map (used by the parton extractor) | |
const PartonBinInstanceMap & | partonBinInstanceMap () const |
Return the parton bin instance map (used by the parton extractor) | |
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. | |
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< StdXCombGroup > | initStdXCombGroup |
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. | |
StdXCombGroup & | operator= (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, PBIPtr > | PartonBinInstanceMap |
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. | |
ReferenceCounted & | operator= (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. | |
The StdXCombGroup class represents a 'head' XComb object in association with a group of dependent XComb objects.
Definition at line 26 of file StdXCombGroup.h.
|
virtual |
Reset all saved data about last generated phasespace point;.
Reimplemented from ThePEG::StandardXComb.
|
virtual |
Construct a sub-process object from the information available.
Reimplemented from ThePEG::StandardXComb.
|
inline |
Visit the dependent XComb objects.
Definition at line 83 of file StdXCombGroup.h.
References theDependent.
|
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.
|
inline |
Return the cross section calculated from the head matrix element.
Definition at line 78 of file StdXCombGroup.h.
References theLastHeadCrossSection.
|
inline |
Set the cross section calculated from the head matrix element.
Definition at line 110 of file StdXCombGroup.h.
References theLastHeadCrossSection.
|
inline |
Return the matrix element group steered by this XComb group.
Definition at line 89 of file StdXCombGroup.h.
References theMEGroup.
|
virtual |
The number of dimensions of the phase space used to generate this process.
Reimplemented from ThePEG::StandardXComb.
|
virtual |
Construct the corresponding SubProcess object if it hasn't been done before.
Reimplemented from ThePEG::StandardXComb.
void ThePEG::StdXCombGroup::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::StdXCombGroup::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
friend |
MEBase needs to be a friend.
Definition at line 29 of file StdXCombGroup.h.
|
staticprivate |
Describe a concrete class with persistent data.
Definition at line 157 of file StdXCombGroup.h.
|
private |
The dependent XComb objects.
Definition at line 145 of file StdXCombGroup.h.
Referenced by dependent().
|
private |
The cross section calculated from the head matrix element.
Definition at line 150 of file StdXCombGroup.h.
Referenced by lastHeadCrossSection().
|
private |