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

The PartonExtractor is a base class defining the interface to objects responsible for extracting partons from particles. More...

#include <PartonExtractor.h>

Inheritance diagram for ThePEG::PartonExtractor:

Public Types

typedef map< cPPtr, PBIPtrPartonBinInstanceMap
 A map of PartonBinInstance objects indexed by the extracted parton.
 
- Public Types inherited from ThePEG::InterfacedBase
enum  InitState { initializing = -1 , uninitialized = 0 , initialized = 1 , runready = 2 }
 Enumeration reflecting the state of an InterfacedBase object. More...
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 The integer type used for counting.
 
- Public Types inherited from ThePEG::LastXCombInfo< XC >
typedef ThePEG::Ptr< XC >::pointer XCPtr
 Alias for a reference counted pointer to XC .
 
typedef ThePEG::Ptr< XC >::const_pointer cXCPtr
 Alias for a reference counted pointer to a const XC .
 
typedef ThePEG::Ptr< XC >::transient_pointer tXCPtr
 Alias for a transient pointer to XC .
 
typedef ThePEG::Ptr< XC >::transient_const_pointer tcXCPtr
 Alias for a transient pointer to a const XC .
 

Public Member Functions

Standard constructors and destructors.
 PartonExtractor ()
 Default constructor.
 
virtual ~PartonExtractor ()
 Destructor.
 
Virtual functions which may be overridden in sub-classes.
virtual bool canHandle (const cPDPair &)
 Return true if this parton extractor can handle the given types of incoming particles.
 
virtual PartonPairVec getPartons (Energy maxEnergy, const cPDPair &, const Cuts &) const
 Return a vector of possible pairs of parton bins which can be produced within a given maximum total particle-particle invariant mass squared, maxEnergy sBin.
 
virtual Energy2 newScale ()
 May be overriden by sub-classes which have their own oppinion about what scale to use in a hard subprocess.
 
virtual void colourConnect (tPPtr particle, tPPtr parton, const tPVector &remnants) const
 Connect the remnants with the colour lines of the extracted parton.
 
virtual PBIPair newRemnants (tPPair oldp, tPPair newp, tStepPtr step)
 If remnants has already been created for the given parton, remove them from the given step and generate new remnants corresponding to the parton newp and add them to the step.
 
virtual pair< int, int > nDims (const PBPair &pbins)
 Determine the number of random numbers needed to calculate \(\hat{s}\) and the product of all densitiy functions.
 
virtual void prepare (const PBIPair &pbins)
 Prepare the given parton bin instances for generating a new event.
 
virtual void updatePartonBinInstances (const PBIPair &pbins)
 Update information on the given parton bin instances.
 
virtual bool generateL (const PBIPair &pbins, const double *r1, const double *r2)
 Generate \(l=\log(1/x)\) for all parton extractions.
 
virtual void generateL (PartonBinInstance &pb, const double *r)
 Used by generateL() for each of the final parton bins.
 
virtual Energy2 generateSHat (Energy2 s, const PBIPair &pbins, const double *r1, const double *r2, bool mepartons=false)
 Generate the rest of the degrees of freedom to calculate \(\hat{s}\) and the product of all densitiy functions.
 
virtual double fullFn (const PBIPair &pbins, Energy2 scale, pair< bool, bool > noLastPDF=make_pair(false, false))
 Return the product of all density functions.
 
virtual void construct (const PBIPair &pbins, tStepPtr step) const
 Construct remnants and add them to the step.
 
virtual void constructRemnants (const PBIPair &pbins, tSubProPtr sub, tStepPtr step) const
 Construct remnants for partons created outside of this extractor.
 
virtual LorentzRotation boostRemnants (PBIPair &bins, LorentzMomentum k1, LorentzMomentum k2, bool side1, bool side2) const
 Get boost for hard subsystem and boost remnants.
 
Access information about the current paron extraction.
tPBIPtr partonBinInstance (tcPPtr) const
 Return the corresponding parton bin instance for a given extracted parton.
 
void select (tXCombPtr newXComb)
 Set the XComb object describing the current hard sub-process.
 
int maxTries () const
 The maximum number of attempts allowed when trying to generate remnants.
 
tcPDFPtr getPDF (tcPDPtr particle) const
 Return the PDFBase object to be used for the incoming particle type.
 
- Public Member Functions inherited from ThePEG::HandlerBaseT< UseRandom >
virtual ~HandlerBaseT ()
 Destructor.
 
double rnd () const
 Return a simple flat random number in the range ]0,1[.
 
double rnd (double xu) const
 Return a simple flat random number in the range ]0,xu[.
 
double rnd (double xl, double xu) const
 Return a simple flat random number in the range ]xl,xu[.
 
bool rndbool () const
 Return true with 50% probability.
 
bool rndbool (double p) const
 Return a true with probability p.
 
bool rndbool (double p1, double p2) const
 Return a true with probability p1/(p1+p2).
 
int rndsign (double p1, double p2, double p3) const
 Return -1, 0, or 1 with relative probabilities p1, p2, p3.
 
int rnd2 (double p0, double p1) const
 Return an integer \(i\) with probability p \(i\)/(p0+p1).
 
int rnd3 (double p0, double p1, double p2) const
 Return an integer \(i\) with probability p \(i\)/(p0+p1+p2).
 
int rnd4 (double p0, double p1, double p2, double p3) const
 Return an integer/ \(i\) with probability p \(i\)(p0+p1+p2+p3).
 
long irnd (long xu=2) const
 Return a simple flat random integrer number in the range [0,xu[.
 
long irnd (long xl, long xu) const
 Return a simple flat random integrer number in the range [xl,xu[.
 
const StandardModelBaseSM () const
 Return a reference to the object containing the standard model parameters for this run.
 
tSMPtr standardModel () const
 Return a pointer to the object containing the standard model parameters for this run.
 
- Public Member Functions inherited from ThePEG::Interfaced
virtual ~Interfaced ()
 Empty virtual destructor.
 
virtual bool defaultInit ()
 Functions which are to be used during the actual event generation, after the setup is complete.
 
PPtr getParticle (PID) const
 Create a new Particle instance given a id number.
 
PDPtr getParticleData (PID) const
 Return a pointer to the ParticleData object corresponding to the given id number.
 
bool used () const
 Returns true if this object has actally been used.
 
void useMe () const
 Should be called to indicate that this object has actually been used.
 
tEGPtr generator () const
 Return a pointer to the EventGenerator controlling the run.
 
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::InterfacedBase
virtual ~InterfacedBase ()
 The virtual (empty) destructor;.
 
string fullName () const
 Returns the full name of this object including its path, e.g.
 
string name () const
 Returns the name of this object, without the path.
 
string path () const
 Returns the path to this object including the trailing '/'.
 
string comment () const
 Returns a comment assigned to this object.
 
void setup (istream &is)
 Read setup info from a standard istream is.
 
void update ()
 Calls the doupdate() function with recursion prevention.
 
void init ()
 Calls the doinit() function with recursion prevention.
 
virtual bool preInitialize () const
 Return true if this object needs to be initialized before all other objects (except those for which this function also returns true).
 
void initrun ()
 Calls the doinitrun() function with recursion prevention.
 
void finish ()
 Calls the dofinish() function with recursion prevention.
 
void touch ()
 This function should be called every time something in this object has changed in a way that a sanity check with update() is needed.
 
void reset ()
 Set the state of this object to uninitialized.
 
void clear ()
 Calls reset() and unTouch().
 
InitState state () const
 Return the state of initialization of this object.
 
bool locked () const
 Return true if the BaseRepository is not allowed to change the state of this object.
 
bool touched () const
 Return true if the state of this object has been changed since the last call to update().
 
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.
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr.
 
- 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.
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 Constructor with name.
 
 Named (const Named &)=default
 Explicit default copy-constructor (too avoid compiler warnings)
 
const string & name () const
 Return name.
 
bool operator== (const Named &other) const
 Test for equality.
 
bool operator< (const Named &other) const
 Lexicographical comparison.
 
- Public Member Functions inherited from ThePEG::LastXCombInfo< XC >
const XC & lastXComb () const
 Return a reference to the last selected XComb.
 
tXCPtr lastXCombPtr () const
 Return a pointer to the last selected XComb.
 
const XC & lastHeadXComb () const
 If the last selected XComb object belongs to a group of XComb's return a reference to the head XComb object for this group.
 
tXCPtr lastHeadXCombPtr () const
 If the last selected XComb object belongs to a group of XComb's return a pointer to the head XComb object for this group.
 
const EventHandlerlastEventHandler () const
 Return a reference to the currently used EventHandler.
 
tPExtrPtr lastExtractor () const
 A pointer to the currently used parton extractor.
 
template<typename PDFT >
PDFT pdf (tcPPtr parton) const
 Return the parton density used to extract the given parton.
 
const CutslastCuts () const
 A reference to the currently used kinematical cuts.
 
tCutsPtr lastCutsPtr () const
 A pointer to the currently used kinematical cuts.
 
const PPairlastParticles () const
 Return the pair of incoming parton instances.
 
Energy2 lastS () const
 The last generated total energy squared of the incoming particles.
 
const PPairlastPartons () const
 Return the pair of incoming parton instances.
 
Energy2 lastSHat () const
 The last used interval in total parton-parton energy squared.
 
double lastTau () const
 Return lastSHat()/lastS().
 
double lastY () const
 The 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.
 
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.
 
double lastX1 () const
 The first incoming parton momentum fraction w.r.t.
 
double lastX2 () const
 The second incoming parton momentum fraction 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.
 
double lastFL1L2 () const
 The product of the parton density functions at the last generated phase-space point.
 
Energy2 lastScale () const
 The chosen scale of the hard scattering.
 
double lastAlphaS () const
 Get the \(\alpha_S\) used in the hard scattering.
 
double lastAlphaEM () const
 Get the \(\alpha_{EM}\) used in the hard scattering.
 
const vector< Lorentz5Momentum > & meMomenta () const
 Return the momenta of the incoming and outgoing partons to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
 
double lastME2 () const
 Return the matrix element squared as calculated for the last phase space point.
 
double lastPreweight () const
 Return the last preweight factor.
 
double jacobian () const
 Get the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
 
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 weight as calculated for the last phase space point.
 
tSubProPtr subProcess () const
 Return the SubProcess object corresponding to the last generated sub-process.
 
const cPDVectormePartonData () const
 Return the incoming and outgoing parton types to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
 

Protected Member Functions

Functions used by the main virtual functions. Some of

these may be overridden in sub-classes.

virtual bool generate (PartonBinInstance &pb, const double *r, Energy2 shat, const Lorentz5Momentum &first, bool haveMEPartons=false)
 Used by generateSHat() for each of the final parton bins.
 
virtual double fullFn (const PartonBinInstance &pb, bool noLastPDF=false)
 Used by the public fullFn() for each of the final parton bins.
 
virtual void construct (PartonBinInstance &pb, tStepPtr step, bool boost=true) const
 Used by the public construct() for each of the final parton bins.
 
PBIPtr newRemnants (tPBIPtr oldpb, tPPtr newp, const LorentzMomentum &k)
 Used by the public newRemnants() for each of the parton bins.
 
void addNewRemnants (tPBIPtr oldpb, tPBIPtr newpb, tStepPtr step)
 Used by the public newRemnants() for each of the parton bins.
 
virtual void transformRemnants (LorentzMomentum &Ph, LorentzMomentum &Pr, const LorentzMomentum &k, const LorentzMomentum &P) const
 Transform remnant momentum.
 
virtual void constructRemnants (PartonBinInstance &pb, LorentzMomentum &Ph, const LorentzMomentum &k) const
 Construct remnants recursively for the parton represented by pb.
 
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.
 
- Protected Member Functions inherited from ThePEG::Interfaced
void reporeg (IBPtr object, string name) const
 Register the given object in the Repository with the given name in a subdirectory with the same name as this object.
 
template<typename PtrT >
bool setDefaultReference (PtrT &ptr, string classname, string objectname)
 If the pointer, ptr, to an object is not set, create an object of class classname and register it with the Repository with the given objectname in a sib-directory with the same name as this object.
 
 Interfaced ()
 Protected default constructor.
 
 Interfaced (const string &newName)
 Protected constructor taking a name as argument.
 
 Interfaced (const Interfaced &i)
 Protected copy-constructor.
 
void setGenerator (tEGPtr generator)
 Protected function to reset the generator pointer, required for automatic decayer generation in Herwig++ BSM models.
 
- Protected Member Functions inherited from ThePEG::InterfacedBase
virtual void readSetup (istream &is)
 Read setup info from a standard istream is.
 
virtual void doupdate ()
 Check sanity of the object during the setup phase.
 
virtual void doinit ()
 Initialize this object after the setup phase before saving an EventGenerator to disk.
 
virtual void doinitrun ()
 Initialize this object.
 
virtual IVector getReferences ()
 Return a vector of all pointers to Interfaced objects used in this object.
 
virtual void rebind (const TranslationMap &)
 Rebind pointer to other Interfaced objects.
 
 InterfacedBase ()
 Protected default constructor.
 
 InterfacedBase (string newName)
 Protected constructor with the name given as argument.
 
 InterfacedBase (const InterfacedBase &i)
 Protected copy-constructor.
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted ()
 Default constructor.
 
 ReferenceCounted (const ReferenceCounted &)
 Copy-constructor.
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 Assignment.
 
const string & name (const string &newName)
 Set new name.
 

Friends

class XComb
 XComb is a friend.
 

Standard Interfaced functions.

vector< PDFPtrtheSpecialDensities
 A list of special PDFBase objects to be used.
 
PDFPtr theFirstPDF
 PDFBase object to override first PDF.
 
PDFPtr theSecondPDF
 PDFBase object to override second PDF.
 
PDFPtr theNoPDF
 The NoPDF object.
 
int theMaxTries
 The maximum number of tries allowed when trying to produce remnants.
 
bool flatSHatY
 True if this extractor should override the \(l\)-generation in the PDFs and generate a flat distribution in \(\log(\hat{s})\) and y.
 
static ClassDescription< PartonExtractorinitPartonExtractor
 Describe a concrete class with persistent data.
 
virtual void dofinish ()
 Finalize this object.
 
PartonBinInstanceMappartonBinInstances () const
 The PartonBinInstance's used mapped to the respective partons.
 
PartonExtractoroperator= (const PartonExtractor &)=delete
 Private and non-existent assignment operator.
 

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.
 
virtual void addPartons (tPBPtr incoming, const PDFCuts &cuts, tcPDFPtr pdf, PartonVector &pbins) const
 Add parton bins to pbins for the given incoming particle and the specified cuts.
 
tcPDFPtr noPDF () const
 The NoPDF object.
 
template<typename Iterator >
void findConnect (tColinePtr line, tPPtr parton, bool anti, Iterator first, Iterator last) const
 Connect the first (anti) coloured particle in the given range (not equal to parton) and connect it to the colour line.
 
static void Init ()
 Standard Init function used to initialize the interface.
 

Additional Inherited Members

- Static Public Member Functions inherited from ThePEG::HandlerBase
static void Init ()
 Standard Init function used to initialize the interface.
 
- Static Public Member Functions inherited from ThePEG::Interfaced
static void Init ()
 Standard Init function.
 
- Static Public Member Functions inherited from ThePEG::InterfacedBase
static void Init ()
 Standard Init function.
 
- 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.
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 Register an Interfaced object with the Repository.
 
static void registerRepository (IBPtr, string newName)
 Register an Interfaced object with the Repository, giving it a name.
 
- Protected Attributes inherited from ThePEG::LastXCombInfo< XC >
XCPtr theLastXComb
 The pointer to the last selected XComb.
 

Detailed Description

The PartonExtractor is a base class defining the interface to objects responsible for extracting partons from particles.

It is used by a SubProcessHandler which combines one PartonExtractor with a number of MEBase objects which are the used in an XComb in a StandardEventHandler to generate hard sub-processes.

PartonExtractor inherits from the general HandlerBase class and from the LastXCombInfo class to have easy acces to information about the currently chosen hard sub-process.

See also
The interfaces defined for PartonExtractor.
SubProcessHandler
MEBase
EventHandler
StandardEventHandler
XComb
HandlerBase

Definition at line 44 of file PartonExtractor.h.

Member Typedef Documentation

◆ PartonBinInstanceMap

A map of PartonBinInstance objects indexed by the extracted parton.

Definition at line 52 of file PartonExtractor.h.

Member Function Documentation

◆ boostRemnants()

virtual LorentzRotation ThePEG::PartonExtractor::boostRemnants ( PBIPair bins,
LorentzMomentum  k1,
LorentzMomentum  k2,
bool  side1,
bool  side2 
) const
virtual

Get boost for hard subsystem and boost remnants.

To be called after re-constructing remnants and obtaining new momenta of the partons entering the hard subsystem, but ignoring detailed energy and momentum conservation. Perform boosts of the remnants to conserve energy and momentum and return the boost needed for the hard subsystem. bins contains the current state of the incoming partons, including the momenta obtained after the remnant generation. k1 and k2 contains the momenta of the incoming partons before the remnant generation. If either side has no new remnants, side1 and/or side2 should be false.

◆ canHandle()

virtual bool ThePEG::PartonExtractor::canHandle ( const cPDPair )
inlinevirtual

Return true if this parton extractor can handle the given types of incoming particles.

Definition at line 77 of file PartonExtractor.h.

◆ clone()

virtual IBPtr ThePEG::PartonExtractor::clone ( ) const
protectedvirtual

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

◆ construct()

virtual void ThePEG::PartonExtractor::construct ( PartonBinInstance pb,
tStepPtr  step,
bool  boost = true 
) const
protectedvirtual

Used by the public construct() for each of the final parton bins.

If boost is false, no boost is necessary to give the remnants proper momenta.

◆ constructRemnants() [1/2]

virtual void ThePEG::PartonExtractor::constructRemnants ( const PBIPair pbins,
tSubProPtr  sub,
tStepPtr  step 
) const
virtual

Construct remnants for partons created outside of this extractor.

Information about the incoming partons should be set in pbins and the hard subprocess should be present in sub. Generated remnants will be added to the step.

Exceptions
Vetoif remnant generation failed for whatever reason.

◆ constructRemnants() [2/2]

virtual void ThePEG::PartonExtractor::constructRemnants ( PartonBinInstance pb,
LorentzMomentum Ph,
const LorentzMomentum k 
) const
protectedvirtual

Construct remnants recursively for the parton represented by pb.

Used by constructRemnants(const PBIPair &, tSubProPtr, tStepPtr). Shift the momentum, Ph, of the hard subsystem to conserve energy and momentum if necessary. The momentum, k, of the parton coming into the hard subsystem from the other side is given for information. Note that Direction<0> must be set to determine if the parent particle is to be assumed to go in the positive or negative direction.

Exceptions
Vetoif remnant generation failed for whatever reason.

◆ dofinish()

virtual void ThePEG::PartonExtractor::dofinish ( )
protectedvirtual

Finalize this object.

Called in the run phase just after a run has ended. Used eg. to write out statistics.

Reimplemented from ThePEG::InterfacedBase.

◆ findConnect()

template<typename Iterator >
void ThePEG::PartonExtractor::findConnect ( tColinePtr  line,
tPPtr  parton,
bool  anti,
Iterator  first,
Iterator  last 
) const
inlineprotected

Connect the first (anti) coloured particle in the given range (not equal to parton) and connect it to the colour line.

Definition at line 340 of file PartonExtractor.h.

◆ fullclone()

virtual IBPtr ThePEG::PartonExtractor::fullclone ( ) const
protectedvirtual

Make a clone of this object, possibly modifying the cloned object to make it sane.

Returns
a pointer to the new object.

Reimplemented from ThePEG::InterfacedBase.

◆ fullFn()

virtual double ThePEG::PartonExtractor::fullFn ( const PBIPair pbins,
Energy2  scale,
pair< bool, bool >  noLastPDF = make_pair(false, false) 
)
virtual

Return the product of all density functions.

If noLastPDF.first (.second) is true, then the PDF value multiplied by the momentum fraction for the last extracted parton from the first (second) incoming particle will be excluded.

◆ generate()

virtual bool ThePEG::PartonExtractor::generate ( PartonBinInstance pb,
const double *  r,
Energy2  shat,
const Lorentz5Momentum first,
bool  haveMEPartons = false 
)
protectedvirtual

Used by generateSHat() for each of the final parton bins.

Direction<0> is set to positive(negative) for the first(second) final bin, pb. Should ask the remnant handler to generate what is needed to construct the extracted parton momentum. r is a pointer to an array of random numbers to be used and shat is the approximate invariant mass squared of the hard system produced by the extracted parton and the primary parton from the other side. first is the momentum of the original incoming particle.

Returns
false if no remnants could be generated.

◆ generateL()

virtual void ThePEG::PartonExtractor::generateL ( PartonBinInstance pb,
const double *  r 
)
virtual

Used by generateL() for each of the final parton bins.

Direction<0> is set to positive(negative) for the first(second) final bin.

◆ getPDF()

tcPDFPtr ThePEG::PartonExtractor::getPDF ( tcPDPtr  particle) const

Return the PDFBase object to be used for the incoming particle type.

If one of theSpecialDensities matches the particle type it is returned, otherwise if particle is a BeamParticleData use the PDFBase object specified there. If also this fails, return a NoPDF object.

◆ maxTries()

int ThePEG::PartonExtractor::maxTries ( ) const
inline

The maximum number of attempts allowed when trying to generate remnants.

Definition at line 208 of file PartonExtractor.h.

References theMaxTries.

◆ newRemnants() [1/2]

PBIPtr ThePEG::PartonExtractor::newRemnants ( tPBIPtr  oldpb,
tPPtr  newp,
const LorentzMomentum k 
)
protected

Used by the public newRemnants() for each of the parton bins.

Exceptions
Vetoif remnant generation failed for whatever reason.

◆ newRemnants() [2/2]

virtual PBIPair ThePEG::PartonExtractor::newRemnants ( tPPair  oldp,
tPPair  newp,
tStepPtr  step 
)
virtual

If remnants has already been created for the given parton, remove them from the given step and generate new remnants corresponding to the parton newp and add them to the step.

The new parton bins are returned.

Exceptions
Vetoif remnant generation failed for whatever reason.

◆ newScale()

virtual Energy2 ThePEG::PartonExtractor::newScale ( )
virtual

May be overriden by sub-classes which have their own oppinion about what scale to use in a hard subprocess.

The default version simply returns the previously selected scale.

◆ noPDF()

tcPDFPtr ThePEG::PartonExtractor::noPDF ( ) const
inlineprotected

The NoPDF object.

Definition at line 333 of file PartonExtractor.h.

References theNoPDF.

◆ partonBinInstances()

PartonBinInstanceMap & ThePEG::PartonExtractor::partonBinInstances ( ) const
inlineprivate

The PartonBinInstance's used mapped to the respective partons.

Definition at line 384 of file PartonExtractor.h.

References ThePEG::LastXCombInfo< XC >::lastXCombPtr().

◆ persistentInput()

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

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ transformRemnants()

virtual void ThePEG::PartonExtractor::transformRemnants ( LorentzMomentum Ph,
LorentzMomentum Pr,
const LorentzMomentum k,
const LorentzMomentum P 
) const
protectedvirtual

Transform remnant momentum.

Assuming remnants have been generated with momentum Pr without considering energy-momentum conservation, shift the momentum, possibly compensating with the momentum of the hard subsystem, Ph. For information the momentum of the parton entering the hard subsystem from the other side, k, and the momentum of the remnants parent particle , P is given. Note that Direction<0> must be set to determine if the parent particle is to be assumed to go in the positive or negative direction.

Friends And Related Function Documentation

◆ XComb

friend class XComb
friend

XComb is a friend.

Definition at line 47 of file PartonExtractor.h.

Member Data Documentation

◆ flatSHatY

bool ThePEG::PartonExtractor::flatSHatY
private

True if this extractor should override the \(l\)-generation in the PDFs and generate a flat distribution in \(\log(\hat{s})\) and y.

Definition at line 420 of file PartonExtractor.h.

◆ initPartonExtractor

ClassDescription<PartonExtractor> ThePEG::PartonExtractor::initPartonExtractor
staticprivate

Describe a concrete class with persistent data.

Definition at line 427 of file PartonExtractor.h.

◆ theFirstPDF

PDFPtr ThePEG::PartonExtractor::theFirstPDF
private

PDFBase object to override first PDF.

Definition at line 397 of file PartonExtractor.h.

◆ theMaxTries

int ThePEG::PartonExtractor::theMaxTries
private

The maximum number of tries allowed when trying to produce remnants.

Definition at line 413 of file PartonExtractor.h.

Referenced by maxTries().

◆ theNoPDF

PDFPtr ThePEG::PartonExtractor::theNoPDF
private

The NoPDF object.

Definition at line 407 of file PartonExtractor.h.

Referenced by noPDF().

◆ theSecondPDF

PDFPtr ThePEG::PartonExtractor::theSecondPDF
private

PDFBase object to override second PDF.

Definition at line 402 of file PartonExtractor.h.

◆ theSpecialDensities

vector<PDFPtr> ThePEG::PartonExtractor::theSpecialDensities
private

A list of special PDFBase objects to be used.

Definition at line 392 of file PartonExtractor.h.


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