herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
Herwig::MPIHandler Class Reference

This class is responsible for generating additional semi hard partonic interactions. More...

#include <MPIHandler.h>

Inheritance diagram for Herwig::MPIHandler:

Public Types

typedef vector< SubHdlPtr > SubHandlerList
 A vector of SubProcessHandlers.
 
typedef vector< CutsPtr > CutsList
 A vector of Cuts.
 
typedef vector< ProHdlPtr > ProcessHandlerList
 A vector of ProcessHandlers.
 
typedef vector< CrossSection > XSVector
 A vector of cross sections.
 
typedef pair< unsigned int, unsigned int > MPair
 A pair of multiplicities: hard, soft.
 
- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 

Public Member Functions

 MPIHandler ()
 The default constructor.
 
Methods for the MPI generation.
virtual bool beamOK () const
 Return true or false depending on the generator setup.
 
virtual bool softInt () const
 Return true or false depending on whether soft interactions are enabled.
 
virtual unsigned int softMultiplicity () const
 Get the soft multiplicity from the pretabulated multiplicity distribution.
 
virtual unsigned int multiplicity (unsigned int sel=0)
 Sample from the pretabulated multiplicity distribution.
 
virtual tStdXCombPtr generate (unsigned int sel=0)
 Select a StandardXComb according to it's weight.
 
- Public Member Functions inherited from Herwig::UEBase
- 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
 

Static Private Attributes

static const unsigned int maxScatters_ = 99
 Maximum number of scatters.
 

Friends

struct Eikonalization
 Class for the integration is a friend to access private members.
 
struct TotalXSecBisection
 
struct slopeAndTotalXSec
 
struct slopeInt
 
struct slopeBisection
 

Clone Methods.

static MPIHandlercurrentHandler_
 The current handler.
 
tEHPtr theHandler
 A pointer to the EventHandler that calls us.
 
SubHandlerList theSubProcesses
 The list of SubProcessHandlers.
 
CutsList theCuts
 The kinematical cuts used for this collision handler.
 
ProcessHandlerList theProcessHandlers
 List of ProcessHandler used to sample different processes independently.
 
Selector< MPairtheMultiplicities
 A ThePEG::Selector where the individual Probabilities P_N are stored and the actual Multiplicities can be selected.
 
unsigned int softMult_
 Variable to store the soft multiplicity generated for a event.
 
vector< int > additionalMultiplicities_
 Variable to store the multiplicity of the second hard process.
 
int identicalToUE_
 Variable to store the information, which process is identical to the UE one (QCD dijets).
 
Energy PtOfQCDProc_
 Variable to store the minimal pt of the process that is identical to the UE one.
 
Energy Ptmin_
 Variable to store the parameter ptmin.
 
CrossSection hardXSec_
 Variable to store the hard cross section above ptmin.
 
CrossSection softXSec_
 Variable to store the final soft cross section below ptmin.
 
CrossSection inelXSec_
 Variable to store the inelastic cross section.
 
CrossSection totalXSecExp_
 Variable to store the total pp cross section (assuming rho=0!) as measured at LHC.
 
Energy2 softMu2_
 Variable to store the soft radius, that is calculated during initialization for the two-component model.
 
InvEnergy2 beta_
 slope to the non-perturbative pt spectrum: \(d\sigma/dp_T^2 = A \exp (- beta p_T^2)\).
 
int algorithm_
 Switch to be set from outside to determine the algorithm used for UE activity.
 
Energy2 invRadius_
 Inverse hadron Radius squared \( (\mu^2) \).
 
unsigned int numSubProcs_
 Member variable to store the actual number of separate SubProcesses.
 
double colourDisrupt_
 Variable to store the relative number of colour disrupted connections to additional subprocesses.
 
bool softInt_
 Flag to store whether soft interactions, i.e.
 
bool twoComp_
 Flag to steer wheather the soft part has a different radius, that will be dynamically fixed.
 
unsigned int DLmode_
 Switch to determine which Donnachie & Landshoff parametrization should be used.
 
