Herwig 7.3.0
|
This class is for handling the sampling of semi hard partonic interactions. More...
#include <ProcessHandler.h>
Public Types | |
typedef Selector< StdXCombPtr > | XSelector |
A weighted list of pointers to StandardXComb objects. | |
typedef vector< StdXCombPtr > | XVector |
A vector of pointers to StandardXComb objects. | |
typedef vector< CrossSection > | XSVector |
A vector of cross sections. | |
typedef map< tMEPtr, XVector > | MEXMap |
Map of pointers to StandardXComb objects indexed by pointers to the corresponding MEBase object. | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Public Types inherited from ThePEG::LastXCombInfo<> | |
typedef ThePEG::Ptr< XC >::pointer | XCPtr |
typedef ThePEG::Ptr< XC >::const_pointer | cXCPtr |
typedef ThePEG::Ptr< XC >::transient_pointer | tXCPtr |
typedef ThePEG::Ptr< XC >::transient_const_pointer | tcXCPtr |
Public Member Functions | |
ProcessHandler () | |
The default constructor. | |
Methods for the MPI generation. | |
tStdXCombPtr | generate () |
Select a StandardXComb according to it's weight. | |
Functions used for the actual generation | |
virtual CrossSection | dSigDR (const vector< double > &r) |
Return the cross section for the chosen phase space point. | |
Public Member Functions inherited from ThePEG::Interfaced | |
virtual bool | defaultInit () |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
PPtr | getParticle (PID) const |
PDPtr | getParticleData (PID) const |
bool | used () const |
void | useMe () const |
tEGPtr | generator () const |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
virtual void | debugme () const |
void | update () |
void | init () |
virtual bool | preInitialize () const |
void | initrun () |
void | finish () |
void | touch () |
void | reset () |
void | clear () |
InitState | state () const |
bool | locked () const |
bool | touched () const |
virtual IBPtr | fullclone () const |
Public Member Functions inherited from ThePEG::Base | |
void | debug () const |
virtual void | debugme () const |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Public Member Functions inherited from ThePEG::Named | |
Named (const string &newName=string()) | |
Named (const Named &)=default | |
const string & | name () const |
bool | operator== (const Named &other) const |
bool | operator< (const Named &other) const |
Public Member Functions inherited from ThePEG::LastXCombInfo<> | |
const XC & | lastXComb () const |
const XC & | lastXComb () const |
tXCPtr | lastXCombPtr () const |
tXCPtr | lastXCombPtr () const |
const XC & | lastHeadXComb () const |
const XC & | lastHeadXComb () const |
tXCPtr | lastHeadXCombPtr () const |
tXCPtr | lastHeadXCombPtr () const |
const EventHandler & | lastEventHandler () const |
const EventHandler & | lastEventHandler () const |
tPExtrPtr | lastExtractor () const |
tPExtrPtr | lastExtractor () const |
PDFT | pdf (tcPPtr parton) const |
PDFT | pdf (tcPPtr parton) const |
const Cuts & | lastCuts () const |
const Cuts & | lastCuts () const |
tCutsPtr | lastCutsPtr () const |
tCutsPtr | lastCutsPtr () const |
const PPair & | lastParticles () const |
const PPair & | lastParticles () const |
Energy2 | lastS () const |
Energy2 | lastS () const |
const PPair & | lastPartons () const |
const PPair & | lastPartons () const |
Energy2 | lastSHat () const |
Energy2 | lastSHat () const |
double | lastTau () const |
double | lastTau () const |
double | lastY () const |
double | lastY () const |
double | lastP1 () const |
double | lastP1 () const |
double | lastP2 () const |
double | lastP2 () const |
double | lastL1 () const |
double | lastL1 () const |
double | lastL2 () const |
double | lastL2 () const |
double | lastX1 () const |
double | lastX1 () const |
double | lastX2 () const |
double | lastX2 () const |
double | lastE1 () const |
double | lastE1 () const |
double | lastE2 () const |
double | lastE2 () const |
double | lastFL1L2 () const |
double | lastFL1L2 () const |
Energy2 | lastScale () const |
double | lastAlphaS () const |
double | lastAlphaEM () const |
const vector< Lorentz5Momentum > & | meMomenta () const |
double | lastME2 () const |
double | lastPreweight () const |
double | jacobian () const |
CrossSection | lastMECrossSection () const |
double | lastMEPDFWeight () const |
double | lastMECouplings () const |
tSubProPtr | subProcess () const |
const cPDVector & | mePartonData () const |
Standard Interfaced functions. | |
SamplerPtr | theSampler |
The phase space sampler responsible for generating phase space points according to the cross section given by this handler. | |
tEHPtr | theHandler |
A pointer to the EventHandler that calls us. | |
tCutsPtr | theCuts |
The kinematical cuts used for this collision handler. | |
tSubHdlPtr | theSubProcess |
The SubProcessHandler that is connected to this ProcessHandler. | |
XVector | theXCombs |
The StandardXComb objects. | |
XSVector | theXSecs |
The (incrementally summed) cross sections associated with the StandardXComb objects for the last selected phase space point. | |
int | theBinStrategy |
The strategy to be used when sampling different StandardXComb objects. | |
MEXMap | theMEXMap |
The map used to store all XBins with the same matrix element for option 1 in theBinStrategy. | |
vector< int > | theMaxDims |
The number of degrees of freedom needed to generate the phase space for the different bins. | |
virtual void | doinitrun () |
Initialize this object. | |
ProcessHandler & | operator= (const ProcessHandler &)=delete |
The assignment operator is private and must never be called. | |
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. | |
void | initialize (tSubHdlPtr sub, tCutsPtr cuts, tEHPtr eh) |
Initialize this Multiple Interaction handler and all related objects needed to generate additional events. | |
CrossSection | integratedXSec () const |
Return the integrated cross section. | |
void | statistics (ostream &, Stat &) const |
Write out accumulated statistics about intergrated cross sections and stuff. | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Simple access functions. | |
int | statLevel () const |
The level of statistics. | |
const cPDPair & | incoming () const |
The pair of incoming particle types obtained via the EventHandler. | |
const LuminosityFunction & | lumiFn () const |
Access the luminosity function via the EventHandler. | |
int | lumiDim () const |
The number of phase space dimensions used by the luminosity function. | |
int | nBins () const |
Return the number of separate bins of StandardXComb objects to sample. | |
int | maxDim (int bin) const |
Return the number of phase space dimensions needed for the sampling of indicated bin of StandardXComb objects. | |
int | nDim (int bin) const |
The number of dimensions of the basic phase space to generate sub-processes in for a given bin of StandardXComb objects. | |
long | maxLoop () const |
Return the maximum number attemts allowed to select a sub-process for each event. | |
virtual CrossSection | dSigDR (const pair< double, double > ll, Energy2 maxS, int ibin, int nr, const double *r) |
Generate a phase space point and return the corresponding cross section. | |
tStdXCombPtr | select (int bin, double weight) |
Select an StandardXComb. | |
void | addME (Energy maxEnergy, tSubHdlPtr sub, tPExtrPtr extractor, tCutsPtr cuts, tCascHdlPtr ckkw, tMEPtr me, const PBPair &pBins) |
Create and add StandardXComb objects. | |
const XVector & | xCombs () const |
Return the vector of StandardXComb objects. | |
XVector & | xCombs () |
Return the vector of StandardXComb objects. | |
const XSVector & | xSecs () const |
Return the vector of cross sections. | |
XSVector & | xSecs () |
Return the vector of cross sections. | |
int | binStrategy () const |
Return the strategy to be used when sampling different StandardXComb objects. | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
tEHPtr | eventHandler () const |
Return the ThePEG::EventHandler assigned to this handler. | |
tSamplerPtr | sampler () |
Return the sampler assigned to this handler. | |
tcSamplerPtr | sampler () const |
Return the sampler assigned to this handler. | |
tCutsPtr | cuts () const |
Return a reference to the Cuts of this MultipleInteractionHandler. | |
tSubHdlPtr | subProcess () |
Access the sub-process handler. | |
Additional Inherited Members | |
Static Public Member Functions inherited from ThePEG::Interfaced | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::InterfacedBase | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
Public Attributes inherited from ThePEG::InterfacedBase | |
initializing | |
uninitialized | |
initialized | |
runready | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
Protected Member Functions inherited from ThePEG::Interfaced | |
void | reporeg (IBPtr object, string name) const |
bool | setDefaultReference (PtrT &ptr, string classname, string objectname) |
Interfaced (const string &newName) | |
Interfaced (const Interfaced &i) | |
void | setGenerator (tEGPtr generator) |
Protected Member Functions inherited from ThePEG::InterfacedBase | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual IBPtr | clone () const=0 |
InterfacedBase (string newName) | |
InterfacedBase (const InterfacedBase &i) | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
Protected Attributes inherited from ThePEG::LastXCombInfo<> | |
XCPtr | theLastXComb |
This class is for handling the sampling of semi hard partonic interactions.
If several types of partonic interactions are needed. Each of them has it's own ProcessHandler. A reference to them is stored in MPIHandler, which administers everything.
Definition at line 48 of file ProcessHandler.h.
typedef map<tMEPtr,XVector> Herwig::ProcessHandler::MEXMap |
Map of pointers to StandardXComb objects indexed by pointers to the corresponding MEBase object.
Definition at line 63 of file ProcessHandler.h.
typedef Selector<StdXCombPtr> Herwig::ProcessHandler::XSelector |
A weighted list of pointers to StandardXComb objects.
Definition at line 53 of file ProcessHandler.h.
typedef vector<CrossSection> Herwig::ProcessHandler::XSVector |
A vector of cross sections.
Definition at line 59 of file ProcessHandler.h.
typedef vector<StdXCombPtr> Herwig::ProcessHandler::XVector |
A vector of pointers to StandardXComb objects.
Definition at line 56 of file ProcessHandler.h.
|
protected |
Create and add StandardXComb
objects.
maxEnergy | the maximum CMS energy of the incoming particles. |
sub | a pointer to the SubProcessHandler object. |
extractor | a pointer to the PartonExtractor object. |
cuts | a pointer to the Cuts object. |
ckkw | a currently empty pointer to a CascadeHandler to be used for CKKW reweighting. |
me | a pointer to the MEBase object. |
pBins | a pair of PartonBin s describing the partons extracted from the particles |
|
inlineprotected |
Return the strategy to be used when sampling different StandardXComb objects.
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
inlineprivate |
Return a reference to the Cuts of this MultipleInteractionHandler.
Note that these cuts may be overridden by the SubProcess chosen.
|
protectedvirtual |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
|
protectedvirtual |
Generate a phase space point and return the corresponding cross section.
Is called from sSigDR(const vector<double> &).
ll | a pair of doubles giving the logarithms of the (inverse energy fractions of the maximum CMS energy of the incoming particles. |
maxS | the maximum squared CMS energy of the incoming particles. |
ibin | the preselected bin of StandardXComb objects to choose sub-process from |
nr | the number of random numbers availiable in r. |
r | an array of random numbers to be used to generate a phase-space point. |
|
virtual |
Return the cross section for the chosen phase space point.
r | a vector of random numbers to be used in the generation of a phase space point. |
|
inlineprivate |
Return the ThePEG::EventHandler assigned to this handler.
This methods shadows ThePEG::StepHandler::eventHandler(), because it is not virtual in ThePEG::StepHandler. This is ok, because this method would give a null-pointer at some stages, whereas this method gives access to the explicitely copied pointer (in doinitrun()) to the ThePEG::EventHandler.
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
|
inline |
Select a StandardXComb according to it's weight.
|
static |
The standard Init function used to initialize the interfaces.
Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.
|
inline |
The number of phase space dimensions used by the luminosity function.
Calls the corresponding StandardEventHandler method.
|
inline |
Return the maximum number attemts allowed to select a sub-process for each event.
Calls the corresponding StandardEventHandler method.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::ProcessHandler::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 Herwig::ProcessHandler::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
protected |
Select an StandardXComb.
Given a preselected bin, ibin of StandardXComb objects pick one to generate the corresponding sub-process with the given weight.
|
inline |
The level of statistics.
Controlls the amount of statistics written out after each run to the EventGenerator
s .out
file. Simply the EventHandler method is called here.
|
private |
The strategy to be used when sampling different StandardXComb objects.
0 means all StandardXComb objects are sampled together. 1 means all StandardXComb objects which have the same matrix element object are sampled together. 2 means all StandardXComb objects are sampled separately.
Definition at line 373 of file ProcessHandler.h.
|
private |
The kinematical cuts used for this collision handler.
Definition at line 345 of file ProcessHandler.h.
|
private |
A pointer to the EventHandler that calls us.
Has to be saved, because the method eventHandler() inherited from ThePEG::StepHandler returns a null-pointer sometimes. Leif changed that in r1053 so that a valid pointer is present, when calling doinitrun().
Definition at line 340 of file ProcessHandler.h.
|
private |
The number of degrees of freedom needed to generate the phase space for the different bins.
Definition at line 386 of file ProcessHandler.h.
|
private |
The map used to store all XBins with the same matrix element for option 1 in theBinStrategy.
Definition at line 379 of file ProcessHandler.h.
|
private |
The phase space sampler responsible for generating phase space points according to the cross section given by this handler.
Definition at line 332 of file ProcessHandler.h.
|
private |
The SubProcessHandler that is connected to this ProcessHandler.
Definition at line 352 of file ProcessHandler.h.
|
private |
The StandardXComb objects.
Definition at line 358 of file ProcessHandler.h.
|
private |
The (incrementally summed) cross sections associated with the StandardXComb objects for the last selected phase space point.
Definition at line 364 of file ProcessHandler.h.