hephysics.jet
Class SCJet
- java.lang.Object
-
- hephysics.jet.SCJet
-
public class SCJet extends java.lang.Object
SCJet is an implementation of the longitudinally-invariant kT, anti-KT and Cambridge/Aachen clustering algorithms. The algorithm uses rapidity-phi for the distance parameter and double values for merging. The input and output for this algorithm isParticleD
class.This class uses double values for calculations, caching and requires more memory, compared to the light-weight
KTjet
class that uses floats and pseudo-rapidity to define the distance parameter. This implementation can access jet constituents.KTjet
class when using pseudo-rapidity and phi to define distance parameters. The method uses E-scheme to combine particles (p1+p2). More details is in http://arxiv.org/pdf/hep-ph/0210022v1.pdf.
-
-
Constructor Summary
Constructors Constructor and Description SCJet(double R, double minpt)
Initialize calculations of the kT algorithm.SCJet(double R, int recom, int mode, double minpt)
Initialize calculations of the longitudinally invariant kT algorithm in inclusive mode.SCJet(double R, int recom, int mode, double minpt, boolean isfast)
Initialize calculations of the longitudinally invariant kT algorithm in inclusive mode.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.util.List<ParticleD>
buildJets(java.util.List<ParticleD> list)
Run the jet algorithm using the list of particles.double
getDistance(ParticleD a, ParticleD b)
Calculate R distance in y-phi.java.util.ArrayList<ParticleD>
getJetsSorted()
Get jets after sorting in jet pT.double
getKtDistance1(ParticleD a)
This is the KT distance to the beam (assuming Z=Y=0).double
getKtDistance12(ParticleD a, ParticleD b)
Calculate delta R distance.static void
main(java.lang.String[] args)
Main class for testing.void
printJets()
Print the kT jets for debugging.void
setDebug(boolean debug)
Print debugging information.java.lang.String
toString()
Print the kT jets for debugging to a string.
-
-
-
Constructor Detail
-
SCJet
public SCJet(double R, int recom, int mode, double minpt, boolean isfast)
Initialize calculations of the longitudinally invariant kT algorithm in inclusive mode. Jet can be clustered using Cambridge/Aachen or anti-kT approaches, depending on the "mode" parameter. The distance parameters are rapidity and phi.- Parameters:
R
- distance measurerecom
- recombination scheme.
1: The E-scheme Simple 4-vector addition.
2: The pT-scheme.
3: The pT^2 scheme.
Currently only E-scheme is implemented.mode
- clustering mode dij=min(kT_i^{2* mode},kT_j^{2* mode})).
mode=1 means inclusive kT jet algorithm
mode=0 means Cambridge/Aachen jet algorithm
mode=-1 means anti-KT jet algorithmminpt
- min pT for final jets.isfast
- if true, use a seeded anti-KT algorithm. This algorithm is faster, but some difference may exist with the original anti-KT (i.e. when true is set) for soft jets. If false, use the traditional that scales as N^3 (slow).
-
SCJet
public SCJet(double R, int recom, int mode, double minpt)
Initialize calculations of the longitudinally invariant kT algorithm in inclusive mode. Jet can be clustered using Cambridge/Aachen or anti-kT approaches, depending on the "mode" parameter. The distance parameters are rapidity and phi. Fast mode is disabled.- Parameters:
R
- distance measurerecom
- recombination scheme.
1: The E-scheme Simple 4-vector addition.
2: The pT-scheme.
3: The pT^2 scheme.
Currently only E-scheme is implemented.mode
- clustering mode dij=min(kT_i^{2* mode},kT_j^{2* mode})).
mode=1 means inclusive kT jet algorithm
mode=0 means Cambridge/Aachen jet algorithm
mode=-1 means anti-kT jet algorithmminpt
- min pT for final jets.
-
SCJet
public SCJet(double R, double minpt)
Initialize calculations of the kT algorithm. Meaningful values are R=0.2- 1. Jets are clustered in rapidity and phi space. The The E-scheme with 4-vector addition is used.- Parameters:
R
- distance measureminpt
- min pT for final jets.
-
-
Method Detail
-
buildJets
public java.util.List<ParticleD> buildJets(java.util.List<ParticleD> list)
Run the jet algorithm using the list of particles.- Parameters:
list
- list with particles- Returns:
- final jets without sorting.
-
getJetsSorted
public java.util.ArrayList<ParticleD> getJetsSorted()
Get jets after sorting in jet pT. Run buildJets before calling this method.- Returns:
- list with sorted jets
-
printJets
public void printJets()
Print the kT jets for debugging.
-
toString
public java.lang.String toString()
Print the kT jets for debugging to a string.- Overrides:
toString
in classjava.lang.Object
- Returns:
- String representing a jet
-
getKtDistance12
public double getKtDistance12(ParticleD a, ParticleD b)
Calculate delta R distance.- Parameters:
a
- input particleb
- input particlep
- power parameter- Returns:
- Kt distance
-
getDistance
public double getDistance(ParticleD a, ParticleD b)
Calculate R distance in y-phi.- Parameters:
a
- input particleb
- input particle- Returns:
- y-phi distance
-
getKtDistance1
public double getKtDistance1(ParticleD a)
This is the KT distance to the beam (assuming Z=Y=0). The distance measure depends on the mode parameter.- Parameters:
a
- particle- Returns:
- kT distance
-
setDebug
public void setDebug(boolean debug)
Print debugging information. It shows how much time spend to make jets in ms.- Parameters:
debug
- true if printing benchmark information.
-
main
public static void main(java.lang.String[] args)
Main class for testing.- Parameters:
args
-
-
-
DMelt 3.0 © DataMelt by jWork.ORG