herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
Herwig::PairRapidityCut Class Reference

This class implements a cut on the rapidity of a pair of particles. More...

#include <PairRapidityCut.h>

Inheritance diagram for Herwig::PairRapidityCut:

Public Member Functions

 PairRapidityCut ()
 The default constructor.
 
- Public Member Functions inherited from ThePEG::TwoCutBase
virtual Energy2 minSij (tcPDPtr pi, tcPDPtr pj) const=0
 
virtual Energy2 minTij (tcPDPtr pi, tcPDPtr po) const=0
 
virtual double minDeltaR (tcPDPtr pi, tcPDPtr pj) const=0
 
virtual Energy minKTClus (tcPDPtr pi, tcPDPtr pj) const=0
 
virtual double minDurham (tcPDPtr pi, tcPDPtr pj) const=0
 
virtual bool passCuts (tcCutsPtr parent, tcPDPtr pitype, tcPDPtr pjtype, LorentzMomentum pi, LorentzMomentum pj, bool inci=false, bool incj=false) const
 
bool passCuts (tcCutsPtr parent, tcPPtr pi, tcPPtr pj, bool inci=false, bool incj=false) const
 
virtual void describe () 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
 

Clone Methods.

vector< pair< double, double > > theYRanges
 The rapidity ranges.
 
bool thePseudo
 Whether to use pseudo rapidity instead of rapidity.
 
bool theSameFlavourOnly
 Whether the cut is active on same-flavour fermions only (ignored for pairs not consisting of two fermions)
 
bool theOppositeSignOnly
 Whether the cut is active on opposite-sign fermions only (ignored for pairs not consisting of two fermions)
 
Ptr< MatcherBase >::ptr theFirstMatcher
 Matchers for a pair of particles to cut on.
 
Ptr< MatcherBase >::ptr theSecondMatcher
 
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.
 
string doYRange (string)
 Command to insert a rapidity range.
 
PairRapidityCutoperator= (const PairRapidityCut &)=delete
 The assignment operator is private and must never be called.
 

Overridden virtual functions defined in the base class.

virtual bool passCuts (tcCutsPtr parent, tcPDPtr pitype, tcPDPtr pjtype, LorentzMomentum pi, LorentzMomentum pj, bool inci=false, bool incj=false) const
 Return true if a pair of particles with type pitype and pjtype and momenta pi and pj respectively passes the cuts.
 
virtual Energy2 minSij (tcPDPtr, tcPDPtr) const
 Return the minimum allowed squared invariant mass of two outgoing partons of type pi and pj.
 
virtual Energy2 minTij (tcPDPtr, tcPDPtr) const
 Return the minimum allowed value of the negative of the squared invariant mass of an incoming parton of type pi and an outgoing parton of type po.
 
virtual double minDeltaR (tcPDPtr, tcPDPtr) const
 Return the minimum allowed value of \(\Delta R_{ij}=\sqrt{\Delta\eta_{ij}^2+\Delta\phi_{ij}^2}\) of two outgoing partons of type pi and pj.
 
virtual Energy minKTClus (tcPDPtr, tcPDPtr) const
 Return the minimum allowed value of the longitudinally invariant \(k_\perp\)-algorithms distance measure.
 
virtual double minDurham (tcPDPtr, tcPDPtr) const
 Return the minimum allowed value of the Durham \(k_\perp\)-algorithms distance measure.
 
virtual void describe () const
 Describe the currently active cuts in the log file.
 
const vector< pair< double, double > > & yRanges () const
 Return the rapidity ranges.
 
bool sameFlavourOnly () const
 Return whether cut acts on same-flavour fermions only.
 
bool oppositeSignOnly () const
 Return whether cut acts on opposite-sign fermions only.
 
Ptr< MatcherBase >::tptr firstMatcher () const
 Return the matchers for a pair of particles to cut on.
 
Ptr< MatcherBase >::tptr secondMatcher () const
 
int family (long id) const
 Return the family of the given PDG id number.
 

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::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- Static Public Member Functions inherited from ThePEG::TwoCutBase
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
 
- 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 &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 
const string & name (const string &newName)
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 
static void registerRepository (IBPtr, string newName)
 

Detailed Description

This class implements a cut on the rapidity of a pair of particles.

Author
Christian Reuschle
See also
The interfaces defined for PairRapidityCut.

Definition at line 31 of file PairRapidityCut.h.

Member Function Documentation

◆ clone()

virtual IBPtr Herwig::PairRapidityCut::clone ( ) const
protectedvirtual

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

◆ describe()

virtual void Herwig::PairRapidityCut::describe ( ) const
virtual

Describe the currently active cuts in the log file.

Reimplemented from ThePEG::TwoCutBase.

◆ firstMatcher()

Ptr< MatcherBase >::tptr Herwig::PairRapidityCut::firstMatcher ( ) const
inline

Return the matchers for a pair of particles to cut on.

Only a pair of particles, matching these objects, will be affected.

Definition at line 132 of file PairRapidityCut.h.

References theFirstMatcher.

◆ fullclone()

virtual IBPtr Herwig::PairRapidityCut::fullclone ( ) const
protectedvirtual

Make a clone of this object, possibly modifying the cloned object to make it sane.

Returns
a pointer to the new object.

Reimplemented from ThePEG::InterfacedBase.

◆ Init()

static void Herwig::PairRapidityCut::Init ( )
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.

◆ minDeltaR()

virtual double Herwig::PairRapidityCut::minDeltaR ( tcPDPtr  ,
tcPDPtr   
) const
inlinevirtual

Return the minimum allowed value of \(\Delta R_{ij}=\sqrt{\Delta\eta_{ij}^2+\Delta\phi_{ij}^2}\) of two outgoing partons of type pi and pj.

