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 |
|
---|