ktjet is hosted by Hepforge, IPPP Durham

Distance and Recombination Schemes

KtJet defines three Distance schemes and five Recombination schemes. However the user can define their own scheme and use this instead. The Distance scheme has to be a KtJet::KtDistance object (i.e. inherit from KtJet::KtDistance) and the recombination scheme has to be a KtJet::KtRecom.

The new schemes can be passed to KtEvent as pointers to the base class, so for example:

  /** Construct a user defined distance scheme */
  KtJet::KtDistance* distScheme = new MyNewDistanceScheme(); 
  /** Construct a user defined recombination scheme */
  KtJet::KtRecom* recomScheme = new MyNewRecombinationScheme(); 

  /** A vector of KtLorentzVectors */
  std::vector<KtJet::KtLorentzVector> avec;

  /** Construct a KtEvent in inclusive mode for PP events using deltaR 
      distance scheme and user defined recombination scheme */
  KtJet::KtEvent ev(avec,4,2,recomScheme,1.0);

  /** Construct a KtEvent in inclusive mode for eP events using user 
      defined distance scheme and E recombination scheme */
  KtJet::KtEvent ev(avec,2,distScheme,1,1.0);

  /** Construct a KtEvent in exclusive mode for ee events using user 
      defined distance and recombination scheme */
  KtJet::KtEvent ev(avec,1,distScheme,recomScheme);

KtDistance Scheme

KtJet::KtDistance has a simple interface that has to be honoured when users define their own schemes.

  KtFloat operator()(const KtLorentzVector &) const;

This calculates the distance between the input KtLorentzVector and the beam.

  KtFloat operator()(const KtLorentzVector &, const KtLorentzVector &) const;

This calculates the distance between the two input KtLorentzVectors.

  string name() const;

This returns the name of the distance scheme.

KtJet defines three KtDistance schemes of its own: KtDistanceAngle, KtDistanceDeltaR and KtDistanceQCD.

KtRecom Scheme

KtJet::KtRecom also has a simple three method interface that has to be honoured when users define their own schemes.

  HepLorentzVector operator()(const HepLorentzVector &, const HepLorentzVector &) const;

This calculates the merged four-momentum of the two input HepLorentzVectors.

  KtLorentzVector operator()(const KtLorentzVector &) const;

This modifies the input HepLorentzVector so that it meets the criteria of the recombination scheme. For example, in the E scheme it just returns an identical copy of the input HepLorentzVector and in the Pt scheme this function returns a copy of the input HepLorentzVector with its energy set equal to its magnitude (i.e. massless).

  std::string name() const;

This returns the name of the distance scheme.

KtJet defines five KtRecom schemes of its own: KtRecomE, KtRecomPt, KtRecomPt2, KtRecomEt and KtRecomEt2.