]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/JET/cone/AliHLTJETConeFinder.h
Add new classes for the jet cone finder
[u/mrichter/AliRoot.git] / HLT / JET / cone / AliHLTJETConeFinder.h
CommitLineData
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
60class AliHLTJETConeFinder : public AliJetFinder, public AliHLTLogging {
61
62public:
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
128private:
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