|
fastjet 3.0alpha2
|
A class that will provide the recombination scheme facilities and/or allow a user to extend these facilities. More...
#include <JetDefinition.hh>


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 | |
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.
| void 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 JetDefinition::Recombiner.
Definition at line 216 of file JetDefinition.cc.
{
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());
}
}
1.7.3