The DISBase class is the base class for the implementation of DIS type processes including corrections in both the old fashioned matrix element and POWHEG approaches. More...
#include <DISBase.h>
Public Member Functions | |
DISBase () | |
The default constructor. | |
virtual | ~DISBase () |
The default constructor. | |
virtual bool | hasMECorrection () |
Members for the old-fashioned matrix element correction. | |
virtual void | initializeMECorrection (RealEmissionProcessPtr, double &, double &) |
Initialize the ME correction. | |
virtual RealEmissionProcessPtr | applyHardMatrixElementCorrection (RealEmissionProcessPtr) |
Apply the hard matrix element correction to a given hard process or decay. | |
virtual bool | softMatrixElementVeto (PPtr parent, PPtr progenitor, const bool &fs, const Energy &highestpT, const vector< tcPDPtr > &ids, const double &z, const Energy &scale, const Energy &pT) |
Apply the soft matrix element correction. | |
virtual POWHEGType | hasPOWHEGCorrection () |
Members for the POWHEG stype correction. | |
virtual RealEmissionProcessPtr | generateHardest (RealEmissionProcessPtr, ShowerInteraction) |
Apply the POWHEG style correction. | |
Virtual functions required by the MEBase class. | |
virtual Energy2 | scale () const |
Return the scale associated with the last set phase space point. | |
virtual int | nDim () const |
The number of internal degrees of freedom used in the matrix element. | |
virtual bool | generateKinematics (const double *r) |
Generate internal degrees of freedom given nDim() uniform random numbers in the interval \( ]0,1[ \). | |
virtual CrossSection | dSigHatDR () const |
Return the matrix element squared differential in the variables given by the last call to generateKinematics(). | |
![]() | |
HwMEBase () | |
Default constructor. | |
virtual void | setKinematics () |
Set the typed and momenta of the incoming and outgoing partons to be used in subsequent calls to me() and colourGeometries() according to the associated XComb object. | |
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 unsigned int | orderInAlphaS () const=0 |
virtual unsigned int | orderInAlphaEW () const=0 |
virtual double | me2 () const=0 |
virtual Energy2 | scale () const=0 |
virtual double | alphaS () const |
virtual double | alphaEM () const |
void | setKinematics (tPPair in, const PVector &out) |
virtual void | setKinematics () |
virtual void | constructVertex (tSubProPtr sub) |
virtual void | constructVertex (tSubProPtr sub, const ColourLines *cl) |
virtual int | nDim () const |
virtual bool | generateKinematics (const double *r)=0 |
virtual bool | wantCMS () const |
virtual bool | headCuts () const |
virtual bool | ignoreCuts () const |
virtual bool | apply () const |
virtual CrossSection | dSigHatDR () const=0 |
virtual map< string, double > | generateOptionalWeights () |
virtual bool | haveX1X2 () const |
virtual bool | havePDFWeight1 () const |
virtual bool | havePDFWeight2 () const |
virtual bool | keepRandomNumbers () const |
virtual void | generateSubCollision (SubProcess &) |
virtual void | clearKinematics () |
virtual void | getDiagrams () const=0 |
virtual bool | noMirror () const |
const DiagramVector & | diagrams () const |
virtual Selector< const ColourLines * > | colourGeometries (tcDiagPtr diag) const=0 |
virtual const ColourLines & | selectColourGeometry (tcDiagPtr diag) const |
virtual Selector< DiagramIndex > | diagrams (const DiagramVector &) const |
virtual DiagramIndex | diagram (const DiagramVector &) const |
bool | reweighted () const |
double | reWeight () const |
double | preWeight () const |
void | addReweighter (tReweightPtr rw) |
void | addPreweighter (tReweightPtr rw) |
Ptr< Amplitude >::pointer | amplitude () const |
void | amplitude (Ptr< Amplitude >::pointer amp) |
Energy2 | sHat () const |
double | preweight () const |
virtual void | flushCaches () |
virtual StdXCombPtr | makeXComb (Energy newMaxEnergy, const cPDPair &inc, tEHPtr newEventHandler, tSubHdlPtr newSubProcessHandler, tPExtrPtr newExtractor, tCascHdlPtr newCKKW, const PBPair &newPartonBins, tCutsPtr newCuts, const DiagramVector &newDiagrams, bool mir, const PartonPairVec &allPBins, tStdXCombPtr newHead=tStdXCombPtr(), tMEPtr newME=tMEPtr()) |
virtual StdXCombPtr | makeXComb (tStdXCombPtr newHead, const PBPair &newPartonBins, const DiagramVector &newDiagrams, tMEPtr newME=tMEPtr()) |
virtual void | fillProjectors () |
virtual void | setXComb (tStdXCombPtr) |
const DVector & | meInfo () const |
void | meInfo (const DVector &info) const |
virtual int | maxMultCKKW () const |
virtual int | minMultCKKW () const |
virtual void | maxMultCKKW (int mult) |
virtual void | minMultCKKW (int mult) |
virtual void | setVetoScales (tSubProPtr) const |
virtual unsigned int | orderInAlphaS () const=0 |
virtual unsigned int | orderInAlphaEW () const=0 |
virtual double | me2 () const=0 |
virtual Energy2 | scale () const=0 |
virtual double | alphaS () const |
virtual double | alphaEM () const |
void | setKinematics (tPPair in, const PVector &out) |
virtual void | setKinematics () |
virtual void | constructVertex (tSubProPtr sub) |
virtual void | constructVertex (tSubProPtr sub, const ColourLines *cl) |
virtual int | nDim () const |
virtual bool | generateKinematics (const double *r)=0 |
virtual bool | wantCMS () const |
virtual bool | headCuts () const |
virtual bool | ignoreCuts () const |
virtual bool | apply () const |
virtual CrossSection | dSigHatDR () const=0 |
virtual map< string, double > | generateOptionalWeights () |
virtual bool | haveX1X2 () const |
virtual bool | havePDFWeight1 () const |
virtual bool | havePDFWeight2 () const |
virtual bool | keepRandomNumbers () const |
virtual void | generateSubCollision (SubProcess &) |
virtual void | clearKinematics () |
virtual void | getDiagrams () const=0 |
virtual bool | noMirror () const |
const DiagramVector & | diagrams () const |
virtual Selector< const ColourLines * > | colourGeometries (tcDiagPtr diag) const=0 |
virtual const ColourLines & | selectColourGeometry (tcDiagPtr diag) const |
virtual Selector< DiagramIndex > | diagrams (const DiagramVector &) const |
virtual DiagramIndex | diagram (const DiagramVector &) const |
bool | reweighted () const |
double | reWeight () const |
double | preWeight () const |
void | addReweighter (tReweightPtr rw) |
void | addPreweighter (tReweightPtr rw) |
Ptr< Amplitude >::pointer | amplitude () const |
void | amplitude (Ptr< Amplitude >::pointer amp) |
Energy2 | sHat () const |
double | preweight () const |
virtual void | flushCaches () |
virtual StdXCombPtr | makeXComb (Energy newMaxEnergy, const cPDPair &inc, tEHPtr newEventHandler, tSubHdlPtr newSubProcessHandler, tPExtrPtr newExtractor, tCascHdlPtr newCKKW, const PBPair &newPartonBins, tCutsPtr newCuts, const DiagramVector &newDiagrams, bool mir, const PartonPairVec &allPBins, tStdXCombPtr newHead=tStdXCombPtr(), tMEPtr newME=tMEPtr()) |
virtual StdXCombPtr | makeXComb (tStdXCombPtr newHead, const PBPair &newPartonBins, const DiagramVector &newDiagrams, tMEPtr newME=tMEPtr()) |
virtual void | fillProjectors () |
virtual void | setXComb (tStdXCombPtr) |
const DVector & | meInfo () const |
void | meInfo (const DVector &info) const |
virtual int | maxMultCKKW () const |
virtual int | minMultCKKW () const |
virtual void | maxMultCKKW (int mult) |
virtual void | minMultCKKW (int mult) |
virtual void | setVetoScales (tSubProPtr) const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
![]() | |
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 |
![]() | |
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 |
![]() | |
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 |
![]() | |
void | debug () const |
virtual void | debugme () const |
![]() | |
CounterType | referenceCount () const |
![]() | |
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 |
![]() | |
const XC & | lastXComb () const |
const XC & | lastXComb () const |
tXCPtr | lastXCombPtr () const |
tXCPtr | lastXCombPtr () const |
const XC & | lastHeadXComb () const |
const XC & | lastHeadXComb () const |
tXCPtr | lastHeadXCombPtr () const |
tXCPtr | lastHeadXCombPtr () const |
const EventHandler & | lastEventHandler () const |
const EventHandler & | lastEventHandler () const |
tPExtrPtr | lastExtractor () const |
tPExtrPtr | lastExtractor () const |
PDFT | pdf (tcPPtr parton) const |
PDFT | pdf (tcPPtr parton) const |
const Cuts & | lastCuts () const |
const Cuts & | lastCuts () const |
tCutsPtr | lastCutsPtr () const |
tCutsPtr | lastCutsPtr () const |
const PPair & | lastParticles () const |
const PPair & | lastParticles () const |
Energy2 | lastS () const |
Energy2 | lastS () const |
const PPair & | lastPartons () const |
const PPair & | lastPartons () const |
Energy2 | lastSHat () const |
Energy2 | lastSHat () const |
double | lastTau () const |
double | lastTau () const |
double | lastY () const |
double | lastY () const |
double | lastP1 () const |
double | lastP1 () const |
double | lastP2 () const |
double | lastP2 () const |
double | lastL1 () const |
double | lastL1 () const |
double | lastL2 () const |
double | lastL2 () const |
double | lastX1 () const |
double | lastX1 () const |
double | lastX2 () const |
double | lastX2 () const |
double | lastE1 () const |
double | lastE1 () const |
double | lastE2 () const |
double | lastE2 () const |
double | lastFL1L2 () const |
double | lastFL1L2 () const |
Energy2 | lastScale () const |
double | lastAlphaS () const |
double | lastAlphaEM () const |
const vector< Lorentz5Momentum > & | meMomenta () const |
double | lastME2 () const |
double | lastPreweight () const |
double | jacobian () const |
CrossSection | lastMECrossSection () const |
double | lastMEPDFWeight () const |
double | lastMECouplings () const |
tSubProPtr | subProcess () const |
const cPDVector & | mePartonData () const |
Standard Interfaced functions. | |
double | initial_ |
Parameters for the matrix element correction. | |
double | final_ |
Enchancement factor for FSR. | |
double | procProb_ |
Relative fraction of compton and BGF processes to generate. | |
double | comptonInt_ |
Integral for compton process. | |
double | bgfInt_ |
Integral for BGF process. | |
double | comptonWeight_ |
Parameters for the POWHEG correction. | |
double | BGFWeight_ |
Weight for the BGF channel. | |
Energy | pTmin_ |
Minimum value of \(p_T\). | |
Energy2 | q2_ |
Parameters for the point being generated. | |
double | l_ |
double | xB_ |
Borm momentum fraction. | |
tcBeamPtr | beam_ |
Beam particle. | |
tcPDPtr | partons_ [2] |
Partons. | |
tcPDPtr | leptons_ [2] |
Leptons. | |
tcPDFPtr | pdf_ |
PDF object. | |
LorentzRotation | rot_ |
Rotation to the Breit frame. | |
Lorentz5Momentum | pl_ [2] |
Lepton momenta. | |
Lorentz5Momentum | pq_ [2] |
Quark momenta. | |
Lorentz5Momentum | q_ |
q | |
Energy | pTCompton_ |
Compton parameters. | |
bool | ComptonISFS_ |
vector< Lorentz5Momentum > | ComptonMomenta_ |
Energy | pTBGF_ |
BGF parameters. | |
vector< Lorentz5Momentum > | BGFMomenta_ |
double | acoeff_ |
The coefficient for the correlations. | |
ShowerAlphaPtr | alpha_ |
Coupling. | |
PDPtr | gluon_ |
Gluon particle data object. | |
double | xp_ |
The radiative variables. | |
tcBeamPtr | hadron_ |
The hadron. | |
unsigned int | scaleOpt_ |
Selects a dynamic or fixed factorization scale. | |
Energy | muF_ |
The factorization scale. | |
double | scaleFact_ |
Prefactor if variable scale used. | |
unsigned int | contrib_ |
Whether to generate the positive, negative or leading order contribution. | |
double | power_ |
Power for sampling \(x_p\). | |
double | jac_ |
Jacobian for \(x_p\) integral. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
double | NLOWeight () const |
The NLO weight. | |
virtual double | A (tcPDPtr lin, tcPDPtr lout, tcPDPtr qin, tcPDPtr qout, Energy2 scale) const =0 |
Calculate the coefficient A for the correlations. | |
double | generateComptonPoint (double &xp, double &zp) |
Members for the matrix element correction. | |
double | generateBGFPoint (double &xp, double &zp) |
Generate the values of \(x_p\) and \(z_p\). | |
vector< double > | ComptonME (double xp, double x2, double xperp, bool norm) |
Return the coefficients for the matrix element piece for the QCD compton case. | |
vector< double > | BGFME (double xp, double x2, double x3, double xperp, bool norm) |
Return the coefficients for the matrix element piece for the QCD compton case. | |
void | generateCompton () |
Members for the POWHEG correction. | |
void | generateBGF () |
Generate a BGF process. | |
DISBase & | operator= (const DISBase &)=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. | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
![]() | |
enum | POWHEGType { No , ISR , FSR , Both } |
Virtual members to be overridden by inheriting classes which implement hard corrections. More... | |
![]() | |
typedef vector< DiagPtr > | DiagramVector |
typedef DiagramVector::size_type | DiagramIndex |
typedef vector< ReweightPtr > | ReweightVector |
![]() | |
enum | InitState |
![]() | |
typedef unsigned int | CounterType |
![]() | |
typedef ThePEG::Ptr< XC >::pointer | XCPtr |
typedef ThePEG::Ptr< XC >::const_pointer | cXCPtr |
typedef ThePEG::Ptr< XC >::transient_pointer | tXCPtr |
typedef ThePEG::Ptr< XC >::transient_const_pointer | tcXCPtr |
![]() | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
initializing | |
uninitialized | |
initialized | |
runready | |
![]() | |
const unsigned long | uniqueId |
![]() | |
Energy2 | tHat () const |
Return the \(\hat{t}\) of the last set phase space point. | |
Energy2 | uHat () const |
Return the \(\hat{u}\) of the last set phase space point. | |
double | phi () const |
Return the azimuth angle of the last set phase space point. | |
void | tHat (Energy2 e2) |
Set the \(\hat{t}\) of the last set phase space point. | |
void | uHat (Energy2 e2) |
Set the \(\hat{u}\) of the last set phase space point. | |
void | phi (double phi) |
Set the azimuth angle of the last set phase space point. | |
void | massOption (vector< unsigned int > iopt) |
Set the treatment of the outgoing masses. | |
void | rescalingOption (unsigned int iopt) |
Rescaled momenta for the helicity ME. | |
bool | rescaleMomenta (const vector< Lorentz5Momentum > &, const cPDVector &) |
rescale the momenta for the computation of the helicity matrix element | |
const vector< Lorentz5Momentum > & | rescaledMomenta () const |
Access to the rescaled momenta. | |
bool | generateMasses (vector< Energy > &masses, double &mjac, const double *r) |
Generate the masses of the particles. | |
virtual double | getCosTheta (double cthmin, double cthmax, const double r) |
Used internally by generateKinematics, after calculating the limits on cos(theta). | |
![]() | |
virtual void | doinit () |
virtual void | doinitrun () |
void | add (DiagPtr dp) const |
vector< Lorentz5Momentum > & | meMomenta () |
void | lastME2 (double v) const |
void | lastPreweight (double w) const |
void | lastMECrossSection (CrossSection v) const |
void | lastMEPDFWeight (double v) const |
void | lastMECouplings (double v) const |
void | jacobian (double j) |
void | use (tcMEPtr other) |
void | useDiagrams (tcMEPtr other) const |
![]() | |
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) |
![]() | |
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 &) |
![]() | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
![]() | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
![]() | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
![]() | |
XCPtr | theLastXComb |
The DISBase class is the base class for the implementation of DIS type processes including corrections in both the old fashioned matrix element and POWHEG approaches.
|
protectedpure virtual |
Calculate the coefficient A for the correlations.
Implemented in Herwig::MEChargedCurrentDIS, and Herwig::MENeutralCurrentDIS.
|
virtual |
Apply the hard matrix element correction to a given hard process or decay.
Reimplemented from Herwig::HwMEBase.
|
protected |
Return the coefficients for the matrix element piece for the QCD compton case.
The output is the \(a_i\) coefficients to give the function as \(a_0+a_1\cos\phi+a_2\sin\phi+a_3\cos^2\phi+a_4\sin^2\phi\)
xp | \(x_p\) |
x2 | \(x_3\) |
x3 | \(x_2\) |
xperp | \(x_\perp\) |
norm | Normalise to the large $l$ value of the ME |
|
protected |
Return the coefficients for the matrix element piece for the QCD compton case.
The output is the \(a_i\) coefficients to give the function as \(a_0+a_1\cos\phi+a_2\sin\phi+a_3\cos^2\phi+a_4\sin^2\phi\)
xp | \(x_p\) |
x2 | \(x_2\) |
xperp | \(x_\perp\) |
norm | Normalise to the large $l$ value of the ME |
|
protectedvirtual |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::MEBase.
Reimplemented in Herwig::MEChargedCurrentDIS, and Herwig::MENeutralCurrentDIS.
|
virtual |
Return the matrix element squared differential in the variables given by the last call to generateKinematics().
Reimplemented from Herwig::HwMEBase.
|
protected |
Generate the values of \(x_p\) and \(z_p\).
xp | The value of xp, output |
zp | The value of zp, output |
|
protected |
Members for the POWHEG correction.
Generate a Compton process
|
protected |
Members for the matrix element correction.
Generate the values of \(x_p\) and \(z_p\)
xp | The value of xp, output |
zp | The value of zp, output |
|
virtual |
Apply the POWHEG style correction.
Reimplemented from Herwig::HwMEBase.
|
virtual |
Generate internal degrees of freedom given nDim() uniform random numbers in the interval \( ]0,1[ \).
To help the phase space generator, the dSigHatDR should be a smooth function of these numbers, although this is not strictly necessary.
r | a pointer to the first of nDim() consecutive random numbers. |
Reimplemented from Herwig::HwMEBase.
|
inlinevirtual |
Members for the old-fashioned matrix element correction.
Has an old fashioned ME correction
Reimplemented from Herwig::HwMEBase.
|
inlinevirtual |
Members for the POWHEG stype correction.
Has a POWHEG style correction
Reimplemented from Herwig::HwMEBase.
|
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.
|
virtual |
Initialize the ME correction.
Reimplemented from Herwig::HwMEBase.
|
virtual |
The number of internal degrees of freedom used in the matrix element.
Reimplemented from Herwig::HwMEBase.
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::DISBase::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
void Herwig::DISBase::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
virtual |
Return the scale associated with the last set phase space point.
Implements ThePEG::MEBase.
|
virtual |
Apply the soft matrix element correction.
parent | The initial particle in the current branching |
progenitor | The progenitor particle of the jet |
fs | Whether the emission is initial or final-state |
highestpT | The highest pT so far in the shower |
ids | ids of the particles produced in the branching |
z | The momentum fraction of the branching |
scale | the evolution scale of the branching |
pT | The transverse momentum of the branching |
Reimplemented from Herwig::HwMEBase.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |