fastjet::ClusterSequenceVoronoiArea Class Reference

Handle the computation of Voronoi jet area. More...

#include <ClusterSequenceVoronoiArea.hh>

Inheritance diagram for fastjet::ClusterSequenceVoronoiArea:

Inheritance graph
fastjet::ClusterSequenceAreaBasefastjet::ClusterSequence
[legend]
Collaboration diagram for fastjet::ClusterSequenceVoronoiArea:

Collaboration graph
fastjet::ClusterSequenceAreaBasefastjet::ClusterSequencefastjet::JetDefinitionfastjet::JetDefinition::DefaultRecombinerfastjet::JetDefinition::Recombinerfastjet::JetDefinition::PluginLimitedWarningfastjet::ClusterSequenceVoronoiArea::VoronoiAreaCalc
[legend]
List of all members.

Public Member Functions

template<class L>
 ClusterSequenceVoronoiArea (const std::vector< L > &pseudojets, const JetDefinition &jet_def, const VoronoiAreaSpec &spec=VoronoiAreaSpec(), const bool &writeout_combinations=false)
 template constructor need to be specified in the header!
 ~ClusterSequenceVoronoiArea ()
 default dtor
virtual double area (const PseudoJet &jet) const
 return the area associated with the given jet
virtual PseudoJet area_4vector (const PseudoJet &jet) const
 return a 4-vector area associated with the given jet -- stricly this is not the exact 4-vector area, but rather an approximation made of sums of centres of all Voronoi cells in jet, each contributing with a normalisation equal to the area of the cell
virtual double area_error (const PseudoJet &jet) const
 return the error of the area associated with the given jet (0 by definition for a voronoi area)

Private Member Functions

void _initializeVA ()
 initialisation of the Voronoi Area

Private Attributes

std::vector< double > _voronoi_area
 vector containing the result
std::vector< PseudoJet_voronoi_area_4vector
 vector containing approx 4-vect areas
VoronoiAreaCalc_pa_calc
 area calculator
double _effective_Rfact
 effective radius

Classes

class  VoronoiAreaCalc
 class for carrying out a voronoi area calculation on a set of initial vectors More...

Detailed Description

Handle the computation of Voronoi jet area.

Definition at line 46 of file ClusterSequenceVoronoiArea.hh.


Constructor & Destructor Documentation

template<class L>
fastjet::ClusterSequenceVoronoiArea::ClusterSequenceVoronoiArea ( const std::vector< L > &  pseudojets,
const JetDefinition jet_def,
const VoronoiAreaSpec spec = VoronoiAreaSpec(),
const bool &  writeout_combinations = false 
) [inline]

template constructor need to be specified in the header!

Parameters:
pseudojet list of jets (template type)
jet_def jet definition
effective_Rfact effective radius
writeout_combinations ??????

Definition at line 99 of file ClusterSequenceVoronoiArea.hh.

00102                                      :
00103   _effective_Rfact(spec.effective_Rfact()) {
00104 
00105   // transfer the initial jets (type L) into our own array
00106   _transfer_input_jets(pseudojets);
00107 
00108   // run the clustering
00109   _initialise_and_run(jet_def,writeout_combinations);
00110 
00111   // the jet clustering's already been done, now worry about areas...
00112   _initializeVA();
00113 }

fastjet::ClusterSequenceVoronoiArea::~ClusterSequenceVoronoiArea (  ) 

default dtor

Definition at line 308 of file ClusterSequenceVoronoiArea.cc.

References _pa_calc.

00308                                                         {
00309   delete _pa_calc;
00310 }


Member Function Documentation

virtual double fastjet::ClusterSequenceVoronoiArea::area ( const PseudoJet jet  )  const [inline, virtual]

return the area associated with the given jet

Reimplemented from fastjet::ClusterSequenceAreaBase.

Definition at line 63 of file ClusterSequenceVoronoiArea.hh.

References fastjet::PseudoJet::cluster_hist_index().

Referenced by _initializeVA().

00063                                                           {
00064     return _voronoi_area[jet.cluster_hist_index()];};

virtual PseudoJet fastjet::ClusterSequenceVoronoiArea::area_4vector ( const PseudoJet jet  )  const [inline, virtual]

return a 4-vector area associated with the given jet -- stricly this is not the exact 4-vector area, but rather an approximation made of sums of centres of all Voronoi cells in jet, each contributing with a normalisation equal to the area of the cell