double avgNhard_
 Variable to store the average hard multiplicity.
 
double avgNsoft_
 Variable to store the average soft multiplicity.
 
unsigned int energyExtrapolation_
 Flag to store whether to calculate the minimal UE pt according to an extrapolation formula or whether to use MPIHandler:Cuts[0]:OneCuts[0]:MinKT.
 
Energy EEparamA_
 Parameters for the energy extrapolation formula.
 
Energy EEparamB_
 
Energy refScale_
 
Energy pT0_
 
double b_
 
Energy offset_
 
double diffratio_ =0.2
 Parameters to set the fraction of diffractive cross section in the inelastic cross section.
 
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.
 
const SubHandlerListsubProcesses () const
 Access the list of sub-process handlers.
 
SubHandlerListsubProcesses ()
 Access the list of sub-process handlers.
 
const CutsListcuts () const
 Access the list of cuts.
 
CutsListcuts ()
 Access the list of cuts.
 
const ProcessHandlerListprocessHandlers () const
 Access the list of sub-process handlers.
 
ProcessHandlerListprocessHandlers ()
 Access the list of sub-process handlers.
 
void Probs (XSVector UEXSecs)
 Method to calculate the individual probabilities for N scatters in the event.
 
void MultDistribution (string filename) const
 Debug method to check the individual probabilities.
 
InvArea OverlapFunction (Length b, Energy2 mu2=ZERO) const
 Return the value of the Overlap function A(b) for a given impact parameter b.
 
double poisson (Length b, CrossSection sigma, unsigned int N, Energy2 mu2=ZERO) const
 Method to calculate the poisson probability for expectation value \(<n> = A(b)\sigma\), and multiplicity N.
 
CrossSection totalXSecExp () const
 Returns the total cross section for the current CMenergy.
 
CrossSection totalXSecDiff (CrossSection softXSec, Energy2 softMu2=ZERO) const
 Difference of the calculated total cross section and the experimental one from totalXSecExp.
 
InvEnergy2 slopeDiff (CrossSection softXSec, Energy2 softMu2=ZERO) const
 Difference of the calculated elastic slope and the experimental one from slopeExp.
 
InvEnergy2 slopeExp () const
 Returns the value of the elastic slope for the current CMenergy.
 
void overrideUECuts ()
 Calculate the minimal transverse momentum from the extrapolation.
 
MPIHandleroperator= (const MPIHandler &)=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.
 
virtual void initialize ()
 Initialize this Multiple Interaction handler and all related objects needed to generate additional events.
 
virtual void finalize ()
 Finalize this Multiple Interaction handler and all related objects needed to generate additional events.
 
virtual void clean ()
 Clean up the XCombs from our subprocesses after each event.
 
void statistics () const
 Write out accumulated statistics about integrated cross sections.
 
int statLevel () const
 The level of statistics.
 
CrossSection hardXSec () const
 Return the hard cross section above ptmin.
 
CrossSection softXSec () const
 Return the soft cross section below ptmin.
 
CrossSection inelasticXSec () const
 Return the inelastic cross section.
 
CrossSection nonDiffractiveXSec () const
 Return the non-diffractive cross section assumed by the model.
 
CrossSection diffractiveXSec () const
 Return the diffractive cross section assumed by the model.
 
static void Init ()
 The standard Init function used to initialize the interfaces.
 

Simple access functions.

tEHPtr eventHandler () const
 Return the ThePEG::EventHandler assigned to this handler.
 
virtual int Algorithm () const
 Return theAlgorithm.
 
virtual Energy Ptmin () const
 Return the ptmin parameter of the model.
 
virtual InvEnergy2 beta () const
 Return the slope of the soft pt spectrum as calculated.
 
virtual Energy PtForVeto () const
 Return the pt Cutoff of the Interaction that is identical to the UE one.
 
virtual unsigned int additionalHardProcs () const
 Return the number of additional "hard" processes ( = multiple parton scattering)
 
virtual double colourDisrupt () const
 Return the fraction of colour disrupted connections to the suprocesses.
 
