FastJet 3.0.2
|
00001 #ifndef JETREC_JETSPLITMERGETOOL_H 00002 #define JETREC_JETSPLITMERGETOOL_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 : JetSplitMergeTool 00016 // Author : Ambreesh Gupta 00017 // Created : November, 2001 00018 // 00019 // DESCRIPTION: 00020 // 00021 // Cone algorithms generally produce overlapping jets. These jets are then 00022 // passed through a Split Merge algorithm to create seperated jets. This 00023 // is an implementation of one such algorithm. 00024 // 00025 // The steps of the algorithm are: 00026 // - <to be written> 00027 // 00028 // PROPERTIES (JobOption Parameters): 00029 // 00030 // ProtoJetContainerLoc string "Default" Key for ProtoJet input. 00031 // JetContainerLoc string "Default" Key for Jet list to output. 00032 // OverlapFraction double 0.5 00033 // 00034 // HISTORY 00035 // 05Nov01 agupta. First version 00036 // 15Aug02 agupta. Fix phi-wrapping. 00037 //***************************************************************************** 00038 00039 00040 // History of changes from the original JetSplitMergeTool.hh file in 00041 // SpartyJet v2.20 00042 // 00043 // 2009-01-15 Gregory Soyez <soyez@fastjet.fr> 00044 // 00045 // * put the code in the fastjet::atlas namespace 00046 // 00047 // 2009-02-14 Gregory Soyez <soyez@fastjet.fr> 00048 // 00049 // * imported into FastJet 00050 // * removed the message logs 00051 // * replaced StatusCode by int 00052 00053 00054 //class StoreGateSvc; 00055 00056 //Includes 00057 #include "Jet.hh" 00058 00059 #include <vector> 00060 #include <list> 00061 00062 //#include "JetCore/CustomMessage.hh" 00063 00064 #include <fastjet/internal/base.hh> 00065 00066 FASTJET_BEGIN_NAMESPACE 00067 00068 namespace atlas { 00069 00070 //typedef int StatusCode ; 00071 00072 class JetSplitMergeTool 00073 { 00074 public: 00075 typedef Jet::jet_list_t jetcollection_t; 00076 //Constructors 00077 JetSplitMergeTool(); 00078 00079 //Destructor 00080 virtual ~JetSplitMergeTool(); 00081 00082 virtual int execute( jetcollection_t* theJets ); 00083 00084 //Handle negative energy ProtoJets: 00085 double etaTrue(Jet::constit_vect_t::iterator pj); 00086 double phiTrue(Jet::constit_vect_t::iterator pj); 00087 00088 //private: 00089 void split_merge(); 00090 double m_f; 00091 jetcollection_t m_preJet; 00092 jetcollection_t m_jet; 00093 jetcollection_t* m_jetVec; 00094 00095 int m_ctr; 00096 int m_dctr; 00097 00098 // Message m_log; 00099 }; 00100 00101 } // namespace atlas 00102 00103 FASTJET_END_NAMESPACE 00104 00105 #endif // JETREC_JETSPLITMERGETOOL_H 00106 00107 00108 00109 00110 00111 00112 00113 00114 00115 00116