]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/JET/cone/AliHLTJETConeFinder.h
* Added fast interface to fastjet
[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
6ce099ba 26#include "AliHLTJets.h"
7c3c85cd 27#include "AliHLTLogging.h"
7c3c85cd 28
6ce099ba 29#include "AliHLTJETBase.h"
7c3c85cd 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>
1f9fec4a 41 * * Process one event (contains reset per event)
7c3c85cd 42 * <pre>jetFinder->ProcessEvent();</pre>
1f9fec4a 43 *
7c3c85cd 44 * <b>Usage in on-line</b><br>
45 * * Initialization phase :
46 * <pre>jetFinder->Initialize();</pre>
7c3c85cd 47 * * Set the input event via the reader
48 * <pre>jetReader->SetInputEvent( ... )</pre>
1f9fec4a 49 * * Process one event
50 * * Fill grid (contains reset per event)
51 * <pre>jetReader->FillGridXXX();</pre>
52 * Where XXX is has to be replaced by MC, ESD or AOD,
53 * depending, on the input object
54 * * Process one event (contains reset per event)
55 * <pre>jetFinder->ProcessConeEvent();</pre>
7c3c85cd 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 */
6ce099ba 102 void SetOutputJets( AliHLTJets* jets ) { fJets = jets; }
7c3c85cd 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 */
1f9fec4a 119 Bool_t ProcessHLTEvent();
7c3c85cd 120
121 ///////////////////////////////////////////////////////////////////////////////////
122
123private:
124
125 /** copy constructor prohibited */
126 AliHLTJETConeFinder (const AliHLTJETConeFinder&);
127
128 /** assignment operator prohibited */
129 AliHLTJETConeFinder& operator= (const AliHLTJETConeFinder&);
130
131 /*
132 * ---------------------------------------------------------------------------------
133 * Process - private
134 * ---------------------------------------------------------------------------------
135 */
136
137 /** Sort seed descending in pt
138 * if header::fUseLeading only is set, keep only seed with highest pt
139 * @return 0 on success, < 0 on failure
140 */
141 Int_t FindConeLeading();
142
143 /** Find jets in one event
144 * @return 0 on success, < 0 on failure
145 */
146 Int_t FindConeJets();
147
148 /** Fill jets in output container and apply cuts
149 * @return 0 on success, < 0 on failure
150 */
151 Int_t FillConeJets();
152
153 /*
154 * ---------------------------------------------------------------------------------
155 * Members - private
156 * ---------------------------------------------------------------------------------
157 */
158
159 /** Grid for cone finder */
160 AliHLTJETConeGrid *fGrid; //! transient
161
1f9fec4a 162 /** Container of AliAODJets */
6ce099ba 163 AliHLTJets *fJets; //! transient
7c3c85cd 164
165 ClassDef(AliHLTJETConeFinder, 1)
166
167};
168#endif
169