Herwig 7.3.0
|
SubtractedME represents a subtracted real emission matrix element. More...
#include <SubtractedME.h>
Classes | |
struct | SubtractionHistogram |
Simple envelope histogram to keep track of subtraction. More... | |
Public Member Functions | |
SubtractedME () | |
The default constructor. | |
Ptr< MatchboxFactory >::tcptr | factory () const |
Return the factory which produced this matrix element. | |
Phasespace and subprocess information | |
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()) |
For the given event generation setup return an xcomb object appropriate to this matrix element. | |
virtual void | setXComb (tStdXCombPtr) |
Set the XComb object to be used in the next call to generateKinematics() and dSigHatDR(). | |
virtual bool | uniformAdditional () const |
Return true, if the same additional random numbers should be presented to any of the dependent matrix elements. | |
virtual bool | keepRandomNumbers () const |
Return true, if the XComb steering this matrix element should keep track of the random numbers used to generate the last phase space point. | |
virtual MEBase::DiagramVector | dependentDiagrams (const cPDVector &proc, tMEPtr depME) const |
Given a process from the head matrix element, return a list of diagrams which should be considered for the given dependent matrix element. | |
virtual bool | subProcessGroups () const |
Return true, if SubProcessGroups should be setup from this MEGroup. | |
virtual bool | selectDependentSubProcess () const |
Return true, if one of the dependent subprocesses should be constructed in place of the one driven by the head matrix element or a full subprocess group. | |
virtual void | fillProjectors () |
Fill the projectors object of xcombs to choose subprocesses different than the one currently integrated. | |
virtual bool | willProject () const |
Return true, if projectors will be used. | |
virtual bool | groupReweighted () const |
Return true, if this MEGroup will reweight the contributing cross sections. | |
virtual double | reweightHead (const vector< tStdXCombPtr > &) |
Reweight the head cross section. | |
virtual double | reweightDependent (tStdXCombPtr, const vector< tStdXCombPtr > &) |
Reweight the dependent cross section. | |
void | doRealEmissionScales () |
Switch on or off that scales should be calculated from real emission kinematics. | |
Methods relevant to matching | |
virtual void | flushCaches () |
Inform this matrix element that a new phase space point is about to be generated, so all caches should be flushed. | |
Ptr< ShowerApproximation >::tptr | showerApproximation () const |
Return the shower approximation. | |
void | doRealShowerSubtraction () |
Indicate that the shower real emission contribution should be subtracted. | |
bool | realShowerSubtraction () const |
Return true, if the shower real emission contribution should be subtracted. | |
void | doVirtualShowerSubtraction () |
Indicate that the shower virtual contribution should be subtracted. | |
bool | virtualShowerSubtraction () const |
Return true, if the shower virtual contribution should be subtracted. | |
void | doLoopSimSubtraction () |
Indicate that the loopsim matched virtual contribution should be subtracted. | |
bool | loopSimSubtraction () const |
Return true, if the loopsim matched virtual contribution should be subtracted. | |
virtual bool | discard (const CrossSection &, const CrossSection &) const |
Return true, if this configuration of cross sections should not be included due to their relative magnitude. | |
Matrix element and dipole information | |
vector< Ptr< SubtractionDipole >::ptr > | dipoles () |
Return the subtraction dipoles. | |
const vector< Ptr< MatchboxMEBase >::ptr > & | borns () const |
Return the underlying born matrix elements. | |
void | setBorns (const vector< Ptr< MatchboxMEBase >::ptr > &newBorns) |
Access the underlying born matrix elements, overriding the ones contained in the factory object. | |
void | getDipoles () |
Build up dipoles needed. | |
void | cloneDipoles (const string &prefix="") |
Clone all dipoles. | |
void | cloneRealME (const string &prefix="") |
Clone the real emission matrix element. | |
void | cloneDependencies (const string &prefix="") |
Clone all dependencies. | |
vector< Ptr< SubtractionDipole >::ptr > | splitDipoles (const cPDVector &) |
Return all dipoles matching the given Born process. | |
Veto scale settings | |
virtual void | setVetoScales (tSubProPtr) const |
Set veto scales on the particles at the given SubProcess which has been generated using this matrix element. | |
Diagnostic information | |
void | print (ostream &) const |
Dump the setup to an ostream. | |
virtual void | lastEventStatistics () |
Collect information on the last evaluated phasespace point for verification or debugging purposes. | |
void | printLastEvent (ostream &) const |
Print debug information on the last event. | |
void | lastEventSubtraction () |
Check the subtraction for the last event. | |
bool | verbose () const |
Return true, if verbose. | |
bool | initVerbose () const |
Return true, if verbose. | |
Setup of Subtracted ME objects | |
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). | |
Public Member Functions inherited from ThePEG::MEGroup | |
virtual unsigned int | orderInAlphaS () const |
virtual unsigned int | orderInAlphaEW () const |
virtual double | me2 () const |
virtual Energy2 | scale () const |
virtual double | alphaS () const |
virtual double | alphaEM () const |
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) |
virtual bool | wantCMS () const |
virtual CrossSection | dSigHatDR () const |
virtual bool | haveX1X2 () const |
virtual bool | havePDFWeight1 () const |
virtual bool | havePDFWeight2 () const |
virtual bool | keepRandomNumbers () const |
virtual void | generateSubCollision (SubProcess &sub) |
virtual void | clearKinematics () |
virtual void | getDiagrams () const |
virtual bool | noMirror () const |
virtual Selector< const ColourLines * > | colourGeometries (tcDiagPtr diag) const |
virtual const ColourLines & | selectColourGeometry (tcDiagPtr diag) const |
virtual Selector< DiagramIndex > | diagrams (const DiagramVector &dv) const |
virtual DiagramIndex | diagram (const DiagramVector &dv) const |
virtual void | setXComb (tStdXCombPtr xc) |
virtual int | maxMultCKKW () const |
virtual int | minMultCKKW () const |
virtual void | maxMultCKKW (int mult) |
virtual void | minMultCKKW (int mult) |
virtual void | flushCaches () |
virtual void | lastEventStatistics () |
virtual bool | discard (const CrossSection &, const CrossSection &) const |
tMEPtr | head () const |
const MEVector & | dependent () const |
void | head (tMEPtr me) |
MEVector & | dependent () |
int | dependentOffset (tMEPtr dep) const |
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 vector< StdXCombPtr > | makeDependentXCombs (tStdXCombPtr xcHead, const cPDVector &proc, tMEPtr depME, const PartonPairVec &allPBins) const |
virtual void | fillProjectors () |
virtual bool | willProject () const |
virtual bool | groupReweighted () const |
virtual double | reweightHead (const vector< tStdXCombPtr > &) |
virtual double | reweightDependent (tStdXCombPtr, const vector< tStdXCombPtr > &) |
virtual bool | subProcessGroups () const |
virtual bool | uniformAdditional () const=0 |
virtual MEBase::DiagramVector | dependentDiagrams (const cPDVector &proc, tMEPtr depME) const=0 |
virtual unsigned int | orderInAlphaS () const |
virtual unsigned int | orderInAlphaEW () const |
virtual double | me2 () const |
virtual Energy2 | scale () const |
virtual double | alphaS () const |
virtual double | alphaEM () const |
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) |
virtual bool | wantCMS () const |
virtual CrossSection | dSigHatDR () const |
virtual bool | haveX1X2 () const |
virtual bool | havePDFWeight1 () const |
virtual bool | havePDFWeight2 () const |
virtual bool | keepRandomNumbers () const |
virtual void | generateSubCollision (SubProcess &sub) |
virtual void | clearKinematics () |
virtual void | getDiagrams () const |
virtual bool | noMirror () const |
virtual Selector< const ColourLines * > | colourGeometries (tcDiagPtr diag) const |
virtual const ColourLines & | selectColourGeometry (tcDiagPtr diag) const |
virtual Selector< DiagramIndex > | diagrams (const DiagramVector &dv) const |
virtual DiagramIndex | diagram (const DiagramVector &dv) const |
virtual void | setXComb (tStdXCombPtr xc) |
virtual int | maxMultCKKW () const |
virtual int | minMultCKKW () const |
virtual void | maxMultCKKW (int mult) |
virtual void | minMultCKKW (int mult) |
virtual void | flushCaches () |
virtual void | lastEventStatistics () |
virtual bool | discard (const CrossSection &, const CrossSection &) const |
tMEPtr | head () const |
const MEVector & | dependent () const |
void | head (tMEPtr me) |
MEVector & | dependent () |
int | dependentOffset (tMEPtr dep) const |
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 vector< StdXCombPtr > | makeDependentXCombs (tStdXCombPtr xcHead, const cPDVector &proc, tMEPtr depME, const PartonPairVec &allPBins) const |
virtual void | fillProjectors () |
virtual bool | willProject () const |
virtual bool | groupReweighted () const |
virtual double | reweightHead (const vector< tStdXCombPtr > &) |
virtual double | reweightDependent (tStdXCombPtr, const vector< tStdXCombPtr > &) |
virtual bool | subProcessGroups () const |
virtual bool | uniformAdditional () const=0 |
virtual MEBase::DiagramVector | dependentDiagrams (const cPDVector &proc, tMEPtr depME) const=0 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
Public Member Functions inherited from ThePEG::MEBase | |
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) |
Public Member Functions inherited from ThePEG::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 |
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 |
Public Member Functions inherited from ThePEG::LastXCombInfo< StandardXComb > | |
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 |
Public Member Functions inherited from Herwig::LastMatchboxXCombInfo | |
LastMatchboxXCombInfo () | |
Default constructor. | |
MatchboxXCombData * | lastMatchboxXComb () const |
Return a pointer to the last selected XComb. | |
MatchboxXCombData * | lastHeadMatchboxXComb () 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 vector< int > & | crossingMap () const |
The crossing information as filled by the last call to fillCrossingMap() | |
const map< size_t, size_t > & | amplitudeToColourMap () const |
The colour crossing information as filled by the last call to fillCrossingMap() | |
const map< size_t, size_t > & | colourToAmplitudeMap () const |
The colour crossing information as filled by the last call to fillCrossingMap() | |
double | crossingSign () const |
The crossing sign as filled by the last call to fillCrossingMap() | |
Energy2 | lastRenormalizationScale () const |
The last renormalization scale. | |
const cPDVector & | amplitudePartonData () const |
The amplitude parton data. | |
const vector< Lorentz5Momentum > & | amplitudeMomenta () const |
The crossed momenta. | |
bool | calculateTreeAmplitudes () const |
True, if the the tree level amplitudes need to be calculated. | |
const map< vector< int >, CVector > & | lastAmplitudes () const |
The amplitude values which have been contributing to the last call of prepareAmplitudes. | |
const map< vector< int >, CVector > & | lastLargeNAmplitudes () const |
The leading N amplitude values which have been contributing to the last call of prepareAmplitudes. | |
bool | calculateOneLoopAmplitudes () const |
True, if the the one-loop amplitudes need to be calculated. | |
const map< vector< int >, CVector > & | lastOneLoopAmplitudes () const |
The one-loop amplitude values which have been contributing to the last call of prepareAmplitudes. | |
bool | calculateTreeME2 () const |
True, if the tree-level matrix element squared needs to be calculated. | |
double | lastTreeME2 () const |
The last tree-level matrix element squared. | |
bool | calculateLargeNME2 () const |
True, if the tree-level matrix element squared needs to be calculated. | |
double | lastLargeNME2 () const |
The last tree-level matrix element squared. | |
bool | calculateOneLoopInterference () const |
True, if the one-loop/tree-level interference. | |
double | lastOneLoopInterference () const |
The last one-loop/tree-level interference. | |
bool | calculateOneLoopPoles () const |
True, if the one-loop/tree-level interference. | |
pair< double, double > | lastOneLoopPoles () const |
The last one-loop/tree-level interference. | |
bool | calculateColourCorrelator (const pair< int, int > &ij) const |
True, if the indexed colour correlated matrix element needs to be calculated. | |
double | lastColourCorrelator (const pair< int, int > &ij) const |
The colour correlated matrix element. | |
bool | calculateLargeNColourCorrelator (const pair< int, int > &ij) const |
True, if the indexed large-N colour correlated matrix element needs to be calculated. | |
double | lastLargeNColourCorrelator (const pair< int, int > &ij) const |
The large-N colour correlated matrix element. | |
bool | calculateColourSpinCorrelator (const pair< int, int > &ij) const |
True, if the indexed colour/spin correlated matrix element needs to be calculated. | |
Complex | lastColourSpinCorrelator (const pair< int, int > &ij) const |
The colour/spin correlated matrix element. | |
bool | calculateSpinCorrelator (const pair< int, int > &ij) const |
True, if the indexed spin correlated matrix element needs to be calculated. | |
Complex | lastSpinCorrelator (const pair< int, int > &ij) const |
The spin correlated matrix element. | |
unsigned int | nLight () const |
Return the number of light flavours to be considered for this process. | |
vector< long > | nLightJetVec () const |
Return 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. | |
vector< long > | nLightProtonVec () const |
Return the vector that contains the PDG ids of the light flavours, which are contained in the proton particle group. | |
size_t | colourBasisDim () const |
Get the dimensionality of the colour basis for this process. | |
int | nDimPhasespace () const |
Return the number of degrees of freedom required by the phase space generator. | |
int | nDimAmplitude () const |
Return the number of degrees of freedom required by the amplitude. | |
int | nDimInsertions () const |
Return the number of degrees of freedom required by the insertion operators. | |
const vector< double > & | amplitudeRandomNumbers () const |
Get the additional random numbers required by the amplitude. | |
const vector< double > & | insertionRandomNumbers () const |
Get the additional random numbers required by the insertion operator. | |
const map< int, double > & | diagramWeights () const |
Return the diagram weights indexed by diagram id. | |
const set< pair< size_t, size_t > > & | singularLimits () const |
Return the singular limits. | |
const set< pair< size_t, size_t > >::const_iterator & | lastSingularLimit () const |
Return the last matched singular limit. | |
Ptr< StandardModel >::tcptr | hwStandardModel () const |
Get the Herwig StandardModel object. | |
double | symmetryFactor () const |
Return the symmetry factor. | |
const vector< int > & | olpId () const |
Return the OLP process id. | |
double * | olpMomenta () const |
Return the olp momentum vector. | |
void | fillOLPMomenta (const vector< Lorentz5Momentum > &mm, const cPDVector &mePartonData, const map< long, Energy > &reshuffleMap) const |
Fill the olp momentum vector. | |
Protected Member Functions | |
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::MEGroup | |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | rebind (const TranslationMap &trans) |
virtual IVector | getReferences () |
Protected Member Functions inherited from ThePEG::MEBase | |
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 |
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 &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Protected Member Functions inherited from Herwig::LastMatchboxXCombInfo | |
vector< int > & | crossingMap () |
The crossing information as filled by the last call to fillCrossingMap() | |
map< size_t, size_t > & | amplitudeToColourMap () |
The colour crossing information as filled by the last call to fillCrossingMap() | |
map< size_t, size_t > & | colourToAmplitudeMap () |
The colour crossing information as filled by the last call to fillCrossingMap() | |
void | crossingSign (double c) |
The crossing sign as filled by the last call to fillCrossingMap() | |
void | lastRenormalizationScale (Energy2 lrs) |
The last renormalization scale. | |
cPDVector & | amplitudePartonData () |
The amplitude parton data. | |
vector< Lorentz5Momentum > & | amplitudeMomenta () |
The crossed momenta. | |
void | haveTreeAmplitudes (bool f=true) |
True, if the the tree level amplitudes need to be calculated. | |
map< vector< int >, CVector > & | lastAmplitudes () |
The amplitude values which have been contributing to the last call of prepareAmplitudes. | |
map< vector< int >, CVector > & | lastLargeNAmplitudes () |
The leading N amplitude values which have been contributing to the last call of prepareAmplitudes. | |
void | haveOneLoopAmplitudes (bool f=true) |
True, if the the one-loop amplitudes need to be calculated. | |
map< vector< int >, CVector > & | lastOneLoopAmplitudes () |
The one-loop amplitude values which have been contributing to the last call of prepareAmplitudes. | |
void | lastTreeME2 (double v) const |
The last tree-level matrix element squared. | |
void | lastLargeNME2 (double v) const |
The last tree-level matrix element squared. | |
void | lastOneLoopInterference (double v) const |
The last one-loop/tree-level interference. | |
void | lastOneLoopPoles (pair< double, double > v) const |
The last one-loop/tree-level interference. | |
void | lastColourCorrelator (const pair< int, int > &ij, double v) const |
The colour correlated matrix element. | |
void | lastLargeNColourCorrelator (const pair< int, int > &ij, double v) const |
The large-N colour correlated matrix element. | |
void | lastColourSpinCorrelator (const pair< int, int > &ij, Complex v) const |
The colour/spin correlated matrix element. | |
void | lastSpinCorrelator (const pair< int, int > &ij, Complex v) const |
The spin correlated matrix element. | |
void | nLight (unsigned int n) |
Set the number of light flavours to be considered for this process. | |
void | nLightJetVec (int n) |
Set the elements of the vector that contains the PDG ids of the light flavours, which are contained in the jet particle group. | |
void | nHeavyJetVec (int n) |
Set the elements of the vector that contains the PDG ids of the heavy flavours, which are contained in the jet particle group. | |
void | nLightProtonVec (int n) |
Set the elements of the vector that contains the PDG ids of the light flavours, which are contained in the proton particle group. | |
void | colourBasisDim (size_t d) |
Set the dimensionality of the colour basis for this process. | |
void | nDimPhasespace (int d) |
Set the number of degrees of freedom required by the phase space generator. | |
void | nDimAmplitude (int d) |
Set the number of degrees of freedom required by the amplitude. | |
void | nDimInsertions (int d) |
Set the number of degrees of freedom required by the insertion operators. | |
vector< double > & | amplitudeRandomNumbers () |
Access the additional random numbers required by the amplitude. | |
vector< double > & | insertionRandomNumbers () |
Access the additional random numbers required by the insertion operator. | |
map< int, double > & | diagramWeights () |
Access the diagram weights indexed by diagram id. | |
set< pair< size_t, size_t > > & | singularLimits () |
Access the singular limits. | |
set< pair< size_t, size_t > >::const_iterator & | lastSingularLimit () |
Access the last matched singular limit. | |
void | hwStandardModel (Ptr< StandardModel >::tcptr sm) |
Set the Herwig StandardModel object. | |
void | symmetryFactor (double f) const |
Set the symmetry factor. | |
void | olpId (int pType, int id) |
Set the OLP process id. | |
void | lastMatchboxXComb (tStdXCombPtr xc) |
Set the XComb pointer cast to MatchboxXComb. | |
Standard Interfaced functions. | |
typedef pair< cPDVector, pair< size_t, size_t > > | CollinearSubtractionIndex |
Define the key for the collinear subtraction data. | |
typedef pair< cPDVector, size_t > | SoftSubtractionIndex |
Define the key for the soft subtraction data. | |
vector< Ptr< MatchboxMEBase >::ptr > | theBorns |
The underlying born matrix elements, overriding the ones contained in the factory object. | |
Ptr< MatchboxMEBase >::ptr | theReal |
Pointer to the head real emission ME casted to a MatchboxMEBase object. | |
map< CollinearSubtractionIndex, SubtractionHistogram > | collinearHistograms |
subtraction data for collinear limits. | |
map< CollinearSubtractionIndex, string > | fnamesCollinearSubtraction |
names of files to which subtraction data is written for all phase space points individually | |
map< SoftSubtractionIndex, SubtractionHistogram > | softHistograms |
subtraction data for soft limits. | |
map< SoftSubtractionIndex, string > | fnamesSoftSubtraction |
names of files to which subtraction data is written for all phase space points individually | |
bool | theRealShowerSubtraction |
True, if the shower real emission contribution should be subtracted. | |
bool | theVirtualShowerSubtraction |
True, if the shower virtual contribution should be subtracted. | |
bool | theLoopSimSubtraction |
True, if the loopsim matched virtual contribution should be subtracted. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
virtual void | doinitrun () |
Initialize this object. | |
virtual void | dofinish () |
Finalize this object. | |
SubtractedME & | operator= (const SubtractedME &)=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 | |
Public Types inherited from ThePEG::MEBase | |
typedef vector< DiagPtr > | DiagramVector |
typedef DiagramVector::size_type | DiagramIndex |
typedef vector< ReweightPtr > | ReweightVector |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Public Types inherited from ThePEG::LastXCombInfo< StandardXComb > | |
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 Public Member Functions inherited from ThePEG::MEGroup | |
static void | Init () |
Static Public Member Functions inherited from ThePEG::MEBase | |
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 () |
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) |
Protected Attributes inherited from ThePEG::LastXCombInfo< StandardXComb > | |
XCPtr | theLastXComb |
Protected Attributes inherited from Herwig::LastMatchboxXCombInfo | |
MatchboxXCombData * | theLastMatchboxXComb |
The XComb pointer cast to MatchboxXComb. | |
MatchboxXCombData * | theLastHeadMatchboxXComb |
The head XComb pointer cast to MatchboxXComb. | |
SubtractedME represents a subtracted real emission matrix element.
Definition at line 34 of file SubtractedME.h.
|
private |
Define the key for the collinear subtraction data.
Definition at line 462 of file SubtractedME.h.
|
private |
Define the key for the soft subtraction data.
Definition at line 477 of file SubtractedME.h.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
inline |
Clone all dependencies.
Definition at line 245 of file SubtractedME.h.
References cloneDipoles(), and cloneRealME().
|
virtual |
Given a process from the head matrix element, return a list of diagrams which should be considered for the given dependent matrix element.
Implements ThePEG::MEGroup.
|
inlinevirtual |
Return true, if this configuration of cross sections should not be included due to their relative magnitude.
Arguments are head cross section and dependent cross section, including all reweights.
Reimplemented from ThePEG::MEGroup.
Definition at line 204 of file SubtractedME.h.
|
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.
|
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::MEGroup.
|
protectedvirtual |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::MEGroup.
|
virtual |
Fill the projectors object of xcombs to choose subprocesses different than the one currently integrated.
Reimplemented from ThePEG::MEGroup.
|
inlinevirtual |
Inform this matrix element that a new phase space point is about to be generated, so all caches should be flushed.
Reimplemented from ThePEG::MEGroup.
Definition at line 157 of file SubtractedME.h.
References ThePEG::MEGroup::flushCaches(), and showerApproximation().
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
|
inlinevirtual |
Return true, if this MEGroup will reweight the contributing cross sections.
Reimplemented from ThePEG::MEGroup.
Definition at line 128 of file SubtractedME.h.
References showerApproximation().
|
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.
|
inlinevirtual |
Return true, if the XComb steering this matrix element should keep track of the random numbers used to generate the last phase space point.
Reimplemented from ThePEG::MEGroup.
Definition at line 86 of file SubtractedME.h.
|
virtual |
Collect information on the last evaluated phasespace point for verification or debugging purposes.
This only called, if the StdXCombGroup did accumulate a non-zero cross section from this ME group.
Reimplemented from ThePEG::MEGroup.
|
inline |
Return true, if the loopsim matched virtual contribution should be subtracted.
Definition at line 196 of file SubtractedME.h.
References theLoopSimSubtraction.
Referenced by willProject().
|
virtual |
For the given event generation setup return an xcomb object appropriate to this matrix element.
Reimplemented from ThePEG::MEGroup.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::SubtractedME::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::SubtractedME::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
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 314 of file SubtractedME.h.
|
inline |
Return true, if the shower real emission contribution should be subtracted.
Definition at line 176 of file SubtractedME.h.
References theRealShowerSubtraction.
|
virtual |
Reweight the dependent cross section.
Reimplemented from ThePEG::MEGroup.
|
virtual |
Reweight the head cross section.
Reimplemented from ThePEG::MEGroup.
|
inlinevirtual |
Return true, if one of the dependent subprocesses should be constructed in place of the one driven by the head matrix element or a full subprocess group.
Definition at line 109 of file SubtractedME.h.
|
inline |
Access the underlying born matrix elements, overriding the ones contained in the factory object.
Definition at line 225 of file SubtractedME.h.
References theBorns.
|
virtual |
Set veto scales on the particles at the given SubProcess which has been generated using this matrix element.
Reimplemented from ThePEG::MEBase.
|
virtual |
Set the XComb object to be used in the next call to generateKinematics() and dSigHatDR().
Reimplemented from ThePEG::MEGroup.
|
virtual |
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 from ThePEG::MEGroup.
|
inlinevirtual |
Return true, if the same additional random numbers should be presented to any of the dependent matrix elements.
Implements ThePEG::MEGroup.
Definition at line 79 of file SubtractedME.h.
|
inline |
Return true, if the shower virtual contribution should be subtracted.
Definition at line 186 of file SubtractedME.h.
References theVirtualShowerSubtraction.
Referenced by willProject().
|
inlinevirtual |
Return true, if projectors will be used.
Reimplemented from ThePEG::MEGroup.
Definition at line 120 of file SubtractedME.h.
References loopSimSubtraction(), and virtualShowerSubtraction().
|
private |
subtraction data for collinear limits.
Definition at line 467 of file SubtractedME.h.
|
private |
names of files to which subtraction data is written for all phase space points individually
Definition at line 472 of file SubtractedME.h.
|
private |
names of files to which subtraction data is written for all phase space points individually
Definition at line 487 of file SubtractedME.h.
|
private |
subtraction data for soft limits.
Definition at line 482 of file SubtractedME.h.
|
private |
The underlying born matrix elements, overriding the ones contained in the factory object.
Definition at line 451 of file SubtractedME.h.
Referenced by setBorns().
|
private |
True, if the loopsim matched virtual contribution should be subtracted.
Definition at line 502 of file SubtractedME.h.
Referenced by loopSimSubtraction().
|
private |
Pointer to the head real emission ME casted to a MatchboxMEBase object.
Definition at line 457 of file SubtractedME.h.
|
private |
True, if the shower real emission contribution should be subtracted.
Definition at line 492 of file SubtractedME.h.
Referenced by realShowerSubtraction().
|
private |
True, if the shower virtual contribution should be subtracted.
Definition at line 497 of file SubtractedME.h.
Referenced by virtualShowerSubtraction().