herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
Herwig::MatchboxFactory Class Reference

MatchboxFactory automatically sets up a NLO QCD calculation carried out in dipole subtraction. More...

#include <MatchboxFactory.h>

Inheritance diagram for Herwig::MatchboxFactory:

Classes

struct  SplittingChannel
 Identify a splitting channel. More...
 

Public Member Functions

void summary (ostream &) const
 Print a summary of the parameters used.
 
vector< Ptr< MatchboxMEBase >::ptr > makeMEs (const vector< string > &, unsigned int orderas, bool virt)
 Generate matrix element objects for the given process.
 
Standard constructors and destructors.
 MatchboxFactory ()
 The default constructor.
 
virtual ~MatchboxFactory ()
 The destructor.
 
Process and diagram information
Ptr< Tree2toNGenerator >::tptr diagramGenerator () const
 Return the diagram generator.
 
void diagramGenerator (Ptr< Tree2toNGenerator >::ptr dg)
 Set the diagram generator.
 
Ptr< ProcessData >::tptr processData () const
 Return the process data.
 
void processData (Ptr< ProcessData >::ptr pd)
 Set the process data.
 
unsigned int nLight () const
 Return the number of light flavours, this matrix element is calculated for.
 
void nLight (unsigned int n)
 Set the number of light flavours, this matrix element is calculated for.
 
vector< long > nLightJetVec () const
 Return the vector that contains the PDG ids of the light flavours, which are contained in the jet particle group.
 
void nLightJetVec (long n)
 Set the elements of the vector that contains the PDG ids of the light flavours, which are contained in the jet particle group.
 
vector< long > nHeavyJetVec () const
 Return the vector that contains the PDG ids of the heavy flavours, which are contained in the jet particle group.
 
void nHeavyJetVec (long n)
 Set the elements of the vector that contains the PDG ids of the heavy flavours, which are contained in the jet particle group.
 
vector< long > nLightProtonVec () const
 Return the vector that contains the PDG ids of the light flavours, which are contained in the proton particle group.
 
void nLightProtonVec (long n)
 Set the elements of the vector that contains the PDG ids of the light flavours, which are contained in the proton particle group.
 
unsigned int orderInAlphaS () const
 Return the order in $\alpha_S$.
 
void orderInAlphaS (unsigned int o)
 Set the order in $\alpha_S$.
 
unsigned int orderInAlphaEW () const
 Return the order in $\alpha_{EM}$.
 
void orderInAlphaEW (unsigned int o)
 Set the order in $\alpha_{EM}$.
 
size_t highestVirt () const
 The multiplicity of legs with virtual contributions.
 
void setHighestVirt (size_t n)
 Set the highest.
 
const vector< vector< string > > getProcesses () const
 Access the processes vector.
 
bool allProcesses () const
 Return true, if all processes up to a maximum order are considered.
 
void setAllProcesses (bool on=true)
 Switch on/off inclusino off all processes up to a maximum order.
 
bool bornContributions () const
 Return true, if Born contributions should be included.
 
void setBornContributions (bool on=true)
 Switch on or off Born contributions.
 
bool virtualContributions () const
 Return true, if virtual contributions should be included.
 
void setVirtualContributions (bool on=true)
 Switch on or off virtual contributions.
 
bool meCorrectionsOnly () const
 Produce matrix element corrections, but no NLO.
 
void setMECorrectionsOnly (bool on=true)
 Switch to produce matrix element corrections, but no NLO.
 
bool loopSimCorrections () const
 Produce matrix element corrections, with LoopSim NLO.
 
void setLoopSimCorrections (bool on=true)
 Switch to produce matrix element corrections, with LoopSim NLO.
 
bool realContributions () const
 Return true, if subtracted real emission contributions should be included.
 
void setRealContributions (bool on=true)
 Switch on or off subtracted real emission contributions.
 
bool independentVirtuals () const
 Return true, if virtual contributions should be treated as independent subprocesses.
 
void setIndependentVirtuals (bool on=true)
 Switch on/off virtual contributions should be treated as independent subprocesses.
 
bool independentPKs () const
 Return true, if PK operator contributions should be treated as independent subprocesses.
 
void setIndependentPKs (bool on=true)
 Switch on/off PK operator contributions should be treated as independent subprocesses.
 
virtual bool subProcessGroups () const
 Return true, if SubProcessGroups should be setup from this MEGroup. More...
 
