fastjet 2.4.5
|
D0RunIIConePlugin is a plugin for fastjet (v2.1 upwards) that provides an interface to the D0 version of Run-II iterative cone algorithm with midpoint seeds (also known as the Iterative Legacy Cone Algorithm, ILCA). More...
#include <D0RunIIConePlugin.hh>
Public Member Functions | |
D0RunIIConePlugin (double cone_radius, double min_jet_Et, double split_ratio=_DEFAULT_split_ratio) | |
A D0RunIIConePlugin constructor which sets the "free" parameters of the algorithm: | |
double | cone_radius () const |
double | min_jet_Et () const |
double | split_ratio () const |
double | far_ratio () const |
double | Et_min_ratio () const |
bool | kill_duplicate () const |
double | duplicate_dR () const |
double | duplicate_dPT () const |
double | search_factor () const |
double | pT_min_leading_protojet () const |
double | pT_min_second_protojet () const |
int | merge_max () const |
double | pT_min_nomerge () const |
double | overlap_threshold () const |
access the split_ratio() also by the name overlap_threshold() | |
virtual std::string | description () const |
return a textual description of the jet-definition implemented in this plugin | |
virtual void | run_clustering (ClusterSequence &) const |
given a ClusterSequence that has been filled up with initial particles, the following function should fill up the rest of the ClusterSequence, using the following member functions of ClusterSequence: | |
virtual double | R () const |
the plugin mechanism's standard way of accessing the jet radius | |
Private Attributes | |
double | _cone_radius |
double | _min_jet_Et |
double | _split_ratio |
double | _far_ratio |
double | _Et_min_ratio |
bool | _kill_duplicate |
double | _duplicate_dR |
double | _duplicate_dPT |
double | _search_factor |
double | _pT_min_leading_protojet |
double | _pT_min_second_protojet |
int | _merge_max |
double | _pT_min_nomerge |
Static Private Attributes | |
static const double | _DEFAULT_split_ratio = 0.5 |
static const double | _DEFAULT_far_ratio = 0.5 |
static const double | _DEFAULT_Et_min_ratio = 0.5 |
static const bool | _DEFAULT_kill_duplicate = true |
static const double | _DEFAULT_duplicate_dR = 0.005 |
static const double | _DEFAULT_duplicate_dPT = 0.01 |
static const double | _DEFAULT_search_factor = 1.0 |
static const double | _DEFAULT_pT_min_leading_protojet = 0. |
static const double | _DEFAULT_pT_min_second_protojet = 0. |
static const int | _DEFAULT_merge_max = 10000 |
static const double | _DEFAULT_pT_min_nomerge = 0. |
D0RunIIConePlugin is a plugin for fastjet (v2.1 upwards) that provides an interface to the D0 version of Run-II iterative cone algorithm with midpoint seeds (also known as the Iterative Legacy Cone Algorithm, ILCA).
The D0 code has been taken from Lars Sonnenschein's web-space http://www-d0.fnal.gov/~sonne/D0RunIIcone.tgz
The version of the D0 Run II code distributed here has been modified by the FastJet authors, so as to provide access to the contents of the jets (as is necessary for the plugin). This does not modify the results of the clustering.
Definition at line 56 of file D0RunIIConePlugin.hh.
fastjet::D0RunIIConePlugin::D0RunIIConePlugin | ( | double | cone_radius, |
double | min_jet_Et, | ||
double | split_ratio = _DEFAULT_split_ratio |
||
) | [inline] |
A D0RunIIConePlugin constructor which sets the "free" parameters of the algorithm:
The remaining parameters of the algorithm are not to be modified if the algorithm is to correspond to the one actually used by D0.
Definition at line 76 of file D0RunIIConePlugin.hh.
: _cone_radius (cone_radius ), _min_jet_Et (min_jet_Et ), _split_ratio (split_ratio ), _far_ratio (_DEFAULT_far_ratio ), _Et_min_ratio (_DEFAULT_Et_min_ratio ), _kill_duplicate (_DEFAULT_kill_duplicate ), _duplicate_dR (_DEFAULT_duplicate_dR ), _duplicate_dPT (_DEFAULT_duplicate_dPT ), _search_factor (_DEFAULT_search_factor ), _pT_min_leading_protojet(_DEFAULT_pT_min_leading_protojet), _pT_min_second_protojet (_DEFAULT_pT_min_second_protojet ), _merge_max (_DEFAULT_merge_max ), _pT_min_nomerge (_DEFAULT_pT_min_nomerge ) { // nothing to be done here! }
double fastjet::D0RunIIConePlugin::cone_radius | ( | ) | const [inline] |
Definition at line 97 of file D0RunIIConePlugin.hh.
{ return _cone_radius ;} //= 0.5;
string fastjet::D0RunIIConePlugin::description | ( | ) | const [virtual] |
return a textual description of the jet-definition implemented in this plugin
Implements fastjet::JetDefinition::Plugin.
Definition at line 59 of file D0RunIIConePlugin.cc.
{ ostringstream desc; desc << "D0 Run II Improved Legacy (midpoint) cone jet algorithm, with "; desc << "cone_radius = " << cone_radius () << ", " << "min_jet_Et = " << min_jet_Et () << ", " << "split_ratio = " << split_ratio (); return desc.str(); }
double fastjet::D0RunIIConePlugin::duplicate_dPT | ( | ) | const [inline] |
Definition at line 104 of file D0RunIIConePlugin.hh.
{ return _duplicate_dPT ;} // =0.01;
double fastjet::D0RunIIConePlugin::duplicate_dR | ( | ) | const [inline] |
Definition at line 103 of file D0RunIIConePlugin.hh.
{ return _duplicate_dR ;} // =0.005;
double fastjet::D0RunIIConePlugin::Et_min_ratio | ( | ) | const [inline] |
Definition at line 101 of file D0RunIIConePlugin.hh.
{ return _Et_min_ratio ;} // =0.5;
double fastjet::D0RunIIConePlugin::far_ratio | ( | ) | const [inline] |
Definition at line 100 of file D0RunIIConePlugin.hh.
{ return _far_ratio ;} // =0.5;
bool fastjet::D0RunIIConePlugin::kill_duplicate | ( | ) | const [inline] |
Definition at line 102 of file D0RunIIConePlugin.hh.
{ return _kill_duplicate ;} // =true;
int fastjet::D0RunIIConePlugin::merge_max | ( | ) | const [inline] |
Definition at line 108 of file D0RunIIConePlugin.hh.
{ return _merge_max ;} // =10000;
double fastjet::D0RunIIConePlugin::min_jet_Et | ( | ) | const [inline] |
Definition at line 98 of file D0RunIIConePlugin.hh.
{ return _min_jet_Et ;} //= 8.0;
double fastjet::D0RunIIConePlugin::overlap_threshold | ( | ) | const [inline] |
access the split_ratio() also by the name overlap_threshold()
Definition at line 113 of file D0RunIIConePlugin.hh.
{return split_ratio();}
double fastjet::D0RunIIConePlugin::pT_min_leading_protojet | ( | ) | const [inline] |
Definition at line 106 of file D0RunIIConePlugin.hh.
{ return _pT_min_leading_protojet;} // =0.;
double fastjet::D0RunIIConePlugin::pT_min_nomerge | ( | ) | const [inline] |
Definition at line 109 of file D0RunIIConePlugin.hh.
{ return _pT_min_nomerge ;} // =0.;
double fastjet::D0RunIIConePlugin::pT_min_second_protojet | ( | ) | const [inline] |
Definition at line 107 of file D0RunIIConePlugin.hh.
{ return _pT_min_second_protojet ;} // =0.;
virtual double fastjet::D0RunIIConePlugin::R | ( | ) | const [inline, virtual] |
the plugin mechanism's standard way of accessing the jet radius
Implements fastjet::JetDefinition::Plugin.
Definition at line 119 of file D0RunIIConePlugin.hh.
{return cone_radius();}
void fastjet::D0RunIIConePlugin::run_clustering | ( | ClusterSequence & | ) | const [virtual] |
given a ClusterSequence that has been filled up with initial particles, the following function should fill up the rest of the ClusterSequence, using the following member functions of ClusterSequence:
Implements fastjet::JetDefinition::Plugin.
Definition at line 71 of file D0RunIIConePlugin.cc.
References fastjet::d0::ILConeAlgorithm< Item >::ilcv, fastjet::ClusterSequence::jets(), fastjet::d0::ILConeAlgorithm< Item >::makeClusters(), fastjet::ClusterSequence::plugin_record_iB_recombination(), and fastjet::ClusterSequence::plugin_record_ij_recombination().
{ // create the entities needed by the D0 code vector<HepEntity> entities(clust_seq.jets().size()); list<const HepEntity * > ensemble; for (unsigned i = 0; i < clust_seq.jets().size(); i++) { entities[i].Fill(clust_seq.jets()[i].E(), clust_seq.jets()[i].px(), clust_seq.jets()[i].py(), clust_seq.jets()[i].pz(), i); // use only the particles that do not have infinite rapidity if (abs(entities[i].pz) < entities[i].E) { ensemble.push_back(& (entities[i])); } } // prepare the D0 algorithm ILConeAlgorithm<HepEntity> ilegac(cone_radius(), min_jet_Et(), split_ratio(), far_ratio(), Et_min_ratio(), kill_duplicate(), duplicate_dR(), duplicate_dPT(), search_factor(), pT_min_leading_protojet(), pT_min_second_protojet(), merge_max(), pT_min_nomerge()); // run the algorithm float Item_ET_Threshold = 0.; list<HepEntity> jets; ilegac.makeClusters(jets, ensemble, Item_ET_Threshold); // now transfer the information about the jets into the // FastJet structure for(int i = ilegac.ilcv.size()-1; i >= 0; i--) { std::list<const HepEntity*> tlist = ilegac.ilcv[i].LItems(); std::list<const HepEntity*>::iterator tk; // get first particle in list tk = tlist.begin(); // if there is no particle, just discard it // Note: this unexpected behaviour has been observed when the // min_jet_Et parameter was set to 0 if (tk==tlist.end()) continue; int jet_k = (*tk)->index; // now merge with remaining particles in list tk++; for (; tk != tlist.end(); tk++) { int jet_i = jet_k; int jet_j = (*tk)->index; // do a fake recombination step with dij=0 double dij = 0.0; clust_seq.plugin_record_ij_recombination(jet_i, jet_j, dij, jet_k); } // NB: put a sensible looking d_iB just to be nice... double d_iB = clust_seq.jets()[jet_k].perp2(); clust_seq.plugin_record_iB_recombination(jet_k, d_iB); } }
double fastjet::D0RunIIConePlugin::search_factor | ( | ) | const [inline] |
Definition at line 105 of file D0RunIIConePlugin.hh.
{ return _search_factor ;} // =1.0;
double fastjet::D0RunIIConePlugin::split_ratio | ( | ) | const [inline] |
Definition at line 99 of file D0RunIIConePlugin.hh.
{ return _split_ratio ;} //= 0.5;
double fastjet::D0RunIIConePlugin::_cone_radius [private] |
Definition at line 124 of file D0RunIIConePlugin.hh.
const double fastjet::D0RunIIConePlugin::_DEFAULT_duplicate_dPT = 0.01 [static, private] |
Definition at line 148 of file D0RunIIConePlugin.hh.
const double fastjet::D0RunIIConePlugin::_DEFAULT_duplicate_dR = 0.005 [static, private] |
Definition at line 147 of file D0RunIIConePlugin.hh.
const double fastjet::D0RunIIConePlugin::_DEFAULT_Et_min_ratio = 0.5 [static, private] |
Definition at line 145 of file D0RunIIConePlugin.hh.
const double fastjet::D0RunIIConePlugin::_DEFAULT_far_ratio = 0.5 [static, private] |
Definition at line 144 of file D0RunIIConePlugin.hh.
const bool fastjet::D0RunIIConePlugin::_DEFAULT_kill_duplicate = true [static, private] |
Definition at line 146 of file D0RunIIConePlugin.hh.
const int fastjet::D0RunIIConePlugin::_DEFAULT_merge_max = 10000 [static, private] |
Definition at line 152 of file D0RunIIConePlugin.hh.
const double fastjet::D0RunIIConePlugin::_DEFAULT_pT_min_leading_protojet = 0. [static, private] |
Definition at line 150 of file D0RunIIConePlugin.hh.
const double fastjet::D0RunIIConePlugin::_DEFAULT_pT_min_nomerge = 0. [static, private] |
Definition at line 153 of file D0RunIIConePlugin.hh.
const double fastjet::D0RunIIConePlugin::_DEFAULT_pT_min_second_protojet = 0. [static, private] |
Definition at line 151 of file D0RunIIConePlugin.hh.
const double fastjet::D0RunIIConePlugin::_DEFAULT_search_factor = 1.0 [static, private] |
Definition at line 149 of file D0RunIIConePlugin.hh.
const double fastjet::D0RunIIConePlugin::_DEFAULT_split_ratio = 0.5 [static, private] |
Definition at line 143 of file D0RunIIConePlugin.hh.
double fastjet::D0RunIIConePlugin::_duplicate_dPT [private] |
Definition at line 134 of file D0RunIIConePlugin.hh.
double fastjet::D0RunIIConePlugin::_duplicate_dR [private] |
Definition at line 133 of file D0RunIIConePlugin.hh.
double fastjet::D0RunIIConePlugin::_Et_min_ratio [private] |
Definition at line 131 of file D0RunIIConePlugin.hh.
double fastjet::D0RunIIConePlugin::_far_ratio [private] |
Definition at line 130 of file D0RunIIConePlugin.hh.
bool fastjet::D0RunIIConePlugin::_kill_duplicate [private] |
Definition at line 132 of file D0RunIIConePlugin.hh.
int fastjet::D0RunIIConePlugin::_merge_max [private] |
Definition at line 138 of file D0RunIIConePlugin.hh.
double fastjet::D0RunIIConePlugin::_min_jet_Et [private] |
Definition at line 125 of file D0RunIIConePlugin.hh.
double fastjet::D0RunIIConePlugin::_pT_min_leading_protojet [private] |
Definition at line 136 of file D0RunIIConePlugin.hh.
double fastjet::D0RunIIConePlugin::_pT_min_nomerge [private] |
Definition at line 139 of file D0RunIIConePlugin.hh.
double fastjet::D0RunIIConePlugin::_pT_min_second_protojet [private] |
Definition at line 137 of file D0RunIIConePlugin.hh.
double fastjet::D0RunIIConePlugin::_search_factor [private] |
Definition at line 135 of file D0RunIIConePlugin.hh.
double fastjet::D0RunIIConePlugin::_split_ratio [private] |
Definition at line 126 of file D0RunIIConePlugin.hh.