ThePEG::MadGraphTwoCut Class Reference

Objects of the MadGraphTwoCut class can be created automatically by the MadGraphReader class when scanning event files for information about cuts. More...

#include <MadGraphTwoCut.h>

Inheritance diagram for ThePEG::MadGraphTwoCut:

ThePEG::TwoCutBase ThePEG::Interfaced ThePEG::InterfacedBase ThePEG::Base ThePEG::Named ThePEG::Pointer::ReferenceCounted

List of all members.

Public Types

enum  CutType { INVMASS, DELTAR }
 Enumerate the different kinds of cuts made by MadGraph. More...
enum  PType {
  JET, LEP, PHO, BOT,
  NOT
}
 Enumerate the types of particles the cut is made on. More...
enum  PPType {
  JETJET, LEPLEP, PHOPHO, BOTBOT,
  BOTJET, PHOJET, JETLEP, PHOBOT,
  BOTLEP, PHOLEP
}
 Enumerate the types of particles pairs the cut is made on. More...

Public Member Functions

Standard constructors and destructors.
 MadGraphTwoCut ()
 The default constructor.
 MadGraphTwoCut (CutType t, PPType p, double c)
 The constructor used by the MadGraphReader.
Virtual functions mandated by the base class.
virtual Energy2 minSij (tcPDPtr pi, tcPDPtr pj) const
 Return the minimum allowed squared invariant mass of two outgoing partons of type pi and pj.
virtual Energy2 minTij (tcPDPtr pi, tcPDPtr po) 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 pi, tcPDPtr pj) 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 pi, tcPDPtr pj) const
 Return the minimum allowed value of the longitudinally invariant $k_\perp$-algorithms distance measure.
virtual double minDurham (tcPDPtr pi, tcPDPtr pj) const
 Return the minimum allowed value of the Durham $k_\perp$-algorithms distance measure.
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.
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 Public Member Functions

static void Init ()
 The standard Init function used to initialize the interfaces.

Protected Member Functions

bool checkType (tcPDPtr pi, tcPDPtr pj) const
 Returns true if cut should be applied to pair of particles of type pi and pj.
PType getType (tcPDPtr p) const
 Get the type of particle p.
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.

Private Member Functions

MadGraphTwoCutoperator= (const MadGraphTwoCut &)
 The assignment operator is private and must never be called.

Private Attributes

CutType cutType
 The type of this cut.
PPType pairType
 The type of particle pairs this cut applies to.
double theCut
 The value of the cut to be applied.

Static Private Attributes

static ClassDescription
< MadGraphTwoCut
initMadGraphTwoCut
 The static object used to initialize the description of this class.


Detailed Description

Objects of the MadGraphTwoCut class can be created automatically by the MadGraphReader class when scanning event files for information about cuts.

It is also possible to create objects by hand and use it as any other OneCutBase object.

See also:
The interfaces defined for MadGraphTwoCut.

Definition at line 28 of file MadGraphTwoCut.h.


Member Enumeration Documentation

Enumerate the different kinds of cuts made by MadGraph.

Enumerator:
INVMASS  The minimum invariant mass of two particles.

DELTAR  The minimum pseudo-rapidity--azimuth-angle distance between two particles.

Definition at line 35 of file MadGraphTwoCut.h.

Enumerate the types of particles the cut is made on.

Enumerator:
JET  Coloured particles (jets).

LEP  Leptons.

PHO  Photons.

BOT  Bottom quarks.

NOT  Other types not cut on.

Definition at line 44 of file MadGraphTwoCut.h.

Enumerate the types of particles pairs the cut is made on.

Enumerator:
JETJET  The cut applies only to pairs of coloured particles (jets).

LEPLEP  The cut applies only to lepton pairs (in case of INVMASS lepton--anti-lepton pairs of same flavour).

PHOPHO  The cut applies only to pairs photons.

BOTBOT  The cut applies only to pairs of bottom quarks.

BOTJET  The cut applies only to bottom quarks paired with another coloured particle (jet).

PHOJET  The cut applies only to a photon paired with a coloured particle (jet).

JETLEP  The cut applies only to a coloured particle (jet) paired with a lepton.

PHOBOT  The cut applies only to a photon paired with a bottom quark.

BOTLEP  The cut applies only to bottom quarks paired with a lepton.

PHOLEP  The cut applies only to a photon paired with a lepton.

Definition at line 55 of file MadGraphTwoCut.h.


Constructor & Destructor Documentation

ThePEG::MadGraphTwoCut::MadGraphTwoCut ( CutType  t,
PPType  p,
double  c 
) [inline]

The constructor used by the MadGraphReader.

Parameters:
t is the type of the cut.
p is the type of particles the cut is applied to.
c is the value of the cut (in units of GeV where applicable).

Definition at line 88 of file MadGraphTwoCut.h.


Member Function Documentation

virtual Energy ThePEG::MadGraphTwoCut::minKTClus ( tcPDPtr  pi,
tcPDPtr  pj 
) const [virtual]

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.

virtual double ThePEG::MadGraphTwoCut::minDurham ( tcPDPtr  pi,
tcPDPtr  pj 
) const [virtual]

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.

virtual bool ThePEG::MadGraphTwoCut::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.

void ThePEG::MadGraphTwoCut::persistentOutput ( PersistentOStream os  )  const

Function used to write out object persistently.

Parameters:
os the persistent output stream written to.

Reimplemented from ThePEG::Interfaced.

void ThePEG::MadGraphTwoCut::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters:
is the persistent input stream read from.
version the version number of the object when written.

Reimplemented from ThePEG::Interfaced.

static void ThePEG::MadGraphTwoCut::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.

Reimplemented from ThePEG::TwoCutBase.

virtual IBPtr ThePEG::MadGraphTwoCut::clone (  )  const [protected, virtual]

Make a simple clone of this object.

Returns:
a pointer to the new object.

Implements ThePEG::InterfacedBase.

virtual IBPtr ThePEG::MadGraphTwoCut::fullclone (  )  const [protected, virtual]

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.

MadGraphTwoCut& ThePEG::MadGraphTwoCut::operator= ( const MadGraphTwoCut  )  [private]

The assignment operator is private and must never be called.

In fact, it should not even be implemented.


Member Data Documentation

The static object used to initialize the description of this class.

Indicates that this is a concrete class with persistent data.

Definition at line 227 of file MadGraphTwoCut.h.


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

Generated on Thu Apr 29 12:43:10 2010 for ThePEG by  doxygen 1.5.5