Herwig 7.3.0
|
This class is responsible of two related tasks: More...
#include <PartnerFinder.h>
Public Member Functions | |
PartnerFinder () | |
The default constructor. | |
virtual void | setInitialEvolutionScales (const ShowerParticleVector &particles, const bool isDecayCase, ShowerInteraction, const bool setPartners=true) |
Given in input a collection of particles (ShowerParticle objects), each of these methods set the initial evolution scales of those particles, between the ones given in input, that do not have yet their evolution scale set. | |
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 |
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::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) |
Functions used by the persistent I/O system. | |
int | partnerMethod_ |
Method for choosing colour partner. | |
int | QEDPartner_ |
Choice for the QED radiation partner. | |
int | scaleChoice_ |
Choice of the scale. | |
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. | |
vector< pair< double, tShowerParticlePtr > > | findEWPartners (tShowerParticlePtr particle, const ShowerParticleVector &particles, const bool isDecayCase) |
Find the EW partners. | |
pair< Energy, Energy > | calculateInitialEvolutionScales (const ShowerPPair &, const bool isDecayCase, int key=0) |
Given a pair of particles, supposedly partners w.r.t. | |
pair< Energy, Energy > | calculateFinalFinalScales (const Lorentz5Momentum &p1, const Lorentz5Momentum &p2, int key=0) |
Calculate the initial evolution scales given momenta. | |
pair< Energy, Energy > | calculateInitialInitialScales (const Lorentz5Momentum &p1, const Lorentz5Momentum &p2) |
Calculate the initial evolution scales given momenta. | |
pair< Energy, Energy > | calculateInitialFinalScales (const Lorentz5Momentum &pb, const Lorentz5Momentum &pc, const bool isDecayCase) |
Calculate the initial evolution scales given momenta. | |
virtual void | setInitialQCDEvolutionScales (const ShowerParticleVector &particles, const bool isDecayCase, const bool setPartners=true) |
Members to set the scales for different interactions. | |
virtual void | setInitialQEDEvolutionScales (const ShowerParticleVector &particles, const bool isDecayCase, const bool setPartners=true) |
Set initial scales for a QED interaction. | |
virtual void | setInitialEWEvolutionScales (const ShowerParticleVector &particles, const bool isDecayCase, const bool setPartners=true) |
Set initial scales for a EW interaction. | |
vector< pair< ShowerPartnerType, tShowerParticlePtr > > | findQCDPartners (tShowerParticlePtr particle, const ShowerParticleVector &particles) |
Find the QCD partners. | |
vector< pair< double, tShowerParticlePtr > > | findQEDPartners (tShowerParticlePtr particle, const ShowerParticleVector &particles, const bool isDecayCase) |
Find the QED partners. | |
bool | weaklyInteracting (tcPDPtr pd) |
Find weakling interacting particles. | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
PartnerFinder & | operator= (const PartnerFinder &)=delete |
The assignment operator is private and must never be called. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
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) |
This class is responsible of two related tasks:
In general the finding of the partners is performed by this class but the calculation of the initial evolution scales should be implemented for different shower evolution models in classes inheriting from this one. Notice that a given particle has, in general, a different partner for each different interaction; however, given a partner, its initial evolution scale, Q, is purely a kinematical relationship between the pair, without dependence on the dynamics (i.e. type of interaction).
Definition at line 45 of file PartnerFinder.h.
|
inline |
The default constructor.
Definition at line 52 of file PartnerFinder.h.
pair< Energy, Energy > Herwig::PartnerFinder::calculateInitialEvolutionScales | ( | const ShowerPPair & | , |
const bool | isDecayCase, | ||
int | key = 0 |
||
) |
Given a pair of particles, supposedly partners w.r.t.
an interaction, this method returns their initial evolution scales as a pair. If something wrong happens, it returns the null (ZERO,ZERO) pair. This method is used by the above setXXXInitialEvolutionScales methods. These methods must be overiden in inheriting classes General method to calculate the initial evolution scales
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 90 of file PartnerFinder.h.
vector< pair< double, tShowerParticlePtr > > Herwig::PartnerFinder::findEWPartners | ( | tShowerParticlePtr | particle, |
const ShowerParticleVector & | particles, | ||
const bool | isDecayCase | ||
) |
Find the EW partners.
particle | The particle to find the partners for |
particles | The full set of particles to search |
|
protected |
Find the QCD partners.
particle | The particle to find the partners for |
particles | The full set of particles to search |
|
protected |
Find the QED partners.
particle | The particle to find the partners for |
particles | The full set of particles to search |
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 96 of file PartnerFinder.h.
|
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.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::PartnerFinder::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::PartnerFinder::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
virtual |
Given in input a collection of particles (ShowerParticle objects), each of these methods set the initial evolution scales of those particles, between the ones given in input, that do not have yet their evolution scale set.
The input collection of particles can be either the full collection of showering particles (kept in the main class ShowerHandler, in the case isDecayCase is false, or simply, in the case isDecayCase is true, the decaying particle and its decay products.
The methods returns true, unless something wrong (inconsistencies, or undefined values) happens.
These methods are virtual but in most cases inheriting classes should not need to overide them as they simply find the relevant partner and call one of the calculateScale members to calculate the scale. Set the initial scales
particles | The particles to be considered |
isDecayCase | Whether or not this is a decay |
setPartners | Whether to set the colour partners or just the scales |
|
protectedvirtual |
Members to set the scales for different interactions.
Set initial scales for a QCD interaction
|
inlineprotected |
Find weakling interacting particles.
Definition at line 222 of file PartnerFinder.h.
References ThePEG::ParticleID::Wplus, and ThePEG::ParticleID::Z0.
|
private |
Method for choosing colour partner.
Definition at line 240 of file PartnerFinder.h.
|
private |
Choice for the QED radiation partner.
Definition at line 245 of file PartnerFinder.h.
|
private |
Choice of the scale.
Definition at line 250 of file PartnerFinder.h.