static const MPIHandlercurrentHandler ()
 Return the current handler.
 

Additional Inherited Members

- Static Public Member Functions inherited from Herwig::UEBase
static void Init ()
 The standard Init function used to initialize the interfaces.
 
- 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 &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (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)
 

Detailed Description

This class is responsible for generating additional semi hard partonic interactions.

Author
Manuel B"ahr
See also
The interfaces defined for MPIHandler.
ProcessHandler
ShowerHandler
HwRemDecayer

Definition at line 45 of file MPIHandler.h.

Member Typedef Documentation

◆ CutsList

typedef vector<CutsPtr> Herwig::MPIHandler::CutsList

A vector of Cuts.

Definition at line 67 of file MPIHandler.h.

◆ MPair

typedef pair<unsigned int, unsigned int> Herwig::MPIHandler::MPair

A pair of multiplicities: hard, soft.

Definition at line 76 of file MPIHandler.h.

◆ ProcessHandlerList

typedef vector<ProHdlPtr> Herwig::MPIHandler::ProcessHandlerList

A vector of ProcessHandlers.

Definition at line 70 of file MPIHandler.h.

◆ SubHandlerList

typedef vector<SubHdlPtr> Herwig::MPIHandler::SubHandlerList

A vector of SubProcessHandlers.

Definition at line 64 of file MPIHandler.h.

◆ XSVector

typedef vector<CrossSection> Herwig::MPIHandler::XSVector

A vector of cross sections.

Definition at line 73 of file MPIHandler.h.

Constructor & Destructor Documentation

◆ MPIHandler()

Herwig::MPIHandler::MPIHandler ( )
inline

The default constructor.

Definition at line 81 of file MPIHandler.h.

Member Function Documentation

◆ additionalHardProcs()

virtual unsigned int Herwig::MPIHandler::additionalHardProcs ( ) const
inlinevirtual

Return the number of additional "hard" processes ( = multiple parton scattering)

Reimplemented from Herwig::UEBase.

Definition at line 276 of file MPIHandler.h.

References numSubProcs_.

◆ Algorithm()

virtual int Herwig::MPIHandler::Algorithm ( ) const
inlinevirtual

Return theAlgorithm.

Implements Herwig::UEBase.

Definition at line 242 of file MPIHandler.h.

References algorithm_.

◆ beamOK()

virtual bool Herwig::MPIHandler::beamOK ( ) const
virtual

Return true or false depending on the generator setup.

Implements Herwig::UEBase.

◆ beta()

virtual InvEnergy2 Herwig::MPIHandler::beta ( ) const
inlinevirtual

Return the slope of the soft pt spectrum as calculated.

Reimplemented from Herwig::UEBase.

Definition at line 258 of file MPIHandler.h.

References beta_, and ThePEG::Exception::runerror.

◆ clean()

virtual void Herwig::MPIHandler::clean ( )
virtual

Clean up the XCombs from our subprocesses after each event.

ThePEG cannot see them, so the usual cleaning misses these.

Reimplemented from Herwig::UEBase.

◆ clone()

virtual IBPtr Herwig::MPIHandler::clone ( ) const
protectedvirtual

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

◆ colourDisrupt()

virtual double Herwig::MPIHandler::colourDisrupt ( ) const
inlinevirtual

Return the fraction of colour disrupted connections to the suprocesses.

Reimplemented from Herwig::UEBase.

Definition at line 282 of file MPIHandler.h.

References colourDisrupt_.

◆ currentHandler()

static const MPIHandler * Herwig::MPIHandler::currentHandler ( )
inlinestatic

Return the current handler.

Definition at line 235 of file MPIHandler.h.

References currentHandler_.

◆ cuts() [1/2]

CutsList & Herwig::MPIHandler::cuts ( )
inlineprivate

Access the list of cuts.

Definition at line 322 of file MPIHandler.h.

References theCuts.

◆ cuts() [2/2]

const CutsList & Herwig::MPIHandler::cuts ( ) const
inlineprivate

Access the list of cuts.

Definition at line 317 of file MPIHandler.h.

References theCuts.

◆ diffractiveXSec()

CrossSection Herwig::MPIHandler::diffractiveXSec ( ) const
inlinevirtual

Return the diffractive cross section assumed by the model.

For now the diffractive cross section is seen as a fixed part of the inelastic cross section. TODO: Energy dependence and/or Include diffraction in Eikonalisation.

Implements Herwig::UEBase.

Definition at line 214 of file MPIHandler.h.

References diffratio_, and inelXSec_.

◆ eventHandler()

tEHPtr Herwig::MPIHandler::eventHandler ( ) const
inline

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 initialize()) to the ThePEG::EventHandler.

Definition at line 230 of file MPIHandler.h.

References theHandler.

Referenced by statLevel().

◆ finalize()

virtual void Herwig::MPIHandler::finalize ( )
virtual

Finalize this Multiple Interaction handler and all related objects needed to generate additional events.

Reimplemented from Herwig::UEBase.

◆ fullclone()

virtual IBPtr Herwig::MPIHandler::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.

◆ generate()

virtual tStdXCombPtr Herwig::MPIHandler::generate ( unsigned int  sel = 0)
virtual

Select a StandardXComb according to it's weight.

Returns
that StandardXComb Object
Parameters
selis the subprocess that should be returned, if more than one is specified.

Implements Herwig::UEBase.

◆ hardXSec()

CrossSection Herwig::MPIHandler::hardXSec ( ) const
inline

Return the hard cross section above ptmin.

Definition at line 188 of file MPIHandler.h.

References hardXSec_.

◆ inelasticXSec()

CrossSection Herwig::MPIHandler::inelasticXSec ( ) const
inlinevirtual

Return the inelastic cross section.

Implements Herwig::UEBase.

Definition at line 198 of file MPIHandler.h.

References inelXSec_.

◆ Init()

static void Herwig::MPIHandler::Init ( )
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.

◆ initialize()

virtual void Herwig::MPIHandler::initialize ( )
virtual

Initialize this Multiple Interaction handler and all related objects needed to generate additional events.

Reimplemented from Herwig::UEBase.

◆ MultDistribution()

void Herwig::MPIHandler::MultDistribution ( string  filename) const
private

Debug method to check the individual probabilities.

Parameters
filenameis the file the output gets written to

◆ multiplicity()

virtual unsigned int Herwig::MPIHandler::multiplicity ( unsigned int  sel = 0)
virtual

Sample from the pretabulated multiplicity distribution.

Returns
the number of extra events in this collision

Implements Herwig::UEBase.

◆ nonDiffractiveXSec()

CrossSection Herwig::MPIHandler::nonDiffractiveXSec ( ) const
inlinevirtual

Return the non-diffractive cross section assumed by the model.

TODO: See comment at diffractiveXSec.

Implements Herwig::UEBase.

Definition at line 204 of file MPIHandler.h.

References diffratio_, and inelXSec_.

◆ operator=()

MPIHandler & Herwig::MPIHandler::operator= ( const MPIHandler )
privatedelete

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ OverlapFunction()

InvArea Herwig::MPIHandler::OverlapFunction ( Length  b,
Energy2  mu2 = ZERO 
) const
private

Return the value of the Overlap function A(b) for a given impact parameter b.

Parameters
bimpact parameter
mu2= inv hadron radius squared. 0 will use the value of invRadius_
Returns
inverse area.

◆ persistentInput()

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

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ Probs()

void Herwig::MPIHandler::Probs ( XSVector  UEXSecs)
private

Method to calculate the individual probabilities for N scatters in the event.

Parameters
UEXSecsis(are) the inclusiv cross section(s) for the UE process(es).

◆ processHandlers() [1/2]

ProcessHandlerList & Herwig::MPIHandler::processHandlers ( )
inlineprivate

Access the list of sub-process handlers.

Definition at line 333 of file MPIHandler.h.

References theProcessHandlers.

◆ processHandlers() [2/2]

