fastjet 2.4.3
|
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.
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 D0RunIIConePlugin::cone_radius | ( | ) | const [inline] |
Definition at line 97 of file D0RunIIConePlugin.hh.
References _cone_radius.
Referenced by R().
{ return _cone_radius ;} //= 0.5;
string D0RunIIConePlugin::description | ( | ) | const [virtual] |
return a textual description of the jet-definition implemented in this plugin
Implements 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 D0RunIIConePlugin::duplicate_dPT | ( | ) | const [inline] |
Definition at line 104 of file D0RunIIConePlugin.hh.
References _duplicate_dPT.
{ return _duplicate_dPT ;} // =0.01;
double D0RunIIConePlugin::duplicate_dR | ( | ) | const [inline] |
Definition at line 103 of file D0RunIIConePlugin.hh.
References _duplicate_dR.
{ return _duplicate_dR ;} // =0.005;
double D0RunIIConePlugin::Et_min_ratio | ( | ) | const [inline] |
Definition at line 101 of file D0RunIIConePlugin.hh.
References _Et_min_ratio.
{ return _Et_min_ratio ;} // =0.5;
double D0RunIIConePlugin::far_ratio | ( | ) | const [inline] |
Definition at line 100 of file D0RunIIConePlugin.hh.
References _far_ratio.
{ return _far_ratio ;} // =0.5;
bool D0RunIIConePlugin::kill_duplicate | ( | ) | const [inline] |
Definition at line 102 of file D0RunIIConePlugin.hh.
References _kill_duplicate.
{ return _kill_duplicate ;} // =true;
int D0RunIIConePlugin::merge_max | ( | ) | const [inline] |
Definition at line 108 of file D0RunIIConePlugin.hh.
References _merge_max.
{ return _merge_max ;} // =10000;
double D0RunIIConePlugin::min_jet_Et | ( | ) | const [inline] |
Definition at line 98 of file D0RunIIConePlugin.hh.
References _min_jet_Et.
{ return _min_jet_Et ;} //= 8.0;
double D0RunIIConePlugin::overlap_threshold | ( | ) | const [inline] |
access the split_ratio() also by the name overlap_threshold()
Definition at line 113 of file D0RunIIConePlugin.hh.
References split_ratio().
{return split_ratio();}
double D0RunIIConePlugin::pT_min_leading_protojet | ( | ) | const [inline] |
Definition at line 106 of file D0RunIIConePlugin.hh.
References _pT_min_leading_protojet.
{ return _pT_min_leading_protojet;} // =0.;
double D0RunIIConePlugin::pT_min_nomerge | ( | ) | const [inline] |
Definition at line 109 of file D0RunIIConePlugin.hh.
References _pT_min_nomerge.
{ return _pT_min_nomerge ;} // =0.;
double D0RunIIConePlugin::pT_min_second_protojet | ( | ) | const [inline] |
Definition at line 107 of file D0RunIIConePlugin.hh.
References _pT_min_second_protojet.
{ return _pT_min_second_protojet ;} // =0.;
virtual double D0RunIIConePlugin::R | ( | ) | const [inline, virtual] |
the plugin mechanism's standard way of accessing the jet radius
Implements JetDefinition::Plugin.
Definition at line 119 of file D0RunIIConePlugin.hh.
References cone_radius().
{return cone_radius();}
void 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 JetDefinition::Plugin.
Definition at line 71 of file D0RunIIConePlugin.cc.
References d0::ILConeAlgorithm< Item >::ilcv, ClusterSequence::jets(), d0::ILConeAlgorithm< Item >::makeClusters(), ClusterSequence::plugin_record_iB_recombination(), and 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 D0RunIIConePlugin::search_factor | ( | ) | const [inline] |
Definition at line 105 of file D0RunIIConePlugin.hh.
References _search_factor.
{ return _search_factor ;} // =1.0;
double D0RunIIConePlugin::split_ratio | ( | ) | const [inline] |
Definition at line 99 of file D0RunIIConePlugin.hh.
References _split_ratio.
Referenced by overlap_threshold().
{ return _split_ratio ;} //= 0.5;
double D0RunIIConePlugin::_cone_radius [private] |
Definition at line 124 of file D0RunIIConePlugin.hh.
Referenced by cone_radius().
const double D0RunIIConePlugin::_DEFAULT_duplicate_dPT = 0.01 [static, private] |
Definition at line 148 of file D0RunIIConePlugin.hh.
const double D0RunIIConePlugin::_DEFAULT_duplicate_dR = 0.005 [static, private] |
Definition at line 147 of file D0RunIIConePlugin.hh.
const double D0RunIIConePlugin::_DEFAULT_Et_min_ratio = 0.5 [static, private] |
Definition at line 145 of file D0RunIIConePlugin.hh.
const double D0RunIIConePlugin::_DEFAULT_far_ratio = 0.5 [static, private] |
Definition at line 144 of file D0RunIIConePlugin.hh.
const bool D0RunIIConePlugin::_DEFAULT_kill_duplicate = true [static, private] |
Definition at line 146 of file D0RunIIConePlugin.hh.
const int D0RunIIConePlugin::_DEFAULT_merge_max = 10000 [static, private] |
Definition at line 152 of file D0RunIIConePlugin.hh.
const double D0RunIIConePlugin::_DEFAULT_pT_min_leading_protojet = 0. [static, private] |
Definition at line 150 of file D0RunIIConePlugin.hh.
const double D0RunIIConePlugin::_DEFAULT_pT_min_nomerge = 0. [static, private] |
Definition at line 153 of file D0RunIIConePlugin.hh.
const double D0RunIIConePlugin::_DEFAULT_pT_min_second_protojet = 0. [static, private] |
Definition at line 151 of file D0RunIIConePlugin.hh.
const double D0RunIIConePlugin::_DEFAULT_search_factor = 1.0 [static, private] |
Definition at line 149 of file D0RunIIConePlugin.hh.
const double D0RunIIConePlugin::_DEFAULT_split_ratio = 0.5 [static, private] |
Definition at line 143 of file D0RunIIConePlugin.hh.
double D0RunIIConePlugin::_duplicate_dPT [private] |
Definition at line 134 of file D0RunIIConePlugin.hh.
Referenced by duplicate_dPT().
double D0RunIIConePlugin::_duplicate_dR [private] |
Definition at line 133 of file D0RunIIConePlugin.hh.
Referenced by duplicate_dR().
double D0RunIIConePlugin::_Et_min_ratio [private] |
Definition at line 131 of file D0RunIIConePlugin.hh.
Referenced by Et_min_ratio().
double D0RunIIConePlugin::_far_ratio [private] |
Definition at line 130 of file D0RunIIConePlugin.hh.
Referenced by far_ratio().
bool D0RunIIConePlugin::_kill_duplicate [private] |
Definition at line 132 of file D0RunIIConePlugin.hh.
Referenced by kill_duplicate().
int D0RunIIConePlugin::_merge_max [private] |
Definition at line 138 of file D0RunIIConePlugin.hh.
Referenced by merge_max().
double D0RunIIConePlugin::_min_jet_Et [private] |
Definition at line 125 of file D0RunIIConePlugin.hh.
Referenced by min_jet_Et().
double D0RunIIConePlugin::_pT_min_leading_protojet [private] |
Definition at line 136 of file D0RunIIConePlugin.hh.
Referenced by pT_min_leading_protojet().
double D0RunIIConePlugin::_pT_min_nomerge [private] |
Definition at line 139 of file D0RunIIConePlugin.hh.
Referenced by pT_min_nomerge().
double D0RunIIConePlugin::_pT_min_second_protojet [private] |
Definition at line 137 of file D0RunIIConePlugin.hh.
Referenced by pT_min_second_protojet().
double D0RunIIConePlugin::_search_factor [private] |
Definition at line 135 of file D0RunIIConePlugin.hh.
Referenced by search_factor().
double D0RunIIConePlugin::_split_ratio [private] |
Definition at line 126 of file D0RunIIConePlugin.hh.
Referenced by split_ratio().