FastJet  3.1.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ConeJetInfo.hpp
1 #ifndef D0RunIIconeJets_CONEJETINFO_HPP
2 #define D0RunIIconeJets_CONEJETINFO_HPP
3 
4 // --------------------------------------------------------------------------
5 // ConeJetInfo.hpp
6 // Purpose: Hold informations about the cone jets that do not fit into
7 // a CalTClusterChunk/IntEclusterChunk.
8 //
9 // Created: Laurent Duflot 31-JUL-2000
10 //
11 // Modified:
12 // 09-Aug-2000 Laurent Duflot
13 // + add initial jet ET (i.e. before split/merge)
14 // 1-May-2007 Lars Sonnenschein
15 // extracted from D0 software framework and modified to remove subsequent dependencies
16 //
17 //
18 // This file is distributed with FastJet under the terms of the GNU
19 // General Public License (v2). Permission to do so has been granted
20 // by Lars Sonnenschein and the D0 collaboration (see COPYING for
21 // details)
22 //
23 // History of Changes in FastJet compared tothe original version of
24 // ConeJetInfo.hpp
25 //
26 // 2011-12-13 Gregory Soyez <soyez@fastjet.fr>
27 //
28 // * added license information
29 //
30 // 2011-11-14 Gregory Soyez <soyez@fastjet.fr>
31 //
32 // * changed the name of a few parameters to avoid a gcc
33 // -Wshadow warning
34 //
35 // 2009-01-17 Gregory Soyez <soyez@fastjet.fr>
36 //
37 // * put the code in the fastjet::d0 namespace
38 //
39 // --------------------------------------------------------------------------
40 
41 
42 //#define CONEJET_SPLITMERGE_MOD 100
43 
44 #include <fastjet/internal/base.hh>
45 
46 FASTJET_BEGIN_NAMESPACE
47 
48 namespace d0{
49 
50 namespace D0RunIIconeJets_CONEJETINFO {
51 
52 const int CONEJET_SPLITMERGE_MOD = 100;
53 
54 class ConeJetInfo
55 {
56 public:
57  ConeJetInfo(): _seedET(0.), _initial_jet_ET(0.), _nb_split_merge(0) {};
58  ConeJetInfo( float seedET_in): _seedET(seedET_in), _nb_split_merge(0) {};
59  ConeJetInfo( float seedET_in, float initialET_in, int nb_split, int nb_merge):
60  _seedET(seedET_in), _initial_jet_ET(initialET_in),
61  _nb_split_merge(nb_merge + CONEJET_SPLITMERGE_MOD*nb_split) {};
62  ~ConeJetInfo() {};
63 
64  float seedET() const {return _seedET;};
65  float initialET() const { return _initial_jet_ET; };
66  int nbSplit() const {return _nb_split_merge/CONEJET_SPLITMERGE_MOD;};
67  int nbMerge() const {return _nb_split_merge%CONEJET_SPLITMERGE_MOD;};
68  int SplitMergeWord() const {return _nb_split_merge;};
69 
70  void initialET(float ET) { _initial_jet_ET = ET;};
71  void splitted() { _nb_split_merge += CONEJET_SPLITMERGE_MOD;};
72  void merged() { _nb_split_merge += 1;};
73 
74 
75 private:
76  float _seedET;
77  float _initial_jet_ET; // stable cone ET before split/merge
78  int _nb_split_merge;
79 
80 };
81 
82 }
83 
84 } // namespace d0
85 
86 FASTJET_END_NAMESPACE
87 
88 #endif
89