|
FastJet 3.0alpha3
|
Class that helps performing jet background subtraction. More...
#include <Subtractor.hh>


Public Member Functions | |
| Subtractor (BackgroundEstimator *bge) | |
| define a subtractor based on a BackgroundEstimator | |
| virtual | ~Subtractor () |
| default dtor | |
| virtual PseudoJet | result (const PseudoJet &jet) const |
| returns a jet that's subtracted | |
| virtual std::string | description () const |
| class description | |
Protected Attributes | |
| BackgroundEstimator * | _bge |
| the tool used to estimate the background if has to be mutable in case its underlying selector takes a reference jet | |
Class that helps performing jet background subtraction.
This class is nothing but a transformer that makes use of the BackgroundEstimator introduced above to subtract the background from the jet.
The constructor takes as an argument a BackgroundEstimator.
The structure of the jet is not modified.
Definition at line 61 of file Subtractor.hh.
returns a jet that's subtracted
| jet | the jet that is to be subtracted |
Implements fastjet::Transformer.
Definition at line 35 of file Subtractor.cc.
References fastjet::PseudoJet::area_4vector(), fastjet::PseudoJet::has_area(), and fastjet::PseudoJet::perp().
{
if (!jet.has_area()){
throw Error("Trying to subtract a jet without area support");
}
double rho = _bge->rho(jet);
PseudoJet subtracted_jet = jet;
PseudoJet area4vect = jet.area_4vector();
// sanity check
if (rho*area4vect.perp() < jet.perp() ) {
// this subtraction should retain the jet's structural
// information
subtracted_jet -= rho*area4vect;
} else {
// this sets the jet's momentum to zero while
// maintaining all of the jet's structural information
subtracted_jet *= 0;
}
return subtracted_jet;
}
1.7.4