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
116