Reimplemented from fastjet::ClusterSequenceAreaBase.

Definition at line 70 of file ClusterSequenceVoronoiArea.hh.

References fastjet::PseudoJet::cluster_hist_index().

00070                                                                      {
00071     return _voronoi_area_4vector[jet.cluster_hist_index()];};

virtual double fastjet::ClusterSequenceVoronoiArea::area_error ( const PseudoJet jet  )  const [inline, virtual]

return the error of the area associated with the given jet (0 by definition for a voronoi area)

Reimplemented from fastjet::ClusterSequenceAreaBase.

Definition at line 75 of file ClusterSequenceVoronoiArea.hh.

00075                                                                 {
00076     return 0.0;};

void fastjet::ClusterSequenceVoronoiArea::_initializeVA (  )  [private]

initialisation of the Voronoi Area

Definition at line 266 of file ClusterSequenceVoronoiArea.cc.

References _effective_Rfact, fastjet::ClusterSequence::_history, fastjet::ClusterSequence::_jet_def, fastjet::ClusterSequence::_jets, _pa_calc, _voronoi_area, _voronoi_area_4vector, area(), fastjet::ClusterSequenceVoronoiArea::VoronoiAreaCalc::area(), fastjet::ClusterSequence::n_particles(), and fastjet::JetDefinition::R().

00266                                                 {
00267   // run the VAC on our original particles
00268   _pa_calc = new VAC(_jets.begin(), 
00269                      _jets.begin()+n_particles(),
00270                      _effective_Rfact*_jet_def.R());
00271 
00272   // transfer the areas to our local structure
00273   //  -- first the initial ones
00274   _voronoi_area.reserve(2*n_particles());
00275   for (unsigned int i=0; i<n_particles(); i++) {
00276     _voronoi_area.push_back(_pa_calc->area(i));
00277     // make a stab at a 4-vector area
00278     if (_jets[i].perp2() > 0) {
00279       _voronoi_area_4vector.push_back((_pa_calc->area(i)/_jets[i].perp())
00280                                       * _jets[i]);
00281     } else {
00282       // not sure what to do here -- just put zero (it won't be meaningful
00283       // anyway)
00284       _voronoi_area_4vector.push_back(PseudoJet(0.0,0.0,0.0,0.0));
00285     }
00286   }
00287            
00288   //  -- then the combined areas that arise from the clustering
00289   for (unsigned int i = n_particles(); i < _history.size(); i++) {
00290     double area;
00291     PseudoJet area_4vect;
00292     if (_history[i].parent2 >= 0) {
00293       area = _voronoi_area[_history[i].parent1] + 
00294              _voronoi_area[_history[i].parent2];
00295       area_4vect = _voronoi_area_4vector[_history[i].parent1] + 
00296                    _voronoi_area_4vector[_history[i].parent2];
00297     } else {
00298       area = _voronoi_area[_history[i].parent1];
00299       area_4vect = _voronoi_area_4vector[_history[i].parent1];
00300     }
00301     _voronoi_area.push_back(area);
00302     _voronoi_area_4vector.push_back(area_4vect);
00303   }
00304 
00305 }


Member Data Documentation

std::vector<double> fastjet::ClusterSequenceVoronoiArea::_voronoi_area [private]

vector containing the result

Definition at line 87 of file ClusterSequenceVoronoiArea.hh.

Referenced by _initializeVA().

std::vector<PseudoJet> fastjet::ClusterSequenceVoronoiArea::_voronoi_area_4vector [private]

vector containing approx 4-vect areas

Definition at line 88 of file ClusterSequenceVoronoiArea.hh.

Referenced by _initializeVA().

VoronoiAreaCalc* fastjet::ClusterSequenceVoronoiArea::_pa_calc [private]

area calculator

Definition at line 89 of file ClusterSequenceVoronoiArea.hh.

Referenced by _initializeVA(), and ~ClusterSequenceVoronoiArea().

double fastjet::ClusterSequenceVoronoiArea::_effective_Rfact [private]

effective radius

Definition at line 90 of file ClusterSequenceVoronoiArea.hh.

Referenced by _initializeVA().


The documentation for this class was generated from the following files:
Generated on Tue Dec 18 17:05:52 2007 for fastjet by  doxygen 1.5.2