herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
QTildeMatching.h
1// -*- C++ -*-
2//
3// QTildeMatching.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4// Copyright (C) 2002-2019 The Herwig Collaboration
5//
6// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8//
9#ifndef Herwig_QTildeMatching_H
10#define Herwig_QTildeMatching_H
11//
12// This is the declaration of the QTildeMatching class.
13//
14
15#include "Herwig/MatrixElement/Matchbox/Matching/ShowerApproximation.h"
16#include "Herwig/Shower/ShowerHandler.h"
17#include "Herwig/Shower/QTilde/Base/PartnerFinder.h"
18#include "Herwig/Shower/QTilde/SplittingFunctions/SudakovFormFactor.h"
19
20namespace Herwig {
21
22using namespace ThePEG;
23
32
33public:
34
39
40public:
41
47 virtual CrossSection dSigHatDR() const;
48
55 virtual double me2() const;
56
60 virtual void checkCutoff();
61
67 virtual void getShowerVariables();
68
69protected:
70
75 virtual bool isInShowerPhasespace() const;
76
82 virtual bool isAboveCutoff() const;
83
88
93 double splitFn(const pair<Energy2,double>&) const;
94
95public:
96
104
110 void persistentInput(PersistentIStream & is, int version);
112
119 static void Init();
120
121protected:
122
129 virtual IBPtr clone() const;
130
135 virtual IBPtr fullclone() const;
137
138
139// If needed, insert declarations of virtual function defined in the
140// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
141
142protected:
143
151 virtual void doinit();
152
157 virtual void doinitrun();
159
160private:
161
167
171 Ptr<ShowerHandler>::ptr theShowerHandler;
172
176 Ptr<PartnerFinder>::ptr theQTildeFinder;
177
181 Ptr<SudakovFormFactor>::ptr theQTildeSudakov;
182
188
189};
190
191}
192
193#endif /* Herwig_QTildeMatching_H */
QTildeMatching implements NLO matching with the default shower.
QTildeMatching()
The default constructor.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual bool isAboveCutoff() const
Return true, if the shower emission leading from the given Born to the given real emission process wo...
void calculateShowerVariables() const
Calculate qtilde^2 and z for the splitting considered.
Ptr< ShowerHandler >::ptr theShowerHandler
The shower handler to be used.
static void Init()
The standard Init function used to initialize the interfaces.
virtual bool isInShowerPhasespace() const
Return true, if the shower was able to generate an emission leading from the given Born to the given ...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual double me2() const
Return the shower approximation splitting kernel for the given pair of Born and real emission configu...
Ptr< PartnerFinder >::ptr theQTildeFinder
The qtilde partner finder for calculating the hard scales.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
bool theCorrectForXZMismatch
True, if PDF weight should be corrected for z/x mismatch at the hard phase space boundary.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void getShowerVariables()
Determine all kinematic variables which are not provided by the dipole kinematics; store all shower v...
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
double splitFn(const pair< Energy2, double > &) const
Return the splitting function as a function of the kinematic variables.
Ptr< SudakovFormFactor >::ptr theQTildeSudakov
The qtilde Sudakov to access the cutoff.
virtual void checkCutoff()
Determine if the configuration is below or above the cutoff.
virtual CrossSection dSigHatDR() const
Return the shower approximation to the real emission cross section for the given pair of Born and rea...
virtual void doinitrun()
Initialize this object.
QTildeMatching & operator=(const QTildeMatching &)=delete
The assignment operator is private and must never be called.
ShowerApproximation describes the shower emission to be used in NLO matching.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr