FastJet 3.0.4
JetConeFinderTool.hh
00001 #ifndef JETREC_JETCONEFINDERTOOL_H
00002 #define JETREC_JETCONEFINDERTOOL_H
00003 
00004 //----------------------------------------------------------------------
00005 // This file distributed with FastJet has been obtained from SpartyJet
00006 // v2.20.0 by Pierre-Antoine Delsart, Kurtis L. Geerlings, Joey
00007 // Huston, Brian T. Martin and Chris Vermilion
00008 // For details, see http://www.pa.msu.edu/~huston/SpartyJet/
00009 //                  http://projects.hepforge.org/spartyjet/
00010 //
00011 // Changes from the original file are listed below.
00012 //----------------------------------------------------------------------
00013 
00014 //******************************************************************************
00015 // Filename :  JetConeFinderTool
00016 // Author   :  Ambreesh Gupta
00017 // Created  :  September, 2002
00018 //
00019 // DESCRIPTION:
00020 //  TESTING cone algorithm created from JetSeedLessCone algorithm. The algorithm
00021 //  only lookps over seed of certain Pt that is configurable trought the 
00022 //  jobOption file.
00023 //
00024 // PROPERTIES (JobOption Parameters):
00025 //
00026 //  declareProperty("ConeParam",m_coneR);
00027 //    ProtoJetContainerLoc  string "Default"   Key for ProtoJet input.
00028 //    JetContainerLoc       string "Default"   Key for Jet list to output.
00029 //    ConeR                 double 0.5         Cone radius
00030 //    PtCut                 double 0.0         Pt Cut applied on ProtoJet.
00031 //    Epsilon               double 0.05        
00032 //    SeedPt                double 2.0         Pt Cut for ProtoJet to be a seed.
00033 //
00034 // HISTORY
00035 //
00036 // BUGS
00037 //*****************************************************************************
00038 
00039 // History of changes from the original JetConeFinder.hh file in
00040 // SpartyJet v2.20
00041 //  
00042 // 2009-01-15  Gregory Soyez  <soyez@fastjet.fr>
00043 // 
00044 //        * put the code in the fastjet::atlas namespace
00045 //
00046 // 2009-02-14  Gregory Soyez  <soyez@fastjet.fr>
00047 // 
00048 //        * imported into FastJet
00049 //        * removed the message logs
00050 //        * replaced StatusCode by int
00051 
00052 //Library Includes
00053 #include <string>
00054 #include <vector>
00055 #include <list>
00056 
00057 //#include "JetCore/CustomMessage.hh"
00058 //typedef int StatusCode;
00059 
00060 // class JetCollection;
00061 #include "Jet.hh"
00062 
00063 #include <fastjet/internal/base.hh>
00064 
00065 FASTJET_BEGIN_NAMESPACE
00066 
00067 namespace atlas{
00068 
00069 class JetConeFinderTool 
00070 {
00071 public:
00072   typedef Jet::jet_list_t jetcollection_t;
00073   
00074 
00075   JetConeFinderTool();
00076 
00077   virtual ~JetConeFinderTool();
00078 
00079   virtual int execute(jetcollection_t &theJets);
00080 
00081 
00082   //private:
00083     void  reconstruct();   
00084     Jet*  calc_cone(double, double); 
00085 
00086     // Configured through jobOption
00087     std::string m_protoJetContainerLoc;
00088     std::string m_jetContainerLoc;
00089 
00090     double      m_coneR; // Cone Radius
00091     double      m_ptcut; // Pt Cut
00092     double      m_eps;   // Arbitrary parameter
00093     double      m_seedPt;
00094     double      m_etaMax;
00095 
00096     // Internals 
00097     //std::list<Jet*>*       m_pjetV;
00098     jetcollection_t*       m_pjetV;
00099     jetcollection_t*       m_jetOV;
00100 
00101     int             m_cone_in_tower;
00102 
00103     std::vector<double>*     m_veta;
00104     std::vector<double>*     m_vphi;
00105 
00106     int m_ctr;
00107     int m_dctr;
00108 
00109   //Message m_log;
00110 };
00111 
00112 }  // namespace atlas
00113 
00114 FASTJET_END_NAMESPACE 
00115 #endif // JETREC_JETCONEFINDERTOOL_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends