fastjet 2.4.5
|
00001 #ifndef JETREC_JETSPLITMERGETOOL_H 00002 #define JETREC_JETSPLITMERGETOOL_H 00003 //****************************************************************************** 00004 // Filename : JetSplitMergeTool 00005 // Author : Ambreesh Gupta 00006 // Created : November, 2001 00007 // 00008 // DESCRIPTION: 00009 // 00010 // Cone algorithms generally produce overlapping jets. These jets are then 00011 // passed through a Split Merge algorithm to create seperated jets. This 00012 // is an implementation of one such algorithm. 00013 // 00014 // The steps of the algorithm are: 00015 // - <to be written> 00016 // 00017 // PROPERTIES (JobOption Parameters): 00018 // 00019 // ProtoJetContainerLoc string "Default" Key for ProtoJet input. 00020 // JetContainerLoc string "Default" Key for Jet list to output. 00021 // OverlapFraction double 0.5 00022 // 00023 // HISTORY 00024 // 05Nov01 agupta. First version 00025 // 15Aug02 agupta. Fix phi-wrapping. 00026 // 00027 // NOTES 00028 // taken from SpartyJet v2.20.0 00029 // removed the Message logs 00030 // replaced StatusCode by int 00031 //***************************************************************************** 00032 00033 00034 //class StoreGateSvc; 00035 00036 //Includes 00037 #include "Jet.hh" 00038 00039 #include <vector> 00040 #include <list> 00041 00042 //#include "JetCore/CustomMessage.hh" 00043 00044 #include <fastjet/internal/base.hh> 00045 00046 FASTJET_BEGIN_NAMESPACE 00047 00048 namespace atlas { 00049 00050 //typedef int StatusCode ; 00051 00052 class JetSplitMergeTool 00053 { 00054 public: 00055 typedef Jet::jet_list_t jetcollection_t; 00056 //Constructors 00057 JetSplitMergeTool(); 00058 00059 //Destructor 00060 virtual ~JetSplitMergeTool(); 00061 00062 virtual int execute( jetcollection_t* theJets ); 00063 00064 //Handle negative energy ProtoJets: 00065 double etaTrue(Jet::constit_vect_t::iterator pj); 00066 double phiTrue(Jet::constit_vect_t::iterator pj); 00067 00068 //private: 00069 void split_merge(); 00070 double m_f; 00071 jetcollection_t m_preJet; 00072 jetcollection_t m_jet; 00073 jetcollection_t* m_jetVec; 00074 00075 int m_ctr; 00076 int m_dctr; 00077 00078 // Message m_log; 00079 }; 00080 00081 } // namespace atlas 00082 00083 FASTJET_END_NAMESPACE 00084 00085 #endif // JETREC_JETSPLITMERGETOOL_H 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096