1 | #ifndef JETREC_JETSPLITMERGETOOL_H |
---|
2 | #define JETREC_JETSPLITMERGETOOL_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 : JetSplitMergeTool |
---|
16 | // Author : Ambreesh Gupta |
---|
17 | // Created : November, 2001 |
---|
18 | // |
---|
19 | // DESCRIPTION: |
---|
20 | // |
---|
21 | // Cone algorithms generally produce overlapping jets. These jets are then |
---|
22 | // passed through a Split Merge algorithm to create seperated jets. This |
---|
23 | // is an implementation of one such algorithm. |
---|
24 | // |
---|
25 | // The steps of the algorithm are: |
---|
26 | // - <to be written> |
---|
27 | // |
---|
28 | // PROPERTIES (JobOption Parameters): |
---|
29 | // |
---|
30 | // ProtoJetContainerLoc string "Default" Key for ProtoJet input. |
---|
31 | // JetContainerLoc string "Default" Key for Jet list to output. |
---|
32 | // OverlapFraction double 0.5 |
---|
33 | // |
---|
34 | // HISTORY |
---|
35 | // 05Nov01 agupta. First version |
---|
36 | // 15Aug02 agupta. Fix phi-wrapping. |
---|
37 | //***************************************************************************** |
---|
38 | |
---|
39 | |
---|
40 | // History of changes from the original JetSplitMergeTool.hh file in |
---|
41 | // SpartyJet v2.20 |
---|
42 | // |
---|
43 | // 2009-01-15 Gregory Soyez <soyez@fastjet.fr> |
---|
44 | // |
---|
45 | // * put the code in the fastjet::atlas namespace |
---|
46 | // |
---|
47 | // 2009-02-14 Gregory Soyez <soyez@fastjet.fr> |
---|
48 | // |
---|
49 | // * imported into FastJet |
---|
50 | // * removed the message logs |
---|
51 | // * replaced StatusCode by int |
---|
52 | |
---|
53 | |
---|
54 | //class StoreGateSvc; |
---|
55 | |
---|
56 | //Includes |
---|
57 | #include "Jet.hh" |
---|
58 | |
---|
59 | #include <vector> |
---|
60 | #include <list> |
---|
61 | |
---|
62 | //#include "JetCore/CustomMessage.hh" |
---|
63 | |
---|
64 | #include <fastjet/internal/base.hh> |
---|
65 | |
---|
66 | FASTJET_BEGIN_NAMESPACE |
---|
67 | |
---|
68 | namespace atlas { |
---|
69 | |
---|
70 | //typedef int StatusCode ; |
---|
71 | |
---|
72 | class JetSplitMergeTool |
---|
73 | { |
---|
74 | public: |
---|
75 | typedef Jet::jet_list_t jetcollection_t; |
---|
76 | //Constructors |
---|
77 | JetSplitMergeTool(); |
---|
78 | |
---|
79 | //Destructor |
---|
80 | virtual ~JetSplitMergeTool(); |
---|
81 | |
---|
82 | virtual int execute( jetcollection_t* theJets ); |
---|
83 | |
---|
84 | //Handle negative energy ProtoJets: |
---|
85 | double etaTrue(Jet::constit_vect_t::iterator pj); |
---|
86 | double phiTrue(Jet::constit_vect_t::iterator pj); |
---|
87 | |
---|
88 | //private: |
---|
89 | void split_merge(); |
---|
90 | double m_f; |
---|
91 | jetcollection_t m_preJet; |
---|
92 | jetcollection_t m_jet; |
---|
93 | jetcollection_t* m_jetVec; |
---|
94 | |
---|
95 | int m_ctr; |
---|
96 | int m_dctr; |
---|
97 | |
---|
98 | // Message m_log; |
---|
99 | }; |
---|
100 | |
---|
101 | } // namespace atlas |
---|
102 | |
---|
103 | FASTJET_END_NAMESPACE |
---|
104 | |
---|
105 | #endif // JETREC_JETSPLITMERGETOOL_H |
---|
106 | |
---|
107 | |
---|
108 | |
---|
109 | |
---|
110 | |
---|
111 | |
---|
112 | |
---|
113 | |
---|
114 | |
---|
115 | |
---|
116 | |
---|