PYTHIA  8.312
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:
HJSlowJet

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)
 Constructor.
 
virtual ~SlowJet ()
 Destructor.
 
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
 
SlowJetHooksjHookPtr
 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 ( )
protected

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.

Done.

bool doStep ( )
virtual

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.

Done.

void findNext ( )
protectedvirtual

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)
inline

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.

Header.

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.

Done.

Member Data Documentation

const int TIMESTOPRINT = 1
staticprotected

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: