ClusterSequenceVoronoiArea Class Reference

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

#include <ClusterSequenceVoronoiArea.hh>

Inheritance diagram for ClusterSequenceVoronoiArea:
Inheritance graph
[legend]
Collaboration diagram for ClusterSequenceVoronoiArea:
Collaboration graph
[legend]

List of all members.

Classes

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

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 ctor
 ~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

Detailed Description

Handle the computation of Voronoi jet area.

Definition at line 46 of file ClusterSequenceVoronoiArea.hh.


Constructor & Destructor Documentation

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

template ctor

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 }

ClusterSequenceVoronoiArea::~ClusterSequenceVoronoiArea (  ) 

default dtor

Definition at line 313 of file ClusterSequenceVoronoiArea.cc.

References _pa_calc.

00313                                                         {
00314   delete _pa_calc;
00315 }


Member Function Documentation

void ClusterSequenceVoronoiArea::_initializeVA (  )  [private]

initialisation of the Voronoi Area

Definition at line 271 of file ClusterSequenceVoronoiArea.cc.

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

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

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

return the area associated with the given jet

Reimplemented from ClusterSequenceAreaBase.

Definition at line 63 of file ClusterSequenceVoronoiArea.hh.

References _voronoi_area, and PseudoJet::cluster_hist_index().

Referenced by ClusterSequencePassiveArea::_initialise_and_run_PA(), and _initializeVA().

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

virtual PseudoJet 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 ClusterSequenceAreaBase.

Definition at line 70 of file ClusterSequenceVoronoiArea.hh.

References _voronoi_area_4vector, and PseudoJet::cluster_hist_index().

Referenced by ClusterSequencePassiveArea::_initialise_and_run_PA().

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

virtual double 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 ClusterSequenceAreaBase.

Definition at line 75 of file ClusterSequenceVoronoiArea.hh.

00075                                                                 {
00076     return 0.0;};


Member Data Documentation

effective radius

Definition at line 90 of file ClusterSequenceVoronoiArea.hh.

Referenced by _initializeVA().

area calculator

Definition at line 89 of file ClusterSequenceVoronoiArea.hh.

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

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

vector containing the result

Definition at line 87 of file ClusterSequenceVoronoiArea.hh.

Referenced by _initializeVA(), and area().

vector containing approx 4-vect areas

Definition at line 88 of file ClusterSequenceVoronoiArea.hh.

Referenced by _initializeVA(), and area_4vector().


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

Generated on 26 Feb 2010 for fastjet by  doxygen 1.6.1