bool realEmissionScales () const
 Return true, if subtraction scales should be caluclated from real emission kinematics.
 
void setRealEmissionScales (bool on=true)
 Switch on/off that subtraction scales should be caluclated from real emission kinematics.
 
void showerApproximation (Ptr< ShowerApproximation >::tptr app)
 Set the shower approximation.
 
Ptr< ShowerApproximation >::tptr showerApproximation () const
 Return the shower approximation.
 
Phasespace generation and scale choice
Ptr< MatchboxPhasespace >::tptr phasespace () const
 Return the phase space generator to be used.
 
void phasespace (Ptr< MatchboxPhasespace >::ptr ps)
 Set the phase space generator to be used.
 
void scaleChoice (Ptr< MatchboxScaleChoice >::ptr sc)
 Set the scale choice object.
 
Ptr< MatchboxScaleChoice >::tptr scaleChoice () const
 Return the scale choice object.
 
double factorizationScaleFactor () const
 Get the factorization scale factor.
 
void factorizationScaleFactor (double f)
 Set the factorization scale factor.
 
double renormalizationScaleFactor () const
 Get the renormalization scale factor.
 
void renormalizationScaleFactor (double f)
 Set the renormalization scale factor.
 
bool fixedCouplings () const
 Return true, if fixed couplings are used.
 
void setFixedCouplings (bool on=true)
 Switch on fixed couplings.
 
bool fixedQEDCouplings () const
 Return true, if fixed couplings are used.
 
void setFixedQEDCouplings (bool on=true)
 Switch on fixed couplings.
 
bool vetoScales () const
 Return true, if veto scales should be set for the real emission.
 
void doVetoScales ()
 Switch on setting veto scales.
 
void noVetoScales ()
 Switch off setting veto scales.
 
Amplitudes and caching
const vector< Ptr< MatchboxAmplitude >::ptr > & amplitudes () const
 Return the amplitudes to be considered.
 
vector< Ptr< MatchboxAmplitude >::ptr > & amplitudes ()
 Access the amplitudes to be considered.
 
Matrix element objects.
const vector< Ptr< MatchboxMEBase >::ptr > & bornMEs () const
 Return the Born matrix elements to be considered.
 
vector< Ptr< MatchboxMEBase >::ptr > & bornMEs ()
 Access the Born matrix elements to be considered.
 
const vector< Ptr< MatchboxMEBase >::ptr > & loopInducedMEs () const
 Return the loop induced matrix elements to be considered.
 
vector< Ptr< MatchboxMEBase >::ptr > & loopInducedMEs ()
 Access the loop induced matrix elements to be considered.
 
const map< Ptr< MatchboxAmplitude >::tptr, map< pair< Process, int >, int > > & olpProcesses () const
 Return the processes to be ordered from an OLP.
 
map< Ptr< MatchboxAmplitude >::tptr, map< pair< Process, int >, int > > & olpProcesses ()
 Access the processes to be ordered from an OLP.
 
int orderOLPProcess (const Process &p, Ptr< MatchboxAmplitude >::tptr amp, int type)
 Order an OLP process and return its id.
 
const set< Ptr< MatchboxAmplitude >::tptr > & externalAmplitudes () const
 Return the amplitudes which need external initialization.
 
set< Ptr< MatchboxAmplitude >::tptr > & externalAmplitudes ()
 Access the amplitudes which need external initialization.
 
const vector< Ptr< MatchboxInsertionOperator >::ptr > & virtuals () const
 Return the virtual corrections to be considered.
 
vector< Ptr< MatchboxInsertionOperator >::ptr > & virtuals ()
 Access the virtual corrections to be considered.
 
const vector< Ptr< MatchboxMEBase >::ptr > & bornVirtualMEs () const
 Return the produced NLO matrix elements.
 
vector< Ptr< MatchboxMEBase >::ptr > & bornVirtualMEs ()
 Access the produced NLO matrix elements.
 
const vector< Ptr< MatchboxMEBase >::ptr > & realEmissionMEs () const
 Return the real emission matrix elements to be considered.
 
vector< Ptr< MatchboxMEBase >::ptr > & realEmissionMEs ()
 Access the real emission matrix elements to be considered.
 
int dipoleSet () const
 Return, which set of dipoles should be considered.
 
void dipoleSet (int s)
 Return, which set of dipoles should be considered.
 
