]>
Commit | Line | Data |
---|---|---|
7c3c85cd | 1 | //-*- Mode: C++ -*- |
2 | ||
3 | // $Id: AliHLTJETConeFinder.h $ | |
4 | ||
5 | #ifndef ALIHLTJETCONEFINDER_H | |
6 | #define ALIHLTJETCONEFINDER_H | |
7 | ||
8 | /* This file is property of and copyright by the ALICE HLT Project * | |
9 | * ALICE Experiment at CERN, All rights reserved. * | |
10 | * See cxx source for full Copyright notice */ | |
11 | ||
12 | /** @file AliHLTJETConeFinder.h | |
13 | @author Jochen Thaeder | |
14 | @date | |
15 | @brief Jet cone finder | |
16 | */ | |
17 | ||
18 | // see below for class documentation | |
19 | // or | |
20 | // refer to README to build package | |
21 | // or | |
22 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
23 | ||
24 | #include "AliJetFinder.h" | |
25 | ||
26 | #include "AliHLTLogging.h" | |
27 | #include "AliHLTJETBase.h" | |
28 | ||
29 | #include "AliHLTJETJets.h" | |
30 | #include "AliHLTJETConeGrid.h" | |
31 | ||
32 | /** | |
33 | * @class AliHLTJETConeFinder | |
34 | * ConeFinder for jet finder | |
35 | * | |
36 | * <b>Usage in off-line</b><br> | |
37 | * * Initialization phase : | |
38 | * <pre>jetFinder->Init();</pre> | |
39 | * * Set the input event via the reader | |
40 | * <pre>jetReader->SetInputEvent( ... )</pre> | |
41 | * * Process one event | |
42 | * <pre>jetFinder->ProcessEvent();</pre> | |
43 | * | |
44 | * <b>Usage in on-line</b><br> | |
45 | * * Initialization phase : | |
46 | * <pre>jetFinder->Initialize();</pre> | |
47 | * * Reset | |
48 | <pre>jetFinder->Reset();</pre> | |
49 | * * Set the input event via the reader | |
50 | * <pre>jetReader->SetInputEvent( ... )</pre> | |
51 | * * Process one event | |
52 | * <pre>jetReader->FillGridXXX();</pre> | |
53 | * Where XXX is has to be replaced by MC, ESD or AOD, depending | |
54 | * on the input object | |
55 | * <pre>jetFinder->ProcessConeEvent();</pre> | |
56 | * | |
57 | * @ingroup alihlt_jet_cone | |
58 | */ | |
59 | ||
60 | class AliHLTJETConeFinder : public AliJetFinder, public AliHLTLogging { | |
61 | ||
62 | public: | |
63 | ||
64 | /* | |
65 | * --------------------------------------------------------------------------------- | |
66 | * Constructor / Destructor | |
67 | * --------------------------------------------------------------------------------- | |
68 | */ | |
69 | ||
70 | /** standard constructor */ | |
71 | AliHLTJETConeFinder(); | |
72 | ||
73 | /** destructor */ | |
74 | virtual ~AliHLTJETConeFinder(); | |
75 | ||
76 | /* | |
77 | * --------------------------------------------------------------------------------- | |
78 | * Initialize | |
79 | * --------------------------------------------------------------------------------- | |
80 | */ | |
81 | ||
82 | /** Initialize the jet finder and the search grid | |
83 | * ONLY for use in off-line ... it inherits from a virtual void ?!?! | |
84 | */ | |
85 | void Init() { Initialize(); } | |
86 | ||
87 | /** Initialize the jet finder and the search grid | |
88 | * @return 0 on success, < 0 on failure | |
89 | */ | |
90 | Int_t Initialize(); | |
91 | ||
92 | /** Reset for next event */ | |
93 | void Reset(); | |
94 | ||
95 | /* | |
96 | * --------------------------------------------------------------------------------- | |
97 | * Setter | |
98 | * --------------------------------------------------------------------------------- | |
99 | */ | |
100 | ||
101 | /** Set ptr to output container */ | |
102 | void SetOutputJets( AliHLTJETJets* jets ) { fJets = jets; } | |
103 | ||
104 | /* | |
105 | * --------------------------------------------------------------------------------- | |
106 | * Process | |
107 | * --------------------------------------------------------------------------------- | |
108 | */ | |
109 | ||
110 | /** Process one event | |
111 | * ONLY for use in off-line ... it inherits from a virtual Bool_t | |
112 | * @return kTRUE on success, kFALSE on failure | |
113 | */ | |
114 | Bool_t ProcessEvent(); | |
115 | ||
116 | /** Process one event | |
117 | * @return kTRUE on success, kFALSE on failure | |
118 | */ | |
119 | Bool_t ProcessConeEvent(); | |
120 | ||
121 | /** Find jets in one event | |
122 | * ONLY for use in off-line ... it inherits from a virtual void ?!?! | |
123 | */ | |
124 | void FindJets() { FindConeJets(); } | |
125 | ||
126 | /////////////////////////////////////////////////////////////////////////////////// | |
127 | ||
128 | private: | |
129 | ||
130 | /** copy constructor prohibited */ | |
131 | AliHLTJETConeFinder (const AliHLTJETConeFinder&); | |
132 | ||
133 | /** assignment operator prohibited */ | |
134 | AliHLTJETConeFinder& operator= (const AliHLTJETConeFinder&); | |
135 | ||
136 | /* | |
137 | * --------------------------------------------------------------------------------- | |
138 | * Process - private | |
139 | * --------------------------------------------------------------------------------- | |
140 | */ | |
141 | ||
142 | /** Sort seed descending in pt | |
143 | * if header::fUseLeading only is set, keep only seed with highest pt | |
144 | * @return 0 on success, < 0 on failure | |
145 | */ | |
146 | Int_t FindConeLeading(); | |
147 | ||
148 | /** Find jets in one event | |
149 | * @return 0 on success, < 0 on failure | |
150 | */ | |
151 | Int_t FindConeJets(); | |
152 | ||
153 | /** Fill jets in output container and apply cuts | |
154 | * @return 0 on success, < 0 on failure | |
155 | */ | |
156 | Int_t FillConeJets(); | |
157 | ||
158 | /* | |
159 | * --------------------------------------------------------------------------------- | |
160 | * Members - private | |
161 | * --------------------------------------------------------------------------------- | |
162 | */ | |
163 | ||
164 | /** Grid for cone finder */ | |
165 | AliHLTJETConeGrid *fGrid; //! transient | |
166 | ||
167 | AliHLTJETJets *fJets; //! transient | |
168 | ||
169 | ClassDef(AliHLTJETConeFinder, 1) | |
170 | ||
171 | }; | |
172 | #endif | |
173 |