3 // $Id: AliHLTJETConeFinder.h $
5 #ifndef ALIHLTJETCONEFINDER_H
6 #define ALIHLTJETCONEFINDER_H
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 */
12 /** @file AliHLTJETConeFinder.h
13 @author Jochen Thaeder
15 @brief Jet cone finder
18 // see below for class documentation
20 // refer to README to build package
22 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
24 #include "AliJetFinder.h"
26 #include "AliHLTJets.h"
27 #include "AliHLTLogging.h"
29 #include "AliHLTJETBase.h"
30 #include "AliHLTJETConeGrid.h"
33 * @class AliHLTJETConeFinder
34 * ConeFinder for jet finder
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>
42 * <pre>jetFinder->ProcessEvent();</pre>
44 * <b>Usage in on-line</b><br>
45 * * Initialization phase :
46 * <pre>jetFinder->Initialize();</pre>
48 <pre>jetFinder->Reset();</pre>
49 * * Set the input event via the reader
50 * <pre>jetReader->SetInputEvent( ... )</pre>
52 * <pre>jetReader->FillGridXXX();</pre>
53 * Where XXX is has to be replaced by MC, ESD or AOD, depending
55 * <pre>jetFinder->ProcessConeEvent();</pre>
57 * @ingroup alihlt_jet_cone
60 class AliHLTJETConeFinder : public AliJetFinder, public AliHLTLogging {
65 * ---------------------------------------------------------------------------------
66 * Constructor / Destructor
67 * ---------------------------------------------------------------------------------
70 /** standard constructor */
71 AliHLTJETConeFinder();
74 virtual ~AliHLTJETConeFinder();
77 * ---------------------------------------------------------------------------------
79 * ---------------------------------------------------------------------------------
82 /** Initialize the jet finder and the search grid
83 * ONLY for use in off-line ... it inherits from a virtual void ?!?!
85 void Init() { Initialize(); }
87 /** Initialize the jet finder and the search grid
88 * @return 0 on success, < 0 on failure
92 /** Reset for next event */
96 * ---------------------------------------------------------------------------------
98 * ---------------------------------------------------------------------------------
101 /** Set ptr to output container */
102 void SetOutputJets( AliHLTJets* jets ) { fJets = jets; }
105 * ---------------------------------------------------------------------------------
107 * ---------------------------------------------------------------------------------
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
114 Bool_t ProcessEvent();
116 /** Process one event
117 * @return kTRUE on success, kFALSE on failure
119 Bool_t ProcessConeEvent();
121 /** Find jets in one event
122 * ONLY for use in off-line ... it inherits from a virtual void ?!?!
124 void FindJets() { FindConeJets(); }
126 ///////////////////////////////////////////////////////////////////////////////////
130 /** copy constructor prohibited */
131 AliHLTJETConeFinder (const AliHLTJETConeFinder&);
133 /** assignment operator prohibited */
134 AliHLTJETConeFinder& operator= (const AliHLTJETConeFinder&);
137 * ---------------------------------------------------------------------------------
139 * ---------------------------------------------------------------------------------
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
146 Int_t FindConeLeading();
148 /** Find jets in one event
149 * @return 0 on success, < 0 on failure
151 Int_t FindConeJets();
153 /** Fill jets in output container and apply cuts
154 * @return 0 on success, < 0 on failure
156 Int_t FillConeJets();
159 * ---------------------------------------------------------------------------------
161 * ---------------------------------------------------------------------------------
164 /** Grid for cone finder */
165 AliHLTJETConeGrid *fGrid; //! transient
167 AliHLTJets *fJets; //! transient
169 ClassDef(AliHLTJETConeFinder, 1)