#include <ClusterSequenceVoronoiArea.hh>
Inheritance diagram for fastjet::ClusterSequenceVoronoiArea:
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... |
Definition at line 46 of file ClusterSequenceVoronoiArea.hh.
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!
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 }
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.
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 }
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().
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().