const vector< Ptr< SubtractedME >::ptr > & subtractedMEs () const
 Return the produced subtracted matrix elements.
 
vector< Ptr< SubtractedME >::ptr > & subtractedMEs ()
 Access the produced subtracted matrix elements.
 
const vector< Ptr< MatchboxMEBase >::ptr > & finiteRealMEs () const
 Return the produced finite real emission matrix elements.
 
vector< Ptr< MatchboxMEBase >::ptr > & finiteRealMEs ()
 Access the produced finite real emission elements.
 
const map< cPDVector, set< Ptr< SubtractionDipole >::ptr > > & splittingDipoles () const
 Return the map of Born processes to splitting dipoles.
 
list< SplittingChannelgetSplittingChannels (tStdXCombPtr xc) const
 Generate all splitting channels for the Born process handled by the given XComb.
 
const vector< ReweightPtr > & reweighters () const
 Return the reweight objects for matrix elements.
 
vector< ReweightPtr > & reweighters ()
 Access the reweight objects for matrix elements.
 
const vector< ReweightPtr > & preweighters () const
 Return the preweight objects for matrix elements.
 
vector< ReweightPtr > & preweighters ()
 Access the preweight objects for matrix elements.
 
Setup the matrix elements
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). More...
 
void prepareME (Ptr< MatchboxMEBase >::ptr)
 Prepare a matrix element.
 
virtual void productionMode ()
 Check consistency and switch to porduction mode.
 
virtual void setup ()
 Setup everything.
 
size_t highestVirt ()
 The highest multiplicity of legs having virtual contributions. More...
 
Diagnostic information
bool verbose () const
 Return true, if verbose.
 
void setVerbose (bool on=true)
 Switch on diagnostic information.
 
bool initVerbose () const
 Return true, if verbose while initializing.
 
void setInitVerbose (bool on=true)
 Switch on diagnostic information while initializing.
 
void print (ostream &) const
 Dump the setup.
 
const string & subtractionData () const
 Return the subtraction data prefix.
 
void subtractionData (const string &s)
 Set the subtraction data prefix.
 
const int & subtractionPlotType () const
 Return the subtraction plot type.
 
void subtractionPlotType (const int &t)
 Set the subtraction plot type.
 
const bool & subtractionScatterPlot () const
 Return whether subtraction data should be plotted for all phase space points individually.
 
void subtractionScatterPlot (const bool &s)
 Set whether subtraction data should be plotted for all phase space points individually.
 
const string & poleData () const
 Return the pole data prefix.
 
void poleData (const string &s)
 Set the pole data prefix.
 
bool checkPoles () const
 Return true, if cancellationn of epsilon poles should be checked.
 
Process generation
const map< string, PDVector > & particleGroups () const
 Return the particle groups.
 
map< string, PDVector > & particleGroups ()
 Access the particle groups.
 
bool isIncoming (cPDPtr p) const
 Return true, if the given particle is incoming.
 
bool spinCorrelations () const
 Return true, if spin correlation information should be provided, if possible.
 
void setSpinCorrelations (bool yes)
 Indicate that spin correlation information should be provided, if possible.
 
Truncated qtilde shower information
tSubProPtr hardTreeSubprocess ()
 Return the subprocess of the real emission.
 
void setHardTreeSubprocess (tSubProPtr hardTree)
 Set the subprocess of the real emission for use in calculating the shower hardtree.
 
int hardTreeEmitter ()
 Return the born emitter.
 
void setHardTreeEmitter (int emitter)
 Set the born emitter for use in calculating the shower hardtree.
 
int hardTreeSpectator ()
 Return the born spectator.
 
void setHardTreeSpectator (int spectator)
 Set the born spectator for use in calculating the shower hardtree.
 
Data handling
const string & buildStorage ()
 Return (and possibly create) a directory to contain amplitude information.
 
const string & runStorage ()
 Return (and possibly create) a directory to contain integration grid information.
 
double alphaParameter () const
 alpha of http://arxiv.org/pdf/hep-ph/0307268v2.pdf to restrict dipole phase space
 
void setAlphaParameter (double a) const
 set the alpha parameter (needed for massive PK-Operator)
 
Functions used by the persistent I/O system.
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from ThePEG::SubProcessHandler
 SubProcessHandler (const SubProcessHandler &)
 
tPExtrPtr pExtractor () const
 
const MEVector & MEs () const
 
tCutsPtr cuts () const
 
