FastJet  3.1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
JetConeFinderTool.hh
1 #ifndef JETREC_JETCONEFINDERTOOL_H
2 #define JETREC_JETCONEFINDERTOOL_H
3 
4 //----------------------------------------------------------------------
5 // This file distributed with FastJet has been obtained from SpartyJet
6 // v2.20.0 by Pierre-Antoine Delsart, Kurtis L. Geerlings, Joey
7 // Huston, Brian T. Martin and Chris Vermilion
8 // For details, see http://www.pa.msu.edu/~huston/SpartyJet/
9 // http://projects.hepforge.org/spartyjet/
10 //
11 // Changes from the original file are listed below.
12 //----------------------------------------------------------------------
13 
14 //******************************************************************************
15 // Filename : JetConeFinderTool
16 // Author : Ambreesh Gupta
17 // Created : September, 2002
18 //
19 // DESCRIPTION:
20 // TESTING cone algorithm created from JetSeedLessCone algorithm. The algorithm
21 // only lookps over seed of certain Pt that is configurable trought the
22 // jobOption file.
23 //
24 // PROPERTIES (JobOption Parameters):
25 //
26 // declareProperty("ConeParam",m_coneR);
27 // ProtoJetContainerLoc string "Default" Key for ProtoJet input.
28 // JetContainerLoc string "Default" Key for Jet list to output.
29 // ConeR double 0.5 Cone radius
30 // PtCut double 0.0 Pt Cut applied on ProtoJet.
31 // Epsilon double 0.05
32 // SeedPt double 2.0 Pt Cut for ProtoJet to be a seed.
33 //
34 // HISTORY
35 //
36 // BUGS
37 //*****************************************************************************
38 
39 // History of changes from the original JetConeFinder.hh file in
40 // SpartyJet v2.20
41 //
42 // 2009-01-15 Gregory Soyez <soyez@fastjet.fr>
43 //
44 // * put the code in the fastjet::atlas namespace
45 //
46 // 2009-02-14 Gregory Soyez <soyez@fastjet.fr>
47 //
48 // * imported into FastJet
49 // * removed the message logs
50 // * replaced StatusCode by int
51 
52 //Library Includes
53 #include <string>
54 #include <vector>
55 #include <list>
56 
57 //#include "JetCore/CustomMessage.hh"
58 //typedef int StatusCode;
59 
60 // class JetCollection;
61 #include "Jet.hh"
62 
63 #include <fastjet/internal/base.hh>
64 
65 FASTJET_BEGIN_NAMESPACE
66 
67 namespace atlas{
68 
69 class JetConeFinderTool
70 {
71 public:
72  typedef Jet::jet_list_t jetcollection_t;
73 
74 
75  JetConeFinderTool();
76 
77  virtual ~JetConeFinderTool();
78 
79  virtual int execute(jetcollection_t &theJets);
80 
81 
82  //private:
83  void reconstruct();
84  Jet* calc_cone(double, double);
85 
86  // Configured through jobOption
87  std::string m_protoJetContainerLoc;
88  std::string m_jetContainerLoc;
89 
90  double m_coneR; // Cone Radius
91  double m_ptcut; // Pt Cut
92  double m_eps; // Arbitrary parameter
93  double m_seedPt;
94  double m_etaMax;
95 
96  // Internals
97  //std::list<Jet*>* m_pjetV;
98  jetcollection_t* m_pjetV;
99  jetcollection_t* m_jetOV;
100 
101  int m_cone_in_tower;
102 
103  std::vector<double>* m_veta;
104  std::vector<double>* m_vphi;
105 
106  int m_ctr;
107  int m_dctr;
108 
109  //Message m_log;
110 };
111 
112 } // namespace atlas
113 
114 FASTJET_END_NAMESPACE
115 #endif // JETREC_JETCONEFINDERTOOL_H