#include <ClusterSequenceArea.hh>


Public Member Functions | |
| template<class L> | |
| ClusterSequenceArea (const std::vector< L > &pseudojets, const JetDefinition &jet_def, const AreaDefinition &area_def_in) | |
| main constructor | |
| template<class L> | |
| ClusterSequenceArea (const std::vector< L > &pseudojets, const JetDefinition &jet_def, const GhostedAreaSpec &area_spec) | |
| constructor with a GhostedAreaSpec | |
| template<class L> | |
| ClusterSequenceArea (const std::vector< L > &pseudojets, const JetDefinition &jet_def, const VoronoiAreaSpec &area_spec) | |
| constructor with a VoronoiAreaSpec | |
| const AreaDefinition & | area_def () const |
| return a reference to the area definition | |
| virtual double | area (const PseudoJet &jet) const |
| return the area associated with the given jet | |
| virtual double | area_error (const PseudoJet &jet) const |
| return the error (uncertainty) associated with the determination of the area of this jet | |
| virtual PseudoJet | area_4vector (const PseudoJet &jet) const |
| return the 4-vector area | |
| virtual double | empty_area (const RangeDefinition &range) const |
| return the total area, in the given rap-phi range, that is free of jets | |
| virtual double | n_empty_jets (const RangeDefinition &range) const |
| return something similar to the number of pure ghost jets in the given rap-phi range in an active area case. | |
| virtual bool | is_pure_ghost (const PseudoJet &jet) const |
| true if a jet is made exclusively of ghosts | |
| virtual void | get_median_rho_and_sigma (const RangeDefinition &range, bool use_area_4vector, double &median, double &sigma, double &mean_area) const |
| overload version of what's in the ClusterSequenceAreaBase class, which additionally checks compatibility between "range" and region in which ghosts are thrown. | |
| virtual void | get_median_rho_and_sigma (const RangeDefinition &range, bool use_area_4vector, double &median, double &sigma) const |
| overload version of what's in the ClusterSequenceAreaBase class, which actually just does the same thing as the base version (but since we've overridden the 5-argument version above, we have to override the 4-argument version too. | |
| virtual void | parabolic_pt_per_unit_area (double &a, double &b, const RangeDefinition &range, double exclude_above=-1.0, bool use_area_4vector=false) const |
| overload version of what's in the ClusterSequenceAreaBase class, which additionally checks compatibility between "range" and region in which ghosts are thrown. | |
Private Member Functions | |
| void | _warn_if_range_unsuitable (const RangeDefinition &range) const |
| print a warning if the range is unsuitable for the current calculation of the area (e.g. | |
| template<class L> | |
| void | initialize_and_run_cswa (const std::vector< L > &pseudojets, const JetDefinition &jet_def) |
Private Attributes | |
| std::auto_ptr < ClusterSequenceAreaBase > | _area_base |
| AreaDefinition | _area_def |
Static Private Attributes | |
| static LimitedWarning | _range_warnings |
Based on the area_def, it automatically dispatches the work to the appropriate actual ClusterSequenceAreaBase-derived-class to do the real work.
Definition at line 49 of file ClusterSequenceArea.hh.
| fastjet::ClusterSequenceArea::ClusterSequenceArea | ( | const std::vector< L > & | pseudojets, | |
| const JetDefinition & | jet_def, | |||
| const AreaDefinition & | area_def_in | |||
| ) | [inline] |
main constructor
Definition at line 53 of file ClusterSequenceArea.hh.
00055 : _area_def(area_def_in) { 00056 initialize_and_run_cswa(pseudojets, jet_def); 00057 }
| fastjet::ClusterSequenceArea::ClusterSequenceArea | ( | const std::vector< L > & | pseudojets, | |
| const JetDefinition & | jet_def, | |||
| const GhostedAreaSpec & | area_spec | |||
| ) | [inline] |
constructor with a GhostedAreaSpec
Definition at line 61 of file ClusterSequenceArea.hh.
00063 : _area_def(area_spec){ 00064 initialize_and_run_cswa(pseudojets, jet_def); 00065 }
| fastjet::ClusterSequenceArea::ClusterSequenceArea | ( | const std::vector< L > & | pseudojets, | |
| const JetDefinition & | jet_def, | |||
| const VoronoiAreaSpec & | area_spec | |||
| ) | [inline] |
constructor with a VoronoiAreaSpec
Definition at line 69 of file ClusterSequenceArea.hh.
00071 : _area_def(area_spec){ 00072 initialize_and_run_cswa(pseudojets, jet_def); 00073 }
| const AreaDefinition& fastjet::ClusterSequenceArea::area_def | ( | ) | const [inline] |
return a reference to the area definition
Definition at line 76 of file ClusterSequenceArea.hh.
00076 {return _area_def;}
| virtual double fastjet::ClusterSequenceArea::area | ( | const PseudoJet & | jet | ) | const [inline, virtual] |
return the area associated with the given jet
Reimplemented from fastjet::ClusterSequenceAreaBase.
Definition at line 80 of file ClusterSequenceArea.hh.
00080 { 00081 return _area_base->area(jet);}
| virtual double fastjet::ClusterSequenceArea::area_error | ( | const PseudoJet & | jet | ) | const [inline, virtual] |
return the error (uncertainty) associated with the determination of the area of this jet
Reimplemented from fastjet::ClusterSequenceAreaBase.
Definition at line 85 of file ClusterSequenceArea.hh.
00085 { 00086 return _area_base->area_error(jet);}
| virtual PseudoJet fastjet::ClusterSequenceArea::area_4vector | ( | const PseudoJet & | jet | ) | const [inline, virtual] |
return the 4-vector area
Reimplemented from fastjet::ClusterSequenceAreaBase.
Definition at line 89 of file ClusterSequenceArea.hh.
00089 { 00090 return _area_base->area_4vector(jet);}
| virtual double fastjet::ClusterSequenceArea::empty_area | ( | const RangeDefinition & | range | ) | const [inline, virtual] |
return the total area, in the given rap-phi range, that is free of jets
Reimplemented from fastjet::ClusterSequenceAreaBase.
Definition at line 105 of file ClusterSequenceArea.hh.
00105 { 00106 return _area_base->empty_area(range);}
| virtual double fastjet::ClusterSequenceArea::n_empty_jets | ( | const RangeDefinition & | range | ) | const [inline, virtual] |
return something similar to the number of pure ghost jets in the given rap-phi range in an active area case.
For the local implementation we return empty_area/(0.55 pi R^2), based on measured properties of ghost jets with kt and cam. Note that the number returned is a double.
Reimplemented from fastjet::ClusterSequenceAreaBase.
Definition at line 113 of file ClusterSequenceArea.hh.
00113 { 00114 return _area_base->n_empty_jets(range); 00115 }
| virtual bool fastjet::ClusterSequenceArea::is_pure_ghost | ( | const PseudoJet & | jet | ) | const [inline, virtual] |
true if a jet is made exclusively of ghosts
Reimplemented from fastjet::ClusterSequenceAreaBase.
Definition at line 118 of file ClusterSequenceArea.hh.
00118 { 00119 return _area_base->is_pure_ghost(jet); 00120 }
| virtual void fastjet::ClusterSequenceArea::get_median_rho_and_sigma | ( | const RangeDefinition & | range, | |
| bool | use_area_4vector, | |||
| double & | median, | |||
| double & | sigma, | |||
| double & | mean_area | |||
| ) | const [inline, virtual] |
overload version of what's in the ClusterSequenceAreaBase class, which additionally checks compatibility between "range" and region in which ghosts are thrown.
Reimplemented from fastjet::ClusterSequenceAreaBase.
Definition at line 125 of file ClusterSequenceArea.hh.
00128 { 00129 _warn_if_range_unsuitable(range); 00130 ClusterSequenceAreaBase::get_median_rho_and_sigma(range, use_area_4vector, 00131 median, sigma, mean_area); 00132 }
| virtual void fastjet::ClusterSequenceArea::get_median_rho_and_sigma | ( | const RangeDefinition & | range, | |
| bool | use_area_4vector, | |||
| double & | median, | |||
| double & | sigma | |||
| ) | const [inline, virtual] |
overload version of what's in the ClusterSequenceAreaBase class, which actually just does the same thing as the base version (but since we've overridden the 5-argument version above, we have to override the 4-argument version too.
Reimplemented from fastjet::ClusterSequenceAreaBase.
Definition at line 138 of file ClusterSequenceArea.hh.
00140 { 00141 ClusterSequenceAreaBase::get_median_rho_and_sigma(range,use_area_4vector, 00142 median,sigma); 00143 }
| virtual void fastjet::ClusterSequenceArea::parabolic_pt_per_unit_area | ( | double & | a, | |
| double & | b, | |||
| const RangeDefinition & | range, | |||
| double | exclude_above = -1.0, |
|||
| bool | use_area_4vector = false | |||
| ) | const [inline, virtual] |
overload version of what's in the ClusterSequenceAreaBase class, which additionally checks compatibility between "range" and region in which ghosts are thrown.
Reimplemented from fastjet::ClusterSequenceAreaBase.
Definition at line 149 of file ClusterSequenceArea.hh.
00152 { 00153 _warn_if_range_unsuitable(range); 00154 ClusterSequenceAreaBase::parabolic_pt_per_unit_area( 00155 a,b,range, exclude_above, use_area_4vector); 00156 }
| void fastjet::ClusterSequenceArea::_warn_if_range_unsuitable | ( | const RangeDefinition & | range | ) | const [private] |
print a warning if the range is unsuitable for the current calculation of the area (e.g.
print a warning if the range is unsuitable for the current calculation of the area (e.g.
because ghosts do not extend far enough).
because ghosts do not extend far enough).
Definition at line 10 of file ClusterSequenceArea.cc.
References _area_def, _range_warnings, fastjet::AreaDefinition::area_type(), fastjet::RangeDefinition::get_rap_limits(), fastjet::GhostedAreaSpec::ghost_maxrap(), fastjet::AreaDefinition::ghost_spec(), fastjet::JetDefinition::jet_algorithm(), fastjet::ClusterSequence::jet_def(), fastjet::kt_algorithm, fastjet::passive_area, fastjet::JetDefinition::R(), fastjet::voronoi_area, and LimitedWarning::warn().
00010 { 00011 bool no_ghosts = (_area_def.area_type() == voronoi_area) 00012 || (_area_def.area_type() == passive_area 00013 && jet_def().jet_algorithm() == kt_algorithm); 00014 if (! no_ghosts) { 00015 double rapmin, rapmax; 00016 range.get_rap_limits(rapmin, rapmax); 00017 if (rapmin < -_area_def.ghost_spec().ghost_maxrap()+0.95*jet_def().R() || 00018 rapmax > _area_def.ghost_spec().ghost_maxrap()-0.95*jet_def().R()) { 00019 _range_warnings.warn("rapidity range for median (rho) extends beyond +-(ghost_maxrap - 0.95*R); this is likely to cause the results to be unreliable; safest option is to increase ghost_maxrap in the area definition"); 00020 } 00021 } 00022 }
| void fastjet::ClusterSequenceArea::initialize_and_run_cswa | ( | const std::vector< L > & | pseudojets, | |
| const JetDefinition & | jet_def | |||
| ) | [inline, private] |
Definition at line 177 of file ClusterSequenceArea.hh.
References _area_base, _area_def, fastjet::active_area, fastjet::active_area_explicit_ghosts, fastjet::AreaDefinition::area_type(), fastjet::AreaDefinition::ghost_spec(), fastjet::one_ghost_passive_area, fastjet::passive_area, fastjet::ClusterSequence::transfer_from_sequence(), fastjet::voronoi_area, and fastjet::AreaDefinition::voronoi_spec().
00180 { 00181 00182 ClusterSequenceAreaBase * _area_base_ptr; 00183 switch(_area_def.area_type()) { 00184 case active_area: 00185 _area_base_ptr = new ClusterSequenceActiveArea(pseudojets, 00186 jet_def, 00187 _area_def.ghost_spec()); 00188 break; 00189 case active_area_explicit_ghosts: 00190 _area_base_ptr = new ClusterSequenceActiveAreaExplicitGhosts(pseudojets, 00191 jet_def, 00192 _area_def.ghost_spec()); 00193 break; 00194 case voronoi_area: 00195 _area_base_ptr = new ClusterSequenceVoronoiArea(pseudojets, 00196 jet_def, 00197 _area_def.voronoi_spec()); 00198 break; 00199 case one_ghost_passive_area: 00200 _area_base_ptr = new ClusterSequence1GhostPassiveArea(pseudojets, 00201 jet_def, 00202 _area_def.ghost_spec()); 00203 break; 00204 case passive_area: 00205 _area_base_ptr = new ClusterSequencePassiveArea(pseudojets, 00206 jet_def, 00207 _area_def.ghost_spec()); 00208 break; 00209 default: 00210 std::cerr << "Error: unrecognized area_type in ClusterSequenceArea:" 00211 << _area_def.area_type() << std::endl; 00212 exit(-1); 00213 } 00214 // now copy across the information from the area base class 00215 _area_base = std::auto_ptr<ClusterSequenceAreaBase>(_area_base_ptr); 00216 transfer_from_sequence(*_area_base); 00217 }
std::auto_ptr<ClusterSequenceAreaBase> fastjet::ClusterSequenceArea::_area_base [private] |
Definition at line 171 of file ClusterSequenceArea.hh.
Referenced by _warn_if_range_unsuitable(), and initialize_and_run_cswa().
LimitedWarning fastjet::ClusterSequenceArea::_range_warnings [static, private] |
1.5.5