#include <ClusterSequenceArea.hh>
Inheritance diagram for fastjet::ClusterSequenceArea:
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.
|
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 }
|
|
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 }
|
|
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 }
|
|
print a warning if the range is unsuitable for the current calculation of the area (e.g. 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::AreaDefinition::ghost_spec(), fastjet::ClusterSequence::jet_def(), fastjet::kt_algorithm, fastjet::passive_area, 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 }
|
|
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);}
|
|
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);}
|
|
return a reference to the area definition
Definition at line 76 of file ClusterSequenceArea.hh. 00076 {return _area_def;}
|
|
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);}
|
|
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);}
|
|
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 }
|
|
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 }
|
|
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 }
|
|
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 }
|
|
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 }
|
|
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 }
|
|
Definition at line 170 of file ClusterSequenceArea.hh. Referenced by initialize_and_run_cswa(). |
|
Definition at line 171 of file ClusterSequenceArea.hh. Referenced by _warn_if_range_unsuitable(), and initialize_and_run_cswa(). |
|
Definition at line 5 of file ClusterSequenceArea.cc. Referenced by _warn_if_range_unsuitable(). |