const ProcessHandlerList & Herwig::MPIHandler::processHandlers ( ) const
inlineprivate

Access the list of sub-process handlers.

Definition at line 327 of file MPIHandler.h.

References theProcessHandlers.

◆ PtForVeto()

virtual Energy Herwig::MPIHandler::PtForVeto ( ) const
inlinevirtual

Return the pt Cutoff of the Interaction that is identical to the UE one.

Implements Herwig::UEBase.

Definition at line 270 of file MPIHandler.h.

References PtOfQCDProc_.

◆ Ptmin()

virtual Energy Herwig::MPIHandler::Ptmin ( ) const
inlinevirtual

Return the ptmin parameter of the model.

Implements Herwig::UEBase.

Definition at line 247 of file MPIHandler.h.

References Ptmin_, ThePEG::Exception::runerror, and ThePEG::ZERO.

◆ slopeDiff()

InvEnergy2 Herwig::MPIHandler::slopeDiff ( CrossSection  softXSec,
Energy2  softMu2 = ZERO 
) const
private

Difference of the calculated elastic slope and the experimental one from slopeExp.

Parameters
softXSec= the soft cross section that is used
softMu2= the soft radius, if 0 the hard radius will be used

◆ slopeExp()

InvEnergy2 Herwig::MPIHandler::slopeExp ( ) const
private

Returns the value of the elastic slope for the current CMenergy.

The decision which parametrization will be used is steered by a external parameter of this class.

◆ softInt()

virtual bool Herwig::MPIHandler::softInt ( ) const
inlinevirtual

Return true or false depending on whether soft interactions are enabled.

Reimplemented from Herwig::UEBase.

Definition at line 106 of file MPIHandler.h.

References softInt_.

◆ softMultiplicity()

virtual unsigned int Herwig::MPIHandler::softMultiplicity ( ) const
inlinevirtual

Get the soft multiplicity from the pretabulated multiplicity distribution.

Generated in multiplicity in the first place.

Returns
the number of extra soft events in this collision

Reimplemented from Herwig::UEBase.

Definition at line 113 of file MPIHandler.h.

References softMult_.

◆ softXSec()

CrossSection Herwig::MPIHandler::softXSec ( ) const
inline

Return the soft cross section below ptmin.

Definition at line 193 of file MPIHandler.h.

References softXSec_.

◆ statLevel()

int Herwig::MPIHandler::statLevel ( ) const
inline

The level of statistics.

Controlls the amount of statistics written out after each run to the EventGenerators .out file. Simply the EventHandler method is called here.

Definition at line 183 of file MPIHandler.h.

References eventHandler().

◆ subProcesses() [1/2]

SubHandlerList & Herwig::MPIHandler::subProcesses ( )
inlineprivate

Access the list of sub-process handlers.

Definition at line 312 of file MPIHandler.h.

References theSubProcesses.

◆ subProcesses() [2/2]

const SubHandlerList & Herwig::MPIHandler::subProcesses ( ) const
inlineprivate

Access the list of sub-process handlers.

Definition at line 306 of file MPIHandler.h.

References theSubProcesses.

◆ totalXSecDiff()

CrossSection Herwig::MPIHandler::totalXSecDiff ( CrossSection  softXSec,
Energy2  softMu2 = ZERO 
) const
private

Difference of the calculated total cross section and the experimental one from totalXSecExp.

Parameters
softXSec= the soft cross section that is used
softMu2= the soft radius, if 0 the hard radius will be used

◆ totalXSecExp()

CrossSection Herwig::MPIHandler::totalXSecExp ( ) const
private

Returns the total cross section for the current CMenergy.

The decision which parametrization will be used is steered by a external parameter of this class.

Friends And Related Function Documentation

◆ Eikonalization

friend struct Eikonalization
friend

Class for the integration is a friend to access private members.

Definition at line 55 of file MPIHandler.h.

◆ slopeAndTotalXSec

friend struct slopeAndTotalXSec
friend

Definition at line 57 of file MPIHandler.h.

◆ slopeBisection

friend struct slopeBisection
friend

