Public Member Functions

fastjet::JetDefinition::DefaultRecombiner Class Reference
[Advanced usage]

A class that will provide the recombination scheme facilities and/or allow a user to extend these facilities. More...

#include <JetDefinition.hh>

Inheritance diagram for fastjet::JetDefinition::DefaultRecombiner:
Inheritance graph
[legend]
Collaboration diagram for fastjet::JetDefinition::DefaultRecombiner:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DefaultRecombiner (RecombinationScheme recomb_scheme=E_scheme)
virtual std::string description () const
 return a textual description of the recombination scheme implemented here
virtual void recombine (const PseudoJet &pa, const PseudoJet &pb, PseudoJet &pab) const
 recombine pa and pb and put result into pab
virtual void preprocess (PseudoJet &p) const
 routine called to preprocess each input jet (to make all input jets compatible with the scheme requirements (e.g.
RecombinationScheme scheme () const
 return the index of the recombination scheme

Detailed Description

A class that will provide the recombination scheme facilities and/or allow a user to extend these facilities.

This class is derived from the (abstract) class Recombiner. It simply "sums" PseudoJets using a specified recombination scheme (E-scheme by default)

Definition at line 385 of file JetDefinition.hh.


Member Function Documentation

void fastjet::JetDefinition::DefaultRecombiner::preprocess ( PseudoJet  )  const [virtual]

routine called to preprocess each input jet (to make all input jets compatible with the scheme requirements (e.g.

massless).

Reimplemented from fastjet::JetDefinition::Recombiner.

Definition at line 216 of file JetDefinition.cc.

References fastjet::BIpt2_scheme, fastjet::BIpt_scheme, fastjet::E_scheme, fastjet::Et2_scheme, fastjet::Et_scheme, fastjet::PseudoJet::perp2(), fastjet::pt2_scheme, fastjet::pt_scheme, fastjet::PseudoJet::set_user_index(), and fastjet::PseudoJet::user_index().

                                                                   {
  switch(_recomb_scheme) {
  case E_scheme:
  case BIpt_scheme:
  case BIpt2_scheme:
    break;
  case pt_scheme:
  case pt2_scheme:
    {
      // these schemes (as in the ktjet implementation) need massless
      // initial 4-vectors with essentially E=|p|.
      double newE = sqrt(p.perp2()+p.pz()*p.pz());
      int    user_index = p.user_index();
      p = PseudoJet(p.px(), p.py(), p.pz(), newE);
      p.set_user_index(user_index);
    }
    break;
  case Et_scheme:
  case Et2_scheme:
    {
      // these schemes (as in the ktjet implementation) need massless
      // initial 4-vectors with essentially E=|p|.
      double rescale = p.E()/sqrt(p.perp2()+p.pz()*p.pz());
      int    user_index = p.user_index();
      p = PseudoJet(rescale*p.px(), rescale*p.py(), rescale*p.pz(), p.E());
      p.set_user_index(user_index);
    }
    break;
  default:
    ostringstream err;
    err << "DefaultRecombiner: unrecognized recombination scheme " 
        << _recomb_scheme;
    throw Error(err.str());
  }
}


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