hep.physics.jets
Class AbstractJetFinder

java.lang.Object
  |
  +--hep.physics.jets.AbstractJetFinder
All Implemented Interfaces:
JetFinder
Direct Known Subclasses:
DurhamJetFinder, GenevaJetFinder, JadeE0JetFinder, JadeEJetFinder, JadeJetFinder, JadeP0JetFinder, JadePJetFinder

public abstract class AbstractJetFinder
extends java.lang.Object
implements JetFinder

Base class for jet finders


Field Summary
protected  int m_np
           
protected  HepLorentzVector[] m_part
           
protected  double[][] ymass
           
 
Constructor Summary
protected AbstractJetFinder(double ycut)
           
 
Method Summary
protected  double durham_mass(HepLorentzVector part1, HepLorentzVector part2)
           
 int fewestTracks()
          Find the jet with the fewest particles
protected  void four_vector_combine(int im, int jm)
           
protected  double four_vector_mass(HepLorentzVector part1, HepLorentzVector part2)
           
protected  double geneva_mass(HepLorentzVector part1, HepLorentzVector part2)
           
protected  double geneva_masscut(double ycut)
           
 double getYCut()
          Obtain the current ycut
protected  double jade_mass(HepLorentzVector part1, HepLorentzVector part2)
           
protected  void jadeE0_combine(int im, int jm)
           
protected  void jadeP_combine(int im, int jm)
           
protected  double jadeP0_masscut(double ycut, double esum)
           
 HepLorentzVector jet(int index)
          calculate 4 vector sum for a jet
 int njets()
          The number of jets found
 int nParticlesPerJet(int index)
          Find out many particles are in a particular jet
 java.util.Enumeration particlesInJet(int index)
          Find out which particles are in a paricular jet
static void setAssumedMassFor3Vectors(double mass)
          Set the mass to use when converting 3-vectors to 4-vectors This is a static method so the mass applies to all instances of AbstractJetFinder.
 void setEvent(java.util.Enumeration e)
          Call this to input a new event to the jet finder.
 void setEvent(java.util.Enumeration e, Predicate cut)
          Call this to input a new event to the jet finder.
 void setYCut(double ycut)
          Set the YCut value.
protected  double standard_masscut(double ycut, double evis)
          There are a variety of collinear, infra-red safe jet finders available.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_np

protected int m_np

m_part

protected HepLorentzVector[] m_part

ymass

protected double[][] ymass
Constructor Detail

AbstractJetFinder

protected AbstractJetFinder(double ycut)
Method Detail

njets

public int njets()
Description copied from interface: JetFinder
The number of jets found
Specified by:
njets in interface JetFinder
Following copied from interface: hep.physics.jets.JetFinder
Returns:
The number of jets found

jet

public HepLorentzVector jet(int index)
Description copied from interface: JetFinder
calculate 4 vector sum for a jet
Specified by:
jet in interface JetFinder
Following copied from interface: hep.physics.jets.JetFinder
Parameters:
index - The index of the jet of interest
Returns:
The 4 vector of the jet

particlesInJet

public java.util.Enumeration particlesInJet(int index)
Description copied from interface: JetFinder
Find out which particles are in a paricular jet
Specified by:
particlesInJet in interface JetFinder
Following copied from interface: hep.physics.jets.JetFinder
Parameters:
index - The index of the jet of interest
Returns:
An enumeration of the particles within the jet

nParticlesPerJet

public int nParticlesPerJet(int index)
Description copied from interface: JetFinder
Find out many particles are in a particular jet
Specified by:
nParticlesPerJet in interface JetFinder
Following copied from interface: hep.physics.jets.JetFinder
Parameters:
index - The index of the jet of interest
Returns:
The number of particles

fewestTracks

public int fewestTracks()
Description copied from interface: JetFinder
Find the jet with the fewest particles
Specified by:
fewestTracks in interface JetFinder
Following copied from interface: hep.physics.jets.JetFinder
Returns:
Returns the number of tracks in the jet with the fewest tracks

getYCut

public double getYCut()
Obtain the current ycut
Returns:
The current value of ycut

setYCut

public void setYCut(double ycut)
Set the YCut value. If the new value for ycut is not the same as the old ycut the jet finding will be rerun.
Parameters:
ycut - the new value to be set for ycut

setEvent

public void setEvent(java.util.Enumeration e)
Call this to input a new event to the jet finder.
Specified by:
setEvent in interface JetFinder
Parameters:
e - An Enumeration of either HepLorentzVectors (4Vectors) or Hep3Vectors

setAssumedMassFor3Vectors

public static void setAssumedMassFor3Vectors(double mass)
Set the mass to use when converting 3-vectors to 4-vectors This is a static method so the mass applies to all instances of AbstractJetFinder. The default is 0.
Parameters:
mass - The new value to use

setEvent

public void setEvent(java.util.Enumeration e,
                     Predicate cut)
Call this to input a new event to the jet finder. Only elements of the enumeration which are accepted by the predicate will be used for jet finding.
Specified by:
setEvent in interface JetFinder
Parameters:
e - An Enumeration of either HepLorentzVectors (4Vectors) or Hep3Vectors
cut - A predicate that is applied to each element of e

standard_masscut

protected double standard_masscut(double ycut,
                                  double evis)
There are a variety of collinear, infra-red safe jet finders available. The differences between them are (1) How they determine the cutoff mass from the ycut parameter. (2) How they combine two four-vectors together as they build up the jet. (3) what mass they assign to a four-vector. The following methods are the algorithms used in these jet finders. A concrete jet finder is an extension of the AbstractJetFinder (the current class) that specifies a masscut method, a combine_particles method and a calculate_mass method.

geneva_masscut

protected double geneva_masscut(double ycut)

jadeP0_masscut

protected double jadeP0_masscut(double ycut,
                                double esum)

four_vector_combine

protected void four_vector_combine(int im,
                                   int jm)

jadeP_combine

protected void jadeP_combine(int im,
                             int jm)

jadeE0_combine

protected void jadeE0_combine(int im,
                              int jm)

four_vector_mass

protected double four_vector_mass(HepLorentzVector part1,
                                  HepLorentzVector part2)

jade_mass

protected double jade_mass(HepLorentzVector part1,
                           HepLorentzVector part2)

durham_mass

protected double durham_mass(HepLorentzVector part1,
                             HepLorentzVector part2)

geneva_mass

protected double geneva_mass(HepLorentzVector part1,
                             HepLorentzVector part2)