PYTHIA  8.303
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
SlowJet Class Reference

#include <Analysis.h>

Inheritance diagram for SlowJet:

Public Member Functions

 SlowJet (int powerIn, double Rin, double pTjetMinIn=0., double etaMaxIn=25., int selectIn=2, int massSetIn=2, SlowJetHook *sjHookPtrIn=0, bool useFJcoreIn=true, bool useStandardRin=true)
virtual ~SlowJet ()
bool analyze (const Event &event)
 Analyze event, all in one go.
bool setup (const Event &event)
 Set up list of particles to analyze, and initial distances. More...
virtual bool doStep ()
 Do one recombination step, possibly giving a jet. More...
bool doNSteps (int nStep)
 Do several recombinations steps, if possible.
bool stopAtN (int nStop)
 Do recombinations until fixed numbers of clusters and jets remain.
int sizeOrig () const
 Return info on jet (+cluster) results of analysis.
int sizeJet () const
int sizeAll () const
double pT (int i) const
double y (int i) const
double phi (int i) const
Vec4 p (int i) const
double m (int i) const
int multiplicity (int i) const
int iNext () const
 Return info on next step to be taken.
int jNext () const
double dNext () const
void list (bool listAll=false) const
 Provide a listing of the info. More...
vector< int > constituents (int j)
 Give a list of all particles in the jet.
vector< int > clusConstituents (int j)
 Give a list of all particles in the cluster.
int jetAssignment (int i)
void removeJet (int i)
 Remove a jet.

Protected Member Functions

virtual void findNext ()
 Find next cluster pair to join. More...
bool clusterFJ ()
 Use FJcore interface to perform clustering. More...

Protected Attributes

int power
 Properties of analysis as such.
double R
double pTjetMin
double etaMax
double R2
double pT2jetMin
int select
int massSet
 SlowJetHook can be used to tailor particle selection step.
bool useFJcore
bool useStandardR
bool isAnti
bool isKT
bool cutInEta
bool chargedOnly
bool visibleOnly
bool modifyMass
bool noHook
vector< SingleSlowJetclusters
 Intermediate clustering objects and final jet objects.
vector< SingleSlowJetjets
vector< double > diB
 Intermediate clustering distances.
vector< double > dij
int origSize
 Other intermediate variables.
int clSize
int clLast
int jtSize
int iMin
int jMin
double dPhi
double dijTemp
double dMin

Static Protected Attributes

static const int TIMESTOPRINT = 1
 Constants: could only be changed in the code itself. More...
static const double PIMASS = 0.13957
 Assume the pi+- mass for all particles, except the photon, in one option.
static const double TINY = 1e-20
 Small number to avoid division by zero.

Detailed Description

SlowJet class. This class performs a recombination jet search in (y, phi, pT) space.

Member Function Documentation

bool clusterFJ ( )

Use FJcore interface to perform clustering.

Read in input configuration of particles.

Create a jet definition = jet algorithm + radius parameter.

Run the jet clustering with the above jet definition.

Get the resulting jets above pTmin, ordered in pT.

Store the FJcore output in the standard SlowJet format.

Also find constituents of jet.

Set counters and some dummy (for FJcore) information.


bool doStep ( )

Do one recombination step, possibly giving a jet.

Fail if using FJcore or if no possibility to take a step.

When distance to beam is smallest the cluster is promoted to jet.

Store new jet if its pT is above pTMin.

Order jets in decreasing pT.

When distance between two clusters is smallest they are joined.

Add iMin cluster to jMin.

Update distances for and to new jMin.

Move up last cluster and distances to vacated position iMin.

Shrink cluster list by one.

Find next cluster pair to join.


void findNext ( )

Find next cluster pair to join.

Find smallest of diB, dij.

If no clusters left then instead default values.

Reimplemented in HJSlowJet.

int jetAssignment ( int  i)

Give the index of the jet that the particle i of the event record belongs to. Returns -1 if particle i is not found in a jet.

void list ( bool  listAll = false) const

Provide a listing of the info.


The jets.

Optionally list also clusters not yet jets.

Listing finished.

bool setup ( const Event event)

Set up list of particles to analyze, and initial distances.

Initial values zero.

Loop over final particles in the event.

Always apply selection options for visible or charged particles.

Normally use built-in selection machinery.

Pseudorapidity cut to describe detector range.

Optionally modify mass and energy.

Alternatively pass info to SlowJetHook for decision. User can also modify pTemp and mTemp.

Store particle momentum, including some derived quantities.

Done here for FJcore machinery.

Resize arrays to store distances between clusters.

Loop through particles and find distance to beams.

Loop through pairs and find relative distance.

End of original-particle loops.

Find first particle pair to join.


Member Data Documentation

const int TIMESTOPRINT = 1

Constants: could only be changed in the code itself.

Minimum number of particles to perform study.

SlowJet class. This class performs clustering in (y, phi, pT) space. Constants: could be changed here if desired, but normally should not. These are of technical nature, as described for each.

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