Definition at line 59 of file MPIHandler.h.

◆ slopeInt

friend struct slopeInt
friend

Definition at line 58 of file MPIHandler.h.

◆ TotalXSecBisection

friend struct TotalXSecBisection
friend

Definition at line 56 of file MPIHandler.h.

Member Data Documentation

◆ additionalMultiplicities_

vector<int> Herwig::MPIHandler::additionalMultiplicities_
private

Variable to store the multiplicity of the second hard process.

Definition at line 451 of file MPIHandler.h.

◆ algorithm_

int Herwig::MPIHandler::algorithm_
private

Switch to be set from outside to determine the algorithm used for UE activity.

Definition at line 512 of file MPIHandler.h.

Referenced by Algorithm().

◆ avgNhard_

double Herwig::MPIHandler::avgNhard_
private

Variable to store the average hard multiplicity.

Definition at line 553 of file MPIHandler.h.

◆ avgNsoft_

double Herwig::MPIHandler::avgNsoft_
private

Variable to store the average soft multiplicity.

Definition at line 558 of file MPIHandler.h.

◆ b_

double Herwig::MPIHandler::b_
private

Definition at line 578 of file MPIHandler.h.

◆ beta_

InvEnergy2 Herwig::MPIHandler::beta_
private

slope to the non-perturbative pt spectrum: \(d\sigma/dp_T^2 = A \exp (- beta p_T^2)\).

Its value is determined durint initialization.

Definition at line 507 of file MPIHandler.h.

Referenced by beta().

◆ colourDisrupt_

double Herwig::MPIHandler::colourDisrupt_
private

Variable to store the relative number of colour disrupted connections to additional subprocesses.

This variable is used in Herwig::HwRemDecayer but store here, to have access to all parameters through one Object.

Definition at line 530 of file MPIHandler.h.

Referenced by colourDisrupt().

◆ currentHandler_

MPIHandler* Herwig::MPIHandler::currentHandler_
staticprivate

The current handler.

Definition at line 563 of file MPIHandler.h.

Referenced by currentHandler().

◆ diffratio_

double Herwig::MPIHandler::diffratio_ =0.2
private

Parameters to set the fraction of diffractive cross section in the inelastic cross section.

Definition at line 584 of file MPIHandler.h.

Referenced by diffractiveXSec(), and nonDiffractiveXSec().

◆ DLmode_

unsigned int Herwig::MPIHandler::DLmode_
private

Switch to determine which Donnachie & Landshoff parametrization should be used.

Definition at line 548 of file MPIHandler.h.

◆ EEparamA_

Energy Herwig::MPIHandler::EEparamA_
private

Parameters for the energy extrapolation formula.

Definition at line 574 of file MPIHandler.h.

◆ EEparamB_

Energy Herwig::MPIHandler::EEparamB_
private

Definition at line 575 of file MPIHandler.h.

◆ energyExtrapolation_

unsigned int Herwig::MPIHandler::energyExtrapolation_
private

Flag to store whether to calculate the minimal UE pt according to an extrapolation formula or whether to use MPIHandler:Cuts[0]:OneCuts[0]:MinKT.

Definition at line 569 of file MPIHandler.h.

◆ hardXSec_

CrossSection Herwig::MPIHandler::hardXSec_
private

Variable to store the hard cross section above ptmin.

Definition at line 477 of file MPIHandler.h.

Referenced by hardXSec().

◆ identicalToUE_

int Herwig::MPIHandler::identicalToUE_
private

Variable to store the information, which process is identical to the UE one (QCD dijets).

0 means "real" hard one n>0 means the nth additional hard scatter -1 means no one!

Definition at line 460 of file MPIHandler.h.

◆ inelXSec_

CrossSection Herwig::MPIHandler::inelXSec_
private

Variable to store the inelastic cross section.

Definition at line 487 of file MPIHandler.h.

Referenced by diffractiveXSec(), inelasticXSec(), and nonDiffractiveXSec().

◆ invRadius_

Energy2 Herwig::MPIHandler::invRadius_
private