Implements ThePEG::TwoCutBase.

Definition at line 72 of file PairRapidityCut.h.

References ThePEG::ZERO.

◆ minDurham()

virtual double Herwig::PairRapidityCut::minDurham ( tcPDPtr  ,
tcPDPtr   
) const
inlinevirtual

Return the minimum allowed value of the Durham \(k_\perp\)-algorithms distance measure.

This is defined as \(2\min(E_j^2, E_j^2)(1-\cos\theta_{ij})/\hat{s}\) for two outgoing partons.

Implements ThePEG::TwoCutBase.

Definition at line 92 of file PairRapidityCut.h.

References ThePEG::ZERO.

◆ minKTClus()

virtual Energy Herwig::PairRapidityCut::minKTClus ( tcPDPtr  ,
tcPDPtr   
) const
inlinevirtual

Return the minimum allowed value of the longitudinally invariant \(k_\perp\)-algorithms distance measure.

This is defined as \(\min(p_{\perp i}, p_{\perp j})\sqrt{\Delta\eta_{ij}^2+\Delta\phi_{ij}^2}\) for two outgoing partons, or simply \(p_{\perp i}\) or \(p_{\perp j}\) for a single outgoing parton. Returns 0 if both partons are incoming. A null pointer indicates an incoming parton, hence the type of the incoming parton is irrelevant.

Implements ThePEG::TwoCutBase.

Definition at line 84 of file PairRapidityCut.h.

References ThePEG::ZERO.

◆ minSij()

virtual Energy2 Herwig::PairRapidityCut::minSij ( tcPDPtr  ,
tcPDPtr   
) const
inlinevirtual

Return the minimum allowed squared invariant mass of two outgoing partons of type pi and pj.

Implements ThePEG::TwoCutBase.

Definition at line 58 of file PairRapidityCut.h.

References ThePEG::ZERO.

◆ minTij()

virtual Energy2 Herwig::PairRapidityCut::minTij ( tcPDPtr  ,
tcPDPtr   
) const
inlinevirtual

Return the minimum allowed value of the negative of the squared invariant mass of an incoming parton of type pi and an outgoing parton of type po.

Implements ThePEG::TwoCutBase.

Definition at line 65 of file PairRapidityCut.h.

References ThePEG::ZERO.

◆ operator=()

PairRapidityCut & Herwig::PairRapidityCut::operator= ( const PairRapidityCut )
privatedelete

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ oppositeSignOnly()

bool Herwig::PairRapidityCut::oppositeSignOnly ( ) const
inline

Return whether cut acts on opposite-sign fermions only.

Definition at line 126 of file PairRapidityCut.h.

References theOppositeSignOnly.

◆ passCuts()

virtual bool Herwig::PairRapidityCut::passCuts ( tcCutsPtr  parent,
tcPDPtr  pitype,
tcPDPtr  pjtype,
LorentzMomentum  pi,
LorentzMomentum  pj,
bool  inci = false,
bool  incj = false 
) const
virtual

Return true if a pair of particles with type pitype and pjtype and momenta pi and pj respectively passes the cuts.

inci and inj indicates if the corresponding particles are incoming.

Reimplemented from ThePEG::TwoCutBase.

◆ persistentInput()

void Herwig::PairRapidityCut::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters
isthe persistent input stream read from.
versionthe version number of the object when written.

◆ persistentOutput()

void Herwig::PairRapidityCut::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ sameFlavourOnly()

bool Herwig::PairRapidityCut::sameFlavourOnly ( ) const
inline

Return whether cut acts on same-flavour fermions only.

Definition at line 121 of file PairRapidityCut.h.

References theSameFlavourOnly.

◆ secondMatcher()

Ptr< MatcherBase >::tptr Herwig::PairRapidityCut::secondMatcher ( ) const
inline

Definition at line 133 of file PairRapidityCut.h.

◆ yRanges()

const vector< pair< double, double > > & Herwig::PairRapidityCut::yRanges ( ) const
inline

Return the rapidity ranges.

Definition at line 116 of file PairRapidityCut.h.

References theYRanges.

Member Data Documentation

◆ theFirstMatcher

Ptr<MatcherBase>::ptr Herwig::PairRapidityCut::theFirstMatcher
private

Matchers for a pair of particles to cut on.

Only a pair of particles, matching these objects, will be affected.

Definition at line 218 of file PairRapidityCut.h.

Referenced by firstMatcher().

◆ theOppositeSignOnly

bool Herwig::PairRapidityCut::theOppositeSignOnly
private

Whether the cut is active on opposite-sign fermions only (ignored for pairs not consisting of two fermions)

Definition at line 212 of file PairRapidityCut.h.

Referenced by oppositeSignOnly().

◆ thePseudo

bool Herwig::PairRapidityCut::thePseudo
private

Whether to use pseudo rapidity instead of rapidity.

Definition at line 200 of file PairRapidityCut.h.

◆ theSameFlavourOnly

bool Herwig::PairRapidityCut::theSameFlavourOnly
private

Whether the cut is active on same-flavour fermions only (ignored for pairs not consisting of two fermions)

Definition at line 206 of file PairRapidityCut.h.

Referenced by sameFlavourOnly().

◆ theSecondMatcher

Ptr<MatcherBase>::ptr Herwig::PairRapidityCut::theSecondMatcher
private

Definition at line 219 of file PairRapidityCut.h.

◆ theYRanges

vector<pair<double,double> > Herwig::PairRapidityCut::theYRanges
private

The rapidity ranges.

Definition at line 195 of file PairRapidityCut.h.

Referenced by yRanges().


The documentation for this class was generated from the following file: