rivet is hosted by Hepforge, IPPP Durham
Rivet  2.7.0
PxConePlugin.hh
1 //FJSTARTHEADER
2 // $Id: PxConePlugin.hh 3433 2014-07-23 08:17:03Z salam $
3 //
4 // Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
5 //
6 //----------------------------------------------------------------------
7 // This file is part of FastJet.
8 //
9 // FastJet is free software; you can redistribute it and/or modify
10 // it under the terms of the GNU General Public License as published by
11 // the Free Software Foundation; either version 2 of the License, or
12 // (at your option) any later version.
13 //
14 // The algorithms that underlie FastJet have required considerable
15 // development. They are described in the original FastJet paper,
16 // hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use
17 // FastJet as part of work towards a scientific publication, please
18 // quote the version you use and include a citation to the manual and
19 // optionally also to hep-ph/0512210.
20 //
21 // FastJet is distributed in the hope that it will be useful,
22 // but WITHOUT ANY WARRANTY; without even the implied warranty of
23 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 // GNU General Public License for more details.
25 //
26 // You should have received a copy of the GNU General Public License
27 // along with FastJet. If not, see <http://www.gnu.org/licenses/>.
28 //----------------------------------------------------------------------
29 //FJENDHEADER
30 
31 #ifndef __PXCONEPLUGIN_HH__
32 #define __PXCONEPLUGIN_HH__
33 
34 #include "fastjet/JetDefinition.hh"
35 
36 // questionable whether this should be in fastjet namespace or not...
37 
38 //FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh
39 namespace Rivet {
40 //----------------------------------------------------------------------
41 //
66 //
67 //----------------------------------------------------------------------
68 class PxConePlugin : public fastjet::JetDefinition::Plugin {
69 public:
70 
92  PxConePlugin (double cone_radius_in ,
93  double min_jet_energy_in = 5.0 ,
94  double overlap_threshold_in = 0.5,
95  bool E_scheme_jets_in = false) :
96  _cone_radius (cone_radius_in ),
97  _min_jet_energy (min_jet_energy_in ),
98  _overlap_threshold (overlap_threshold_in),
99  _E_scheme_jets (E_scheme_jets_in ) {}
100 
101 
102  // some functions to return info about parameters ----------------
103 
105  double cone_radius () const {return _cone_radius ;}
106 
109  double min_jet_energy () const {return _min_jet_energy ;}
110 
112  double overlap_threshold () const {return _overlap_threshold ;}
113 
119  bool E_scheme_jets() const {return _E_scheme_jets ;}
120 
121 
122  // the things that are required by base class
123  virtual std::string description () const;
124  virtual void run_clustering(fastjet::ClusterSequence &) const;
126  virtual double R() const {return cone_radius();}
127 
128 private:
129 
130  double _cone_radius ;
131  double _min_jet_energy ;
132  double _overlap_threshold ;
133 
134  bool _E_scheme_jets;
135 
136  static bool _first_time;
137 
139  void _print_banner(std::ostream *ostr) const;
140 };
141 
142 
143 
144 // actual physical parameters:
145 //
146 // coner
147 // epsilon
148 // ovlim
149 
150  void pxcone_
151  (
152  int mode , // 1=>e+e-, 2=>hadron-hadron
153  int ntrak , // Number of particles
154  int itkdm , // First dimension of PTRAK array:
155  const double * ptrak , // Array of particle 4-momenta (Px,Py,Pz,E)
156  double coner , // Cone size (half angle) in radians
157  double epslon , // Minimum Jet energy (GeV)
158  double ovlim , // Maximum fraction of overlap energy in a jet
159  int mxjet , // Maximum possible number of jets
160  int & njet , // Number of jets found
161  double * pjet, // 5-vectors of jets
162  int * ipass, // Particle k belongs to jet number IPASS(k)-1
163  // IPASS = -1 if not assosciated to a jet
164  int * ijmul, // Jet i contains IJMUL[i] particles
165  int * ierr // = 0 if all is OK ; = -1 otherwise
166  );
167 
168 //FASTJET_END_NAMESPACE // defined in fastjet/internal/base.hh
169 }
170 
171 #endif
172 
Definition: ALICE_2010_I880049.cc:13
double cone_radius() const
the cone radius
Definition: PxConePlugin.hh:105
double overlap_threshold() const
Maximum fraction of overlap energy in a jet – called ovlim in pxcone.
Definition: PxConePlugin.hh:112
Definition: PxConePlugin.hh:68
bool E_scheme_jets() const
Definition: PxConePlugin.hh:119
PxConePlugin(double cone_radius_in, double min_jet_energy_in=5.0, double overlap_threshold_in=0.5, bool E_scheme_jets_in=false)
Definition: PxConePlugin.hh:92
virtual double R() const
the plugin mechanism&#39;s standard way of accessing the jet radius
Definition: PxConePlugin.hh:126
double min_jet_energy() const
Definition: PxConePlugin.hh:109