PYTHIA
8.312
|
DireMergingHooks is base class for user input to the merging procedure. More...
#include <DireMergingHooks.h>
Public Member Functions | |
virtual int | getNumberOfClusteringSteps (const Event &event, bool resetNjetMax=false) |
Function to return the number of clustering steps for the current event. More... | |
bool | checkAgainstCut (const Particle &particle) |
Functions used as default merging scales. More... | |
double | tmsNow (const Event &event) |
double | scalems (const Event &event) |
void | doIgnoreEmissions (bool doIgnoreIn) |
Functions to steer shower evolution (public to allow for PS plugin). More... | |
bool | canVetoEmission () |
Function to allow not counting a trial emission. | |
bool | doVetoEmission (const Event &) |
Function to check if emission should be rejected. More... | |
void | init () |
The DireMergingHooks class. More... | |
virtual bool | doVetoStep (const Event &process, const Event &event, bool doResonance=false) |
Function to check event veto. More... | |
virtual bool | setShowerStartingScales (bool isTrial, bool doMergeFirstEmm, double &pTscaleIn, const Event &event, double &pTmaxFSRIn, bool &limitPTmaxFSRin, double &pTmaxISRIn, bool &limitPTmaxISRin, double &pTmaxMPIIn, bool &limitPTmaxMPIin) |
Set starting scales. More... | |
bool | doMOPS () |
bool | doMEM () |
vector< double > | stoppingScales () |
Public Member Functions inherited from MergingHooks | |
MergingHooks () | |
Constructor. | |
virtual | ~MergingHooks () |
Destructor. More... | |
virtual double | tmsDefinition (const Event &event) |
Function encoding the functional definition of the merging scale. | |
virtual double | dampenIfFailCuts (const Event &inEvent) |
virtual bool | canCutOnRecState () |
virtual bool | doCutOnRecState (const Event &event) |
virtual bool | canVetoTrialEmission () |
Function to allow not counting a trial emission. | |
virtual bool | doVetoTrialEmission (const Event &, const Event &) |
Function to check if trial emission should be rejected. | |
virtual double | hardProcessME (const Event &inEvent) |
Function to calculate the hard process matrix element. More... | |
double | tms () |
Function returning the value of the merging scale. More... | |
double | tmsCut () |
void | tms (double tmsIn) |
double | dRijMS () |
double | pTiMS () |
double | QijMS () |
int | nMaxJets () |
Function returning the value of the maximal number of merged jets. | |
int | nMaxJetsNLO () |
string | getProcessString () |
Function to return hard process string. | |
int | nHardOutPartons () |
Function to return the number of outgoing partons in the core process. | |
int | nHardOutLeptons () |
Function to return the number of outgoing leptons in the core process. | |
int | nHardOutBosons () |
int | nHardInPartons () |
int | nHardInLeptons () |
Function to return the number of incoming leptons in the core process. | |
int | nResInCurrent () |
bool | doUserMerging () |
Function to determine if user defined merging should be applied. | |
bool | doMGMerging () |
Function to determine if automated MG/ME merging should be applied. | |
bool | doKTMerging () |
Function to determine if KT merging should be applied. | |
bool | doPTLundMerging () |
Function to determine if PTLund merging should be applied. | |
bool | doCutBasedMerging () |
Function to determine if cut based merging should be applied. | |
bool | doCKKWLMerging () |
bool | doUMEPSTree () |
bool | doUMEPSSubt () |
bool | doUMEPSMerging () |
bool | doNL3Tree () |
bool | doNL3Loop () |
bool | doNL3Subt () |
bool | doNL3Merging () |
bool | doUNLOPSTree () |
bool | doUNLOPSLoop () |
bool | doUNLOPSSubt () |
bool | doUNLOPSSubtNLO () |
bool | doUNLOPSMerging () |
bool | doRuntimeAMCATNLOInterface () |
Function to determine if we have a runtime interface to aMC. | |
int | nRecluster () |
Return the number clustering steps that have actually been done. | |
int | nRequested () |
Return number of requested additional jets on top of the Born process. | |
bool | isFirstEmission (const Event &event) |
Output functions to analyse/prepare event for merging. More... | |
bool | hasEffectiveG2EW () |
Function to allow effective gg -> EW boson couplings. | |
bool | allowEffectiveVertex (vector< int > in, vector< int > out) |
Function to allow effective gg -> EW boson couplings. | |
Event | bareEvent (const Event &inputEventIn, bool storeInputEvent) |
Return event stripped from decay products. More... | |
bool | reattachResonanceDecays (Event &process) |
Write event with decay products attached to argument. More... | |
bool | isInHard (int iPos, const Event &event) |
Check if particle at position iPos is part of the hard sub-system. More... | |
void | orderHistories (bool doOrderHistoriesIn) |
Functions to steer construction of histories. More... | |
void | allowCutOnRecState (bool doCutOnRecStateIn) |
void | doWeakClustering (bool doWeakClusteringIn) |
Function to allow final state clusterings of weak bosons. | |
bool | checkAgainstCut (const Particle &particle) |
Functions used as default merging scales. More... | |
double | rhoms (const Event &event, bool withColour) |
Find the minimal Lund pT between coloured partons in the event. More... | |
double | kTms (const Event &event) |
Function to calculate the minimal kT in the event. More... | |
double | cutbasedms (const Event &event) |
void | doIgnoreEmissions (bool doIgnoreIn) |
Functions to steer shower evolution (public to allow for PS plugin) More... | |
virtual bool | usesVincia () |
virtual bool | useShowerPlugin () |
bool | includeWGTinXSEC () |
int | nHardNow () |
Functions to retrieve event veto information. | |
double | tmsHardNow () |
int | nJetsNow () |
double | tmsNow () |
void | setHardProcessPtr (HardProcess *hardProcIn) |
int | nMuRVar () |
Functions related to renormalization scale variations. | |
void | printIndividualWeights () |
Function to print individual merging weight components, for debugging. | |
void | setShowerPointer (PartonLevel *psIn) |
void | storeHardProcessCandidates (const Event &event) |
Generic setup functions. More... | |
void | setLHEInputFile (string lheFile) |
AlphaStrong * | AlphaS_FSR () |
Functions for output of class members. More... | |
AlphaStrong * | AlphaS_ISR () |
AlphaEM * | AlphaEM_FSR () |
AlphaEM * | AlphaEM_ISR () |
bool | includeMassive () |
bool | enforceStrongOrdering () |
Prefer strongly ordered histories. | |
bool | orderInRapidity () |
Prefer histories ordered in rapidity and evolution pT. | |
bool | pickByFull () |
Pick history probabilistically by full (correct) splitting probabilities. | |
bool | pickByPoPT2 () |
Pick history probabilistically, with easier form of probabilities. | |
bool | includeRedundant () |
Include redundant terms (e.g. PDF ratios) in the splitting probabilities. | |
bool | pickBySumPT () |
Pick by winner-takes-it-all, with minimum sum of scalar evolution pT. | |
int | unorderedScalePrescip () |
int | unorderedASscalePrescip () |
int | unorderedPDFscalePrescip () |
int | incompleteScalePrescip () |
bool | allowColourShuffling () |
Allow swapping one colour index while reclustering. | |
bool | resetHardQRen () |
Allow use of dynamical renormalisation scale of the core 2-> 2 process. | |
bool | resetHardQFac () |
Allow use of dynamical factorisation scale of the core 2-> 2 process. | |
double | scaleSeparationFactor () |
double | nonJoinedNorm () |
double | fsrInRecNorm () |
double | herwigAcollFSR () |
double | herwigAcollISR () |
double | pT0ISR () |
ISR regularisation scale. | |
double | pTcut () |
Shower cut-off scale. | |
void | muMI (double mu) |
MI starting scale. | |
double | muMI () |
double | kFactor (int njet=0) |
Full k-Factor for current event. | |
double | k1Factor (int njet=0) |
O()-term of the k-Factor for current event. | |
bool | orderHistories () |
bool | allowCutOnRecState () |
bool | doWeakClustering () |
INTERNAL Hooks to allow clustering W bosons. | |
bool | doSQCDClustering () |
INTERNAL Hooks to allow clustering clustering of gluons to squarks. | |
double | muF () |
Store / get first scale in PDF's that Pythia should have used. | |
double | muR () |
double | muFinME () |
Store / get factorisation scale used in matrix element calculation. More... | |
double | muRinME () |
void | doIgnoreStep (bool doIgnoreIn) |
Functions to steer merging code. More... | |
void | storeWeights (vector< double > weight) |
Stored weights in case veto needs to be revoked. | |
void | setShowerStoppingScale (double scale=0.) |
double | getShowerStoppingScale () |
void | nMinMPI (int nMinMPIIn) |
int | nMinMPI () |
double | kTdurham (const Particle &RadAfterBranch, const Particle &EmtAfterBranch, int Type, double D) |
Functions for internal merging scale definions. More... | |
double | rhoPythia (const Event &event, int rad, int emt, int rec, int ShowerType) |
Function to compute "pythia pT separation" from Particle input. More... | |
int | findColour (int col, int iExclude1, int iExclude2, const Event &event, int type, bool isHardIn) |
double | deltaRij (Vec4 jet1, Vec4 jet2) |
Function to compute Delta R separation from 4-vector input. More... | |
double | getWeightNLO (int i=0) |
Functions for weight management. More... | |
vector< double > | getWeightCKKWL () |
Return CKKW-L weight. | |
vector< double > | getWeightFIRST () |
Return O() weight. | |
void | setWeightCKKWL (vector< double > weightIn) |
Set CKKW-L weight. | |
void | setWeightFIRST (vector< double > weightIn) |
Set O() weight. | |
vector< double > | getSudakovWeight () |
vector< double > | getCouplingWeight () |
Function to return coupling weight. | |
void | setEventVetoInfo (int nJetNowIn, double tmsNowIn) |
Functions and members to store the event veto information. More... | |
void | setHardProcessInfo (int nHardNowIn, double tmsHardNowIn) |
Set the hard process information. | |
void | addVetoInMainShower () |
int | getNumberVetoedInMainShower () |
Public Member Functions inherited from PhysicsBase | |
void | initInfoPtr (Info &infoPtrIn) |
This function is called from above for physics objects used in a run. More... | |
virtual | ~PhysicsBase () |
Empty virtual destructor. | |
bool | flag (string key) const |
Shorthand to read settings values. | |
int | mode (string key) const |
double | parm (string key) const |
string | word (string key) const |
vector< bool > | fvec (string key) const |
vector< int > | mvec (string key) const |
vector< double > | pvec (string key) const |
vector< string > | wvec (string key) const |
Public Attributes | |
bool | doMOPSSave |
bool | doMEMSave |
Public Attributes inherited from MergingHooks | |
bool | useShowerPluginSave |
Functions used as clusterings / probabilities. | |
bool | useOwnHardProcess |
The members, switches etc. More... | |
HardProcess * | hardProcess |
PartonLevel * | showers |
AlphaStrong | AlphaS_FSRSave |
AlphaS objects for alphaS reweighting use. | |
AlphaStrong | AlphaS_ISRSave |
AlphaEM | AlphaEM_FSRSave |
AlphaEM | AlphaEM_ISRSave |
string | lheInputFile |
Saved path to LHE file for more automated merging. | |
bool | doUserMergingSave |
Flags for merging procedure definition. | |
bool | doMGMergingSave |
bool | doKTMergingSave |
bool | doPTLundMergingSave |
bool | doCutBasedMergingSave |
bool | includeMassiveSave |
bool | enforceStrongOrderingSave |
bool | orderInRapiditySave |
bool | pickByFullPSave |
bool | pickByPoPT2Save |
bool | includeRedundantSave |
bool | pickBySumPTSave |
bool | allowColourShufflingSave |
bool | resetHardQRenSave |
bool | resetHardQFacSave |
int | unorderedScalePrescipSave |
int | unorderedASscalePrescipSave |
int | unorderedPDFscalePrescipSave |
int | incompleteScalePrescipSave |
int | ktTypeSave |
int | nReclusterSave |
int | nQuarksMergeSave |
int | nRequestedSave |
double | scaleSeparationFactorSave |
double | nonJoinedNormSave |
double | fsrInRecNormSave |
double | herwigAcollFSRSave |
double | herwigAcollISRSave |
double | pT0ISRSave |
double | pTcutSave |
double | pTminISRSave |
double | pTminFSRSave |
bool | doNL3TreeSave |
bool | doNL3LoopSave |
bool | doNL3SubtSave |
bool | doUNLOPSTreeSave |
bool | doUNLOPSLoopSave |
bool | doUNLOPSSubtSave |
bool | doUNLOPSSubtNLOSave |
bool | doUMEPSTreeSave |
bool | doUMEPSSubtSave |
bool | doEstimateXSection |
Flag to only do phase space cut, rejecting events below the tms cut. | |
bool | doRuntimeAMCATNLOInterfaceSave |
Flag for runtime aMC interface. Needed for aMC-Delta. | |
bool | applyVeto |
Event | inputEvent |
Save input event in case decay products need to be detached. | |
vector< pair< int, int > > | resonances |
bool | doRemoveDecayProducts |
double | muMISave |
Starting scale for attaching MPI. | |
double | kFactor0jSave |
Precalculated K-factors. | |
double | kFactor1jSave |
double | kFactor2jSave |
double | tmsValueSave |
Saved members. | |
double | tmsValueNow |
double | DparameterSave |
int | nJetMaxSave |
int | nJetMaxNLOSave |
string | processSave |
string | processNow |
vector< double > | tmsListSave |
bool | doOrderHistoriesSave |
bool | doCutOnRecStateSave |
bool | doWeakClusteringSave |
INTERNAL Hooks to allow clustering W bosons. | |
bool | doSQCDClusteringSave |
double | muFSave |
Store / get first scale in PDF's that Pythia should have used. | |
double | muRSave |
double | muFinMESave |
Store / get factorisation scale used in matrix element calculation. | |
double | muRinMESave |
bool | doIgnoreEmissionsSave |
Flag to indicate trial shower usage. | |
bool | doIgnoreStepSave |
Flag to indicate if events should be vetoed. | |
double | pTsave |
Stored weights in case veot needs to be revoked. | |
vector< double > | weightCKKWL1Save |
vector< double > | weightCKKWL2Save |
int | nMinMPISave |
vector< double > | weightCKKWLSave |
Save CKKW-L weight / O() weight. | |
vector< double > | weightFIRSTSave |
IndividualWeights | individualWeights |
bool | doVariations |
Flag to indicate whether renormalization scale variations are performed. | |
vector< double > | muRVarFactors |
Vector of variation factors applied to renormalization scale. | |
int | nWgts |
Number of weights, nominal + variations. | |
int | nJetMaxLocal |
Local copies of nJetMax inputs, if recalculation is necessary. | |
int | nJetMaxNLOLocal |
bool | hasJetMaxLocal |
bool | includeWGTinXSECSave |
int | nHardNowSave |
int | nJetNowSave |
double | tmsHardNowSave |
double | tmsNowSave |
double | stopScaleSave |
int | nVetoedInMainShower |
Statistics. | |
Protected Member Functions | |
void | doIgnoreStep (bool doIgnoreIn) |
Functions to steer merging code. More... | |
bool | canVetoStep () |
Function to allow event veto. | |
double | rhoPythia (const Event &event, int rad, int emt, int rec, int ShowerType) |
Functions for internal merging scale definions. More... | |
int | findColour (int col, int iExclude1, int iExclude2, const Event &event, int type, bool isHardIn) |
void | store () |
void | restore () |
Protected Member Functions inherited from PhysicsBase | |
PhysicsBase () | |
Default constructor. | |
virtual void | onInitInfoPtr () |
virtual void | onBeginEvent () |
This function is called in the very beginning of each Pythia::next call. | |
virtual void | onEndEvent (Status) |
virtual void | onStat () |
This function is called from the Pythia::stat() call. | |
void | registerSubObject (PhysicsBase &pb) |
Register a sub object that should have its information in sync with this. | |
Protected Attributes | |
bool | isInit |
bool | isStored |
int | nReclusterStore |
Member variables to store and restore to. | |
int | nRequestedStore |
int | nJetMaxStore |
int | nJetMaxNLOStore |
int | nMinMPIStore |
int | nJetMaxLocalStore |
int | nJetMaxNLOLocalStore |
int | nHardNowStore |
int | nJetNowStore |
double | pT0ISRStore |
double | pTcutStore |
double | muMIStore |
double | tmsValueStore |
double | tmsValueNowStore |
double | DparameterStore |
double | muFStore |
double | muRStore |
double | muFinMEStore |
double | muRinMEStore |
double | pTstore |
double | tmsHardNowStore |
double | tmsNowStore |
bool | doOrderHistoriesStore |
bool | doIgnoreEmissionsStore |
bool | doIgnoreStepStore |
bool | hasJetMaxLocalStore |
Event | inputEventStore |
vector< pair< int, int > > | resonancesStore |
HardProcess | hardProcessStore |
vector< double > | stoppingScalesSave |
Protected Attributes inherited from PhysicsBase | |
Info * | infoPtr = {} |
Settings * | settingsPtr = {} |
Pointer to the settings database. | |
ParticleData * | particleDataPtr = {} |
Pointer to the particle data table. | |
Logger * | loggerPtr = {} |
Pointer to logger. | |
HadronWidths * | hadronWidthsPtr = {} |
Pointer to the hadron widths data table. | |
Rndm * | rndmPtr = {} |
Pointer to the random number generator. | |
CoupSM * | coupSMPtr = {} |
Pointers to SM and SUSY couplings. | |
CoupSUSY * | coupSUSYPtr = {} |
BeamSetup * | beamSetupPtr = {} |
BeamParticle * | beamAPtr = {} |
BeamParticle * | beamBPtr = {} |
BeamParticle * | beamPomAPtr = {} |
BeamParticle * | beamPomBPtr = {} |
BeamParticle * | beamGamAPtr = {} |
BeamParticle * | beamGamBPtr = {} |
BeamParticle * | beamVMDAPtr = {} |
BeamParticle * | beamVMDBPtr = {} |
PartonSystems * | partonSystemsPtr = {} |
Pointer to information on subcollision parton locations. | |
SigmaTotal * | sigmaTotPtr = {} |
Pointers to the total/elastic/diffractive cross sections. | |
SigmaCombined * | sigmaCmbPtr = {} |
set< PhysicsBase * > | subObjects |
UserHooksPtr | userHooksPtr |
Additional Inherited Members | |
Public Types inherited from PhysicsBase | |
enum | Status { INCOMPLETE = -1, COMPLETE = 0, CONSTRUCTOR_FAILED, INIT_FAILED, LHEF_END, LOWENERGY_FAILED, PROCESSLEVEL_FAILED, PROCESSLEVEL_USERVETO, MERGING_FAILED, PARTONLEVEL_FAILED, PARTONLEVEL_USERVETO, HADRONLEVEL_FAILED, CHECK_FAILED, OTHER_UNPHYSICAL, HEAVYION_FAILED, HADRONLEVEL_USERVETO } |
Enumerate the different status codes the event generation can have. | |
DireMergingHooks is base class for user input to the merging procedure.
bool checkAgainstCut | ( | const Particle & | particle | ) |
Functions used as default merging scales.
Function to check if the input particle is a light jet, i.e. should be checked against the merging scale defintion.
Function to check if the properties of the input particle should be checked against the cut-based merging scale defintion.
Do not check uncoloured particles.
By default, use u-, d-, c-, s- and b-quarks.
Done
|
inline |
Functions to steer shower evolution (public to allow for PS plugin).
Flag to indicate trial shower usage.
|
inlineprotected |
Functions to steer merging code.
Flag to indicate if events should be vetoed.
|
virtual |
Function to check if emission should be rejected.
Do nothing in trial showers, or after first step.
Do nothing in CKKW-L
For NLO merging, count and veto emissions above the merging scale
Get number of clustering steps
Get merging scale in current event
Get maximal number of additional jets
Always remove emissions above the merging scale for samples containing reclusterings!
Check veto condition
Do not veto if state already includes MPI.
When performing NL3 merging of tree-level events, reset the CKKWL weight.
If the emission is allowed, do not check any further emissions
Done
Reimplemented from MergingHooks.
Function to check event veto.
Function to check if emission should be rejected.
Do nothing in trial showers, or after first step.
Do nothing in UMEPS or UNLOPS
Get number of clustering steps. If necessary, remove resonance decay products first.
Get maximal number of additional jets.
Get merging scale in current event.
Do not print zero-weight events. For non-resonant showers, simply check veto. If event should indeed be vetoed, save the current pT and weights in case the veto needs to be revoked.
Store pT to check if veto needs to be revoked later.
Store veto inputs to perform veto at a later stage. if (!applyVeto) { setEventVetoInfo(nSteps, tnow); return false; }
Check merging veto condition.
Set weight to zero if event should be vetoed.
Save weight before veto, in case veto needs to be revoked.
Reset stored weights.
Store veto inputs to perform veto at a later stage.
Done
For resonant showers, check if any previous veto should be revoked. This means we treat showers off resonance decay products identical to MPI: If a hard resonance emission has been produced, the event should have been kept. Following this reasoning, it might be necessary to revoke any previous veto.
Initialise switch to revoke vetoing.
Nothing to check if pTsave was not stored, i.e. no emission to possibly veto was recorded. Only allow revoking the veto for diboson processes, with resonant electroweak bosons
For hadronic resonance decays at hadron colliders, do not veto events with a hard emission of the resonance decay products, since such states are not included in the matrix element
Check how many resonance decay systems are allowed
Find systems really containing only emission off a resonance decay
Resonance decay systems are considered last, thus at the end of the list
Check the members of the resonance decay systems
Save the (three) members of the resonance decay system
Now find emitted gluon or gamma
Per system, only one emission
Revoke previous veto of last emission if a splitting of the resonance produced a harder parton, i.e. we are inside the PS region
Do nothing (i.e. allow other first emission veto) for soft splitting
Done with one system
Done with all systems
Check veto condition
Check veto condition.
Set stored weights to zero.
Now allow veto.
If the emission is allowed, do not check any further emissions
Done
Done
Reimplemented from MergingHooks.
|
protected |
Function to find a colour (anticolour) index in the input event, used to find colour-connected recoilers
Function to find a colour (anticolour) index in the input event. Helper for rhoms IN int col : Colour tag to be investigated int iExclude1 : Identifier of first particle to be excluded from search int iExclude2 : Identifier of second particle to be excluded from search Event event : event to be searched for colour tag int type : Tag to define if col should be counted as colour (type = 1) [->find anti-colour index contracted with col] anticolour (type = 2) [->find colour index contracted with col] OUT int : Position of particle in event record contraced with col [0 if col is free tag]
Search event record for matching colour & anticolour
Check outgoing
Check incoming
Search event record for matching colour & anticolour
Check outgoing from ISR
Check outgoing from FSR
Check outgoing from FSR
first initial
second initial
if no matching colour / anticolour has been found, return false
|
virtual |
Function to return the number of clustering steps for the current event.
Count the number of final state partons
Count the number of final state leptons
Add neutralinos to number of leptons
Add sleptons to number of leptons
Count the number of final state electroweak bosons
Return the difference to the core process outgoing particles
For inclusive handling, the number of reclustering steps can be different within a single sample.
Final particle counters
Set steps for QCD or QCD+QED events: Need at least two massless particles at lowest multiplicity.
Set steps for events containing heavy bosons. Need at least one massive particle at lowest multiplicity.
dynamical handling of steps
Return the difference to the core process outgoing particles
Reimplemented from MergingHooks.
|
virtual |
The DireMergingHooks class.
Initialise DireMergingHooks class
Abuse init to store and restore state of MergingHooks.
Get core process from user input. Return if no process was selected.
Save pointers
Initialise AlphaS objects for reweighting
Initialise AlphaEM objects for reweighting
Initialise merging switches
Initialise automated MadGraph kT merging
Initialise kT merging
Initialise evolution-pT merging
Initialise {ij}, pT_i Q_{ij} merging
Initialise exact definition of kT
Initialise NL3 switches.
Initialise UNLOPS switches.
Initialise UMEPS switches
Flag to only do phase space cut.
Flag to check if merging weight should directly be included in the cross section.
Flag to check if CKKW-L event veto should be applied.
Clear hard process
Initialise input event.
Initialise the hard process
Parameters for reconstruction of evolution scales
Parameters for choosing history probabilistically
Parameters for scale choices
Parameter for allowing swapping of one colour index while reclustering
Parameters to allow setting hard process scales to default (dynamical) Pythia values.
Parameters for choosing history by sum(|pT|)
Information on the shower cut-off scale
Initialise CKKWL weight
Initialise merging scale
Save merging scale on maximal number of jets
Read merging scale (defined in kT) from input parameter.
Read merging scale (defined in kT) from LHE file.
Save list of cuts defining the merging scale.
Write tms cut values to list of cut values, ordered by DeltaR_{ij}, pT_{i}, Q_{ij}.
Read additional settingsPtr->for NLO merging methods.
Internal Pythia cross section should not include NLO merging weights.
Check if external shower plugin should be used.
Write banner.
Reimplemented from MergingHooks.
|
protected |
double scalems | ( | const Event & | event | ) |
Find the minimal Lund pT between coloured partons in the event double scalems( const Event& event, bool withColour);
Find the minimal Lund pT between coloured partons in the input event. If doPTLundMerging = true, this function will be used as a merging scale definition.
Only check first emission.
Find all electroweak decayed bosons in the state.
Declare final parton vectors
Search inEvent record for final state partons. Exclude decay products of ew resonance.
Except for e+e- -> jets, do not check radiation in resonance decays.
Include photons into the tms definition for "weak+QCD merging".
Include Z-bosons into the tms definition for "weak+QCD merging".
Include W-bosons into the tms definition for "weak+QCD merging".
Get index of first incoming
Get index of second incoming
If no incoming of the cascade are found, try incoming
Find current incoming partons
For pure QCD set the cut to the pT of the dijet system.
No cut if only massive particles in final state.
Find minimal pythia pt in event
Compute II separation of i-emission and first incoming as radiator
Compute II separation of i-emission and second incoming as radiator
Compute all IF separations of i-emission and first incoming as radiator
Allow both initial partons as recoiler
Check with first initial as recoiler
Compute all IF separations of i-emission and second incoming as radiator
Allow both initial partons as recoiler
Check with first initial as recoiler
Compute all FF separations between final state partons.
Allow any parton as recoiler
Compute pythia FSR separation between two jets, with eith initial as recoiler.
Allow both initial partons as recoiler
Check with first initial as recoiler
Compute pythia FSR separation between two jets, with eith initial as recoiler.
Allow both initial partons as recoiler
Check with second initial as recoiler
Reset minimal y separation
|
virtual |
Set starting scales.
Function to set the correct starting scales of the shower. Note: 2 -> 2 QCD systems can be produced by MPI. Hence, there is an overlap between MPI and "hard" 2 -> 2 QCD systems which needs to be removed by no-MPI probabilities. This means that for any "hard" 2 -> 2 QCD system, multiparton interactions should start at the maximal scale of multiple interactions. The same argument holds for any "hard" process that overlaps with MPI.
Local copies of power/wimpy shower booleans and scales.
Merging of EW+QCD showers with matrix elements: Ensure that
Check if the process only contains two outgoing partons. If so, then this process could also have been produced by MPI. Thus, the MPI starting scale would need to be set accordingly to correctly attach a "no-MPI-probability" to multi-jet events. ("Hard" MPI are included by not restricting MPI when showering the lowest-multiplicity sample.)
SET THE STARTING SCALES FOR TRIAL SHOWERS.
Reset shower and MPI scales.
Reset to minimal scale for wimpy showers. Keep scales for EW+QCD merging.
For EW+QCD merging, apply wimpy shower only to 2->1 processes.
For pure QCD set the PS starting scales to the pT of the dijet system.
If necessary, set the MPI starting scale to the collider energy.
Reset phase space limitation flags
If necessary, set the MPI starting scale to the collider energy.
SET THE STARTING SCALES FOR REGULAR SHOWERS.
Remember if this is a "regular" shower off a reclustered event.
Reset shower and MPI scales.
Reset to minimal scale for wimpy showers. Keep scales for EW+QCD merging.
For EW+QCD merging, apply wimpy shower only to 2->1 processes.
For pure QCD set the PS starting scales to the pT of the dijet system.
If necessary, set the MPI starting scale to the collider energy.
For reclustered events, no-MPI-probability between "pTmaxMPI" and "scale" already included in the event weight.
Reset power/wimpy shower switches iand scales if necessary.
Done
Reimplemented from MergingHooks.
|
virtual |
Function to return the value of the merging scale function in the current event.
Get merging scale in current event.
tnow = scalems(event, false);
Return merging scale value. Done
Reimplemented from MergingHooks.