tCascHdlPtr CKKWHandler () const
 
const HandlerGroupBasehandlerGroup (Group::Handler) const
 
const GroupVectorgroups () const
 
MEVector & MEs ()
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
 SubProcessHandler (const SubProcessHandler &)
 
tPExtrPtr pExtractor () const
 
const MEVector & MEs () const
 
tCutsPtr cuts () const
 
tCascHdlPtr CKKWHandler () const
 
const HandlerGroupBasehandlerGroup (Group::Handler) const
 
const GroupVectorgroups () const
 
MEVector & MEs ()
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from HandlerBaseT< UseRandom >
double rnd () const
 
double rnd (double xu) const
 
double rnd (double xl, double xu) const
 
bool rndbool () const
 
bool rndbool (double p) const
 
bool rndbool (double p1, double p2) const
 
int rndsign (double p1, double p2, double p3) const
 
int rnd2 (double p0, double p1) const
 
int rnd3 (double p0, double p1, double p2) const
 
int rnd4 (double p0, double p1, double p2, double p3) const
 
long irnd (long xu=2) const
 
long irnd (long xl, long xu) const
 
const StandardModelBase & SM () const
 
tSMPtr standardModel () const
 
- 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
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::InterfacedBase
string fullName () const
 
string name () const
 
string path () const
 
string comment () const
 
void setup (istream &is)
 
virtual void debugme () const
 
void update ()
 
void init ()
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
void update ()
 
void init ()
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::Base
void debug () 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 Public Member Functions

static const Ptr< MatchboxFactory >::tptr currentFactory ()
 Pointer to the current factory object.
 
static bool isMatchboxRun ()
 Flag to indicate that at least one MatchboxFactory object is in action.
 
static void Init ()
 The standard Init function used to initialize the interfaces. More...
 
- Static Public Member Functions inherited from ThePEG::SubProcessHandler
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::HandlerBase
static void Init ()
 
- 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 ()
 

Protected Member Functions

virtual vector< string > parseProcess (string)
 Parse a process description.
 
Clone Methods.
virtual IBPtr clone () const
 Make a simple clone of this object. More...
 
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane. More...
 
Standard Interfaced functions.
virtual void doinit ()
 Initialize this object after the setup phase before saving an EventGenerator to disk. More...
 
virtual void doinitrun ()
 Initialize this object. More...
 
- 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
 InterfacedBase (string newName)
 
 InterfacedBase (const InterfacedBase &i)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
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 &)
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 
const string & name (const string &newName)
 

Private Member Functions

string doSingleRealProcess (string)
 Command to limit the real emission process to be considered.
 
string startParticleGroup (string)
 Command to start a particle group.
 
string endParticleGroup (string)
 Command to end a particle group.
 
string doProcess (string)
 Command to set the process.
 
string doLoopInducedProcess (string)
 Command to set the process.
 
set< PDVectormakeSubProcesses (const vector< string > &) const
 Generate subprocesses.
 
string doProductionMode (string)
 Command for production mode.
 
MatchboxFactoryoperator= (const MatchboxFactory &)=delete
 The assignment operator is private and must never be called. More...
 

Static Private Member Functions

static bool & theIsMatchboxRun ()
 Flag to indicate that at least one MatchboxFactory object is in action.
 

Private Attributes

Ptr< Tree2toNGenerator >::ptr theDiagramGenerator
 The diagram generator.
 
Ptr< ProcessData >::ptr theProcessData
 The process data object to be used.
 
unsigned int theNLight
 The number of light flavours, this matrix element is calculated for.
 
vector< long > theNLightJetVec
 Vector with the PDG ids of the light quark flavours, which are contained in the jet particle group.
 
vector< long > theNHeavyJetVec
 Vector with the PDG ids of the heavy quark flavours, which are contained in the jet particle group.
 
vector< long > theNLightProtonVec
 Vector with the PDG ids of the light quark flavours, which are contained in the proton particle group.
 
unsigned int theOrderInAlphaS
 The order in $\alpha_S$.
 
unsigned int theOrderInAlphaEW
 The order in $\alpha_{EM}$.
 
unsigned int theHighestVirtualSize
 The maximum number of legs with virtual corrections.
 
bool theBornContributions
 Switch on or off Born contributions.
 
bool theVirtualContributions
 Switch on or off virtual contributions.
 
bool theRealContributions
 Switch on or off subtracted real emission contributions should be included.
 
