This file is indexed.

/usr/include/fastjet/D0RunIBaseConePlugin.hh is in libfastjetplugins-dev 3.0.6+dfsg-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
#ifndef __D0RUNIBASECONEPLUGIN_HH__
#define __D0RUNIBASECONEPLUGIN_HH__

//STARTHEADER
// $Id: D0RunIBaseConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $
//
// Copyright (c) 2009-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 internal
/// \class D0RunIBaseConePlugin
///
/// D0RunIBaseConePlugin is base class for a plugin for FastJet (v3.0 or later) 
/// that provides an interface to the D0 version of Run-I cone algorithm
///
/// Note that this base class is purely virtual and thus needs to be
/// overloaded. In practice this means that you should use one of
/// D0RunIConePlugin or D0RunIpre96ConePlugin.
///
/// The D0 code has been obtained from Lars Sonnenschein's web-space
/// http://www-d0.fnal.gov/~sonne/D0RunIcone.tgz
///
/// The version of the D0 Run I 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 D0RunIBaseConePlugin : public JetDefinition::Plugin {
public:
  /// A D0RunIConePlugin constructor which sets the "free" parameters of the
  /// algorithm:
  ///
  ///  \param CONErad is the cone radius
  ///
  ///  \param JETmne is a minimum ET requirement on every iteration
  ///    (jet dropped if Et < JETmne * Et_min_ratio ).
  ///    The value that has been used by D0 for JETmne: 8 GeV 
  ///    (and Et_min_ratio is 0.5)
  ///
  ///  \param SPlifr is the shared Et fraction splitting threshold, and
  ///    a value of 0.5 was usually used by D0
  ///
  /// The remaining parameters of the algorithm are not to be modified if the algorithm
  /// is to correspond to the one actually used by D0.
  D0RunIBaseConePlugin (double CONErad_in, 
			double JETmne_in, 
			double SPLifr_in = _DEFAULT_SPLifr) :
    _CONErad           (CONErad_in                 ),
    _JETmne            (JETmne_in                  ),
    _SPLifr            (SPLifr_in                  ),
    _TWOrad            (_DEFAULT_TWOrad            ),
    _D0_Angle          (_DEFAULT_D0_Angle          ),
    _Increase_Delta_R  (_DEFAULT_Increase_Delta_R  ),
    _Kill_Far_Clusters (_DEFAULT_Kill_Far_Clusters ),
    _Jet_Et_Min_On_Iter(_DEFAULT_Jet_Et_Min_On_Iter),
    _Far_Ratio         (_DEFAULT_Far_Ratio         ),
    _Eitem_Negdrop     (_DEFAULT_Eitem_Negdrop     ),
    _Et_Min_Ratio      (_DEFAULT_Et_Min_Ratio      ),
    _Thresh_Diff_Et    (_DEFAULT_Thresh_Diff_Et    ){}

  // some functions to return info about parameters
  inline double CONErad           () const { return _CONErad           ;} //= 0.7;
  inline double JETmne            () const { return _JETmne            ;} //= 8.0;
  inline double SPLifr            () const { return _SPLifr            ;} // =0.5;
  inline double TWOrad            () const { return _TWOrad            ;} //= 0.;
  inline bool   D0_Angle          () const { return _D0_Angle          ;} // =false;
  inline bool   Increase_Delta_R  () const { return _Increase_Delta_R  ;} // =true; 
  inline bool   Kill_Far_Clusters () const { return _Kill_Far_Clusters ;} // =true; 
  inline bool   Jet_Et_Min_On_Iter() const { return _Jet_Et_Min_On_Iter;} // =true; 
  inline double Far_Ratio         () const { return _Far_Ratio         ;} // =0.5; 
  inline double Eitem_Negdrop     () const { return _Eitem_Negdrop     ;} // =-1.0;
  inline double Et_Min_Ratio      () const { return _Et_Min_Ratio      ;} // =0.5; 
  inline double Thresh_Diff_Et    () const { return _Thresh_Diff_Et    ;} // =0.01;


  /// access the split_ratio() also by the name overlap_threshold()
  inline double overlap_threshold() const {return SPLifr();}

  // the things that are required by base class
  virtual std::string description () const = 0;

  // the part that really does the clustering
  virtual void run_clustering(ClusterSequence &) const = 0;

  /// the plugin mechanism's standard way of accessing the jet radius
  virtual double R() const {return CONErad();}

protected:
  template<typename HepEntityType>
  void run_clustering_worker(ClusterSequence &) const;

  //private:

  double _CONErad  ;//= 0.7 
  double _JETmne  ;//= 8.
  //the parameters below have been found to be set to the values given below 
  //in the original implementation, shouldn't be altered 
  double _SPLifr            ;  //=0.5
  double _TWOrad            ;  //=0.
  bool   _D0_Angle          ;  //=false
  bool   _Increase_Delta_R  ;  //=true
  bool   _Kill_Far_Clusters ;  //=true
  bool   _Jet_Et_Min_On_Iter;  //=true
  double _Far_Ratio         ;  //=0.5         
  double _Eitem_Negdrop     ;  //=-1.0
  double _Et_Min_Ratio      ;  //=0.5
  double _Thresh_Diff_Et    ;  //=0.01

  // here are the variables for the default parameters of the D0 Run I Cone algorithm.
  // They are set in the .cc file 
  const static double _DEFAULT_SPLifr                  ;  // = 0.5; //shared Et fraction threshold
  const static double _DEFAULT_TWOrad                  ;  // = 0.; //minimum Delta_R separation between cones
  const static bool   _DEFAULT_D0_Angle                ;  // = false;
  const static bool   _DEFAULT_Increase_Delta_R        ;  // = true;
  const static bool   _DEFAULT_Kill_Far_Clusters       ;  // = true;
  const static bool   _DEFAULT_Jet_Et_Min_On_Iter      ;  // = true;
  const static double _DEFAULT_Far_Ratio               ;  // = 0.5;
  const static double _DEFAULT_Eitem_Negdrop           ;  // = -1.0;
  const static double _DEFAULT_Et_Min_Ratio            ;  // = 0.5;
  const static double _DEFAULT_Thresh_Diff_Et          ;  // = 0.01;
};


FASTJET_END_NAMESPACE      // defined in fastjet/internal/base.hh

#endif // __D0RUNIBASECONEPLUGIN_HH__