/usr/include/fastjet/D0RunIIConePlugin.hh is in libfastjetplugins-dev 3.0.6+dfsg-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | #ifndef __D0RUNIICONEPLUGIN_HH__
#define __D0RUNIICONEPLUGIN_HH__
//STARTHEADER
// $Id: D0RunIIConePlugin.hh 2761 2011-11-24 13:54:05Z soyez $
//
// Copyright (c) 2005-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
//
//----------------------------------------------------------------------
// This file is part of FastJet.
//
// FastJet is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// The algorithms that underlie FastJet have required considerable
// development and are described in hep-ph/0512210. If you use
// FastJet as part of work towards a scientific publication, please
// include a citation to the FastJet paper.
//
// FastJet is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with FastJet. If not, see <http://www.gnu.org/licenses/>.
//----------------------------------------------------------------------
//ENDHEADER
#include "fastjet/JetDefinition.hh"
// questionable whether this should be in fastjet namespace or not...
FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh
//----------------------------------------------------------------------
//
/// @ingroup plugins
/// \class D0RunIIConePlugin
/// Implementation of the D0 Run II Cone (plugin for fastjet v2.1 upwards)
///
/// 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.
//
//----------------------------------------------------------------------
class D0RunIIConePlugin : public JetDefinition::Plugin {
public:
//
/// A D0RunIIConePlugin constructor which sets the "free" parameters of the
/// algorithm:
///
/// - the cone_radius has the usual meaning
///
/// - the min_jet_Et causes cones to be discarded at if at any
/// iteration they have pt < Et_min_ratio * min_jet_Et. Two
/// values have been used by D0 for min_jet_Et: 8 GeV in earlier
/// Run II publicatinos, 6 GeV in later publications
///
/// - split_ratio is equivalent to the overlap threshold during the split/merge step.
/// Default: 0.5.
///
/// The remaining parameters of the algorithm are not to be modified if the algorithm
/// is to correspond to the one actually used by D0.
//
D0RunIIConePlugin (double cone_radius_in,
double min_jet_Et_in ,
double split_ratio_in = _DEFAULT_split_ratio) :
_cone_radius (cone_radius_in ),
_min_jet_Et (min_jet_Et_in ),
_split_ratio (split_ratio_in ),
_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!
}
// some functions to return info about parameters
inline double cone_radius () const { return _cone_radius ;} //= 0.5;
inline double min_jet_Et () const { return _min_jet_Et ;} //= 8.0;
inline double split_ratio () const { return _split_ratio ;} //= 0.5;
inline double far_ratio () const { return _far_ratio ;} // =0.5;
inline double Et_min_ratio () const { return _Et_min_ratio ;} // =0.5;
inline bool kill_duplicate () const { return _kill_duplicate ;} // =true;
inline double duplicate_dR () const { return _duplicate_dR ;} // =0.005;
inline double duplicate_dPT () const { return _duplicate_dPT ;} // =0.01;
inline double search_factor () const { return _search_factor ;} // =1.0;
inline double pT_min_leading_protojet() const { return _pT_min_leading_protojet;} // =0.;
inline double pT_min_second_protojet () const { return _pT_min_second_protojet ;} // =0.;
inline int merge_max () const { return _merge_max ;} // =10000;
inline double pT_min_nomerge () const { return _pT_min_nomerge ;} // =0.;
/// access the split_ratio() also by the name overlap_threshold()
inline double overlap_threshold() const {return split_ratio();}
// the things that are required by base class
virtual std::string description () const;
virtual void run_clustering(ClusterSequence &) const;
/// the plugin mechanism's standard way of accessing the jet radius
virtual double R() const {return cone_radius();}
private:
double _cone_radius ;//= 0.5;
double _min_jet_Et ;//= 8.0;
double _split_ratio ;//= 0.5; // overlap threshold
//the parameters below have been found to be set to the values given below
//in the original implementation, shouldn't be altered
double _far_ratio ; // =0.5;
double _Et_min_ratio ; // =0.5;
bool _kill_duplicate ; // =true;
double _duplicate_dR ; // =0.005;
double _duplicate_dPT ; // =0.01;
double _search_factor ; // =1.0;
double _pT_min_leading_protojet; // =0.;
double _pT_min_second_protojet ; // =0.;
int _merge_max ; // =10000;
double _pT_min_nomerge ; // =0.;
// here are the variables for the default parameters of the D0 Run II Cone algorithm.
// They are set in the .cc file
const static double _DEFAULT_split_ratio ;// = 0.5 ; // overlap threshold
const static double _DEFAULT_far_ratio ;// = 0.5 ;
const static double _DEFAULT_Et_min_ratio ;// = 0.5 ;
const static bool _DEFAULT_kill_duplicate ;// = true ;
const static double _DEFAULT_duplicate_dR ;// = 0.005;
const static double _DEFAULT_duplicate_dPT ;// = 0.01 ;
const static double _DEFAULT_search_factor ;// = 1.0 ;
const static double _DEFAULT_pT_min_leading_protojet ;// = 0. ;
const static double _DEFAULT_pT_min_second_protojet ;// = 0. ;
const static int _DEFAULT_merge_max ;// = 10000;
const static double _DEFAULT_pT_min_nomerge ;// = 0. ;
static bool _first_time;
/// print a banner for reference to the 3rd-party code
void _print_banner(std::ostream *ostr) const;
};
FASTJET_END_NAMESPACE // defined in fastjet/internal/base.hh
#endif // __D0RUNIICONEPLUGIN_HH__
|