Inverse hadron Radius squared \( (\mu^2) \).

Used inside the overlap function.

Definition at line 517 of file MPIHandler.h.

◆ maxScatters_

const unsigned int Herwig::MPIHandler::maxScatters_ = 99
staticprivate

Maximum number of scatters.

Definition at line 50 of file MPIHandler.h.

◆ numSubProcs_

unsigned int Herwig::MPIHandler::numSubProcs_
private

Member variable to store the actual number of separate SubProcesses.

Definition at line 522 of file MPIHandler.h.

Referenced by additionalHardProcs().

◆ offset_

Energy Herwig::MPIHandler::offset_
private

Definition at line 579 of file MPIHandler.h.

◆ pT0_

Energy Herwig::MPIHandler::pT0_
private

Definition at line 577 of file MPIHandler.h.

◆ Ptmin_

Energy Herwig::MPIHandler::Ptmin_
private

Variable to store the parameter ptmin.

Definition at line 472 of file MPIHandler.h.

Referenced by Ptmin().

◆ PtOfQCDProc_

Energy Herwig::MPIHandler::PtOfQCDProc_
private

Variable to store the minimal pt of the process that is identical to the UE one.

This only has to be set, if it can't be determined automatically (i.e. when reading QCD LesHouches files in).

Definition at line 467 of file MPIHandler.h.

Referenced by PtForVeto().

◆ refScale_

Energy Herwig::MPIHandler::refScale_
private

Definition at line 576 of file MPIHandler.h.

◆ softInt_

bool Herwig::MPIHandler::softInt_
private

Flag to store whether soft interactions, i.e.

pt < ptmin should be simulated.

Definition at line 536 of file MPIHandler.h.

Referenced by softInt().

◆ softMu2_

Energy2 Herwig::MPIHandler::softMu2_
private

Variable to store the soft radius, that is calculated during initialization for the two-component model.

Definition at line 501 of file MPIHandler.h.

◆ softMult_

unsigned int Herwig::MPIHandler::softMult_
private

Variable to store the soft multiplicity generated for a event.

This has to be stored as it is generated at the time of the hard additional interactions but used later on.

Definition at line 446 of file MPIHandler.h.

Referenced by softMultiplicity().

◆ softXSec_

CrossSection Herwig::MPIHandler::softXSec_
private

Variable to store the final soft cross section below ptmin.

Definition at line 482 of file MPIHandler.h.

Referenced by softXSec().

◆ theCuts

CutsList Herwig::MPIHandler::theCuts
private

The kinematical cuts used for this collision handler.

Definition at line 428 of file MPIHandler.h.

Referenced by cuts().

◆ theHandler

tEHPtr Herwig::MPIHandler::theHandler
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 418 of file MPIHandler.h.

Referenced by eventHandler().

◆ theMultiplicities

Selector<MPair> Herwig::MPIHandler::theMultiplicities
private

A ThePEG::Selector where the individual Probabilities P_N are stored and the actual Multiplicities can be selected.

Definition at line 439 of file MPIHandler.h.

◆ theProcessHandlers

ProcessHandlerList Herwig::MPIHandler::theProcessHandlers
private

List of ProcessHandler used to sample different processes independently.

Definition at line 433 of file MPIHandler.h.

Referenced by processHandlers().

◆ theSubProcesses

SubHandlerList Herwig::MPIHandler::theSubProcesses
private

The list of SubProcessHandlers.

Definition at line 423 of file MPIHandler.h.

Referenced by subProcesses().

◆ totalXSecExp_

CrossSection Herwig::MPIHandler::totalXSecExp_
private

Variable to store the total pp cross section (assuming rho=0!) as measured at LHC.

If this variable is set, this value is used in the subsequent run instead of any of the Donnachie-Landshoff parametrizations.

Definition at line 495 of file MPIHandler.h.

◆ twoComp_

bool Herwig::MPIHandler::twoComp_
private

Flag to steer wheather the soft part has a different radius, that will be dynamically fixed.

Definition at line 542 of file MPIHandler.h.


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