bool theIndependentVirtuals
 True if virtual contributions should be treated as independent subprocesses.
 
bool theIndependentPKs
 True if PK operator contributions should be treated as independent subprocesses.
 
Ptr< MatchboxPhasespace >::ptr thePhasespace
 The phase space generator to be used.
 
Ptr< MatchboxScaleChoice >::ptr theScaleChoice
 The scale choice object.
 
double theFactorizationScaleFactor
 The factorization scale factor.
 
double theRenormalizationScaleFactor
 The renormalization scale factor.
 
bool theFixedCouplings
 Use non-running couplings.
 
bool theFixedQEDCouplings
 Use non-running couplings.
 
bool theVetoScales
 True, if veto scales should be set for the real emission.
 
vector< Ptr< MatchboxAmplitude >::ptr > theAmplitudes
 The amplitudes to be considered.
 
vector< Ptr< MatchboxMEBase >::ptr > theBornMEs
 The Born matrix elements to be considered.
 
vector< Ptr< MatchboxMEBase >::ptr > theLoopInducedMEs
 The loop induced matrix elements to be considered.
 
vector< Ptr< MatchboxInsertionOperator >::ptr > theVirtuals
 The virtual corrections to be considered.
 
vector< Ptr< MatchboxMEBase >::ptr > theRealEmissionMEs
 The real emission matrix elements to be considered.
 
vector< Ptr< MatchboxMEBase >::ptr > theBornVirtualMEs
 The produced NLO matrix elements.
 
vector< Ptr< SubtractedME >::ptr > theSubtractedMEs
 The produced subtracted matrix elements.
 
vector< Ptr< MatchboxMEBase >::ptr > theFiniteRealMEs
 The produced finite real emission matrix elements.
 
int theDipoleSet
 Which set of dipoles should be considered.
 
bool theVerbose
 Switch on or off verbosity.
 
bool theInitVerbose
 True, if verbose while initializing.
 
string theSubtractionData
 Prefix for subtraction data.
 
int theSubtractionPlotType
 Set the type of plot that is to be generated for subtraction checking.
 
bool theSubtractionScatterPlot
 Set whether subtraction data should be plotted for all phase space points individually.
 
string thePoleData
 Prefix for pole data.
 
vector< vector< string > > realEmissionProcesses
 The real emission process to be included; if empty, all possible ones will be considered.
 
map< string, PDVectortheParticleGroups
 Particle groups.
 
string particleGroupName
 The name of the particle group currently edited.
 
PDVector particleGroup
 The particle group currently edited.
 
vector< vector< string > > processes
 The process to consider in terms of particle groups.
 
vector< vector< string > > loopInducedProcesses
 The loop induced process to consider in terms of particle groups.
 
Ptr< ShowerApproximation >::ptr theShowerApproximation
 The shower approximation.
 
map< cPDVector, set< Ptr< SubtractionDipole >::ptr > > theSplittingDipoles
 The map of Born processes to splitting dipoles.
 
bool theRealEmissionScales
 True, if subtraction scales should be caluclated from real emission kinematics.
 
bool theAllProcesses
 Consider all processes with order in couplings specifying the maximum order.
 
map< Ptr< MatchboxAmplitude >::tptr, map< pair< Process, int >, int > > theOLPProcesses
 The processes to be ordered from an OLP.
 
set< Ptr< MatchboxAmplitude >::tptr > theExternalAmplitudes
 Amplitudes which need external initialization.
 
vector< Ptr< MatchboxAmplitude >::ptr > theSelectedAmplitudes
 Amplitudes to be selected on clashing responsibilities.
 
vector< Ptr< MatchboxAmplitude >::ptr > theDeselectedAmplitudes
 Amplitudes to be deselected on clashing responsibilities.
 
vector< ReweightPtrtheReweighters
 Reweight objects for matrix elements.
 
vector< ReweightPtrthePreweighters
 Preweight objects for matrix elements.
 
bool theMECorrectionsOnly
 Produce matrix element corrections, but no NLO.
 
int theHighestVirtualsize
 The highest multiplicity of legs having virtual contributions. More...
 
bool theLoopSimCorrections
 Produce matrix element corrections, with LoopSim NLO.
 
bool ranSetup
 True, if the setup has already been run.
 
set< long > theIncoming
 PDG ids of incoming particles.
 
bool theFirstPerturbativePDF
 True, if first incoming partons originate from perturbative PDF.
 
bool theSecondPerturbativePDF
 True, if second incoming partons originate from perturbative PDF.
 
bool inProductionMode
 True, if this Factory is in production mode.
 
tSubProPtr theHardtreeSubprocess
 The real emission subprocess used when calculating the hardtree in the truncated qtilde shower.
 
int theHardtreeEmitter
 The born emitter used when calculating the hardtree in the truncated shower.
 
int theHardtreeSpectator
 The born spectator used when calculating the hardtree in the truncated shower.
 
bool theSpinCorrelations
 True, if spin correlation information should be provided, if possible.
 
double theAlphaParameter
 The alpha parameter to be used for the dipole subtraction JB: The parameter is muatble, since we need to be able to change it while calculating the difference of IPK with and without alpha.
 
bool theEnforceChargeConservation
 Wether or not charge conservation should be enforced for the processes constructed.
 
bool theEnforceColourConservation
 Wether or not colour conservation should be enforced for the processes constructed.
 
bool theEnforceLeptonNumberConservation
 Wether or not lepton number conservation should be enforced for the processes constructed.
 
bool theEnforceQuarkNumberConservation
 Wether or not quark number conservation should be enforced for the processes constructed.
 
bool theLeptonFlavourDiagonal
 Assume flavour diagonal lepton interactions.
 
bool theQuarkFlavourDiagonal
 Assume flavour diagonal quark interactions.
 

Static Private Attributes

static Ptr< MatchboxFactory >::tptr theCurrentFactory
 Pointer to the current factory object.
 

Additional Inherited Members

- Public Types inherited from ThePEG::SubProcessHandler
typedef vector< HandlerGroupBase *> GroupVector
 
typedef vector< ReweightPtrReweightVector
 
- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- Public Attributes inherited from ThePEG::InterfacedBase
 initializing
 
 uninitialized
 
 initialized
 
 runready
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 
static void registerRepository (IBPtr, string newName)
 

Detailed Description

MatchboxFactory automatically sets up a NLO QCD calculation carried out in dipole subtraction.

Author
Simon Platzer
See also
The interfaces defined for MatchboxFactory.

Definition at line 40 of file MatchboxFactory.h.

Member Function Documentation

◆ clone()

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

Make a simple clone of this object.

Returns
a pointer to the new object.

Reimplemented from ThePEG::SubProcessHandler.

Reimplemented in Herwig::MergingFactory.

◆ doinit()

virtual void Herwig::MatchboxFactory::doinit ( )
protectedvirtual

Initialize this object after the setup phase before saving an EventGenerator to disk.

Exceptions
InitExceptionif object could not be initialized properly.

Reimplemented from ThePEG::SubProcessHandler.

Reimplemented in Herwig::MergingFactory.

◆ doinitrun()

virtual void Herwig::MatchboxFactory::doinitrun ( )
protectedvirtual

Initialize this object.

Called in the run phase just before a run begins.

Reimplemented from ThePEG::SubProcessHandler.

◆ fullclone()

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

Reimplemented in Herwig::MergingFactory.

◆ highestVirt()

size_t Herwig::MatchboxFactory::highestVirt ( )
inline

The highest multiplicity of legs having virtual contributions.

(needed for madgraph)

Definition at line 616 of file MatchboxFactory.h.

◆ Init()

static void Herwig::MatchboxFactory::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.

◆ operator=()

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

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ persistentInput()

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

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ preInitialize()

virtual bool Herwig::MatchboxFactory::preInitialize ( ) const
inlinevirtual

Return true if this object needs to be initialized before all other objects (except those for which this function also returns true).

This default version always returns false, but subclasses may override it to return true.

Reimplemented from ThePEG::InterfacedBase.

Definition at line 595 of file MatchboxFactory.h.

◆ subProcessGroups()

virtual bool Herwig::MatchboxFactory::subProcessGroups ( ) const
inlinevirtual

Return true, if SubProcessGroups should be setup from this MEGroup.

If not, a single SubProcess is constructed from the data provided by the head matrix element.

Reimplemented in Herwig::MergingFactory.

Definition at line 281 of file MatchboxFactory.h.

Member Data Documentation

◆ theHighestVirtualsize

int Herwig::MatchboxFactory::theHighestVirtualsize
private

The highest multiplicity of legs having virtual contributions.

(needed for madgraph)

Definition at line 1190 of file MatchboxFactory.h.


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