5 #ifndef ALIHLTJETREADER_H
6 #define ALIHLTJETREADER_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 AliHLTJETReader.h
13 @author Jochen Thaeder
15 @brief Reader for jet finder
19 #include "fastjet/PseudoJet.hh"
22 #include "AliJetReader.h"
23 #include "AliJetReaderHeader.h"
25 #include "AliESDEvent.h"
26 #include "AliAODEvent.h"
29 #include "AliHLTLogging.h"
30 #include "AliHLTMCEvent.h"
32 #include "AliHLTJETBase.h"
33 #include "AliHLTJETTrackCuts.h"
34 #include "AliHLTJETReaderHeader.h"
36 #include "AliHLTJETConeSeedCuts.h"
37 #include "AliHLTJETConeGrid.h"
40 * @class AliHLTJETReader
41 * Reader for jet finder
46 class AliHLTJETReader : public AliJetReader, public AliHLTLogging {
51 * ---------------------------------------------------------------------------------
52 * Constructor / Destructor
53 * ---------------------------------------------------------------------------------
56 /** standard constructor */
60 virtual ~AliHLTJETReader();
63 * ---------------------------------------------------------------------------------
65 * ---------------------------------------------------------------------------------
69 void SetTrackCuts( AliHLTJETTrackCuts * cuts) {fTrackCuts = cuts; }
71 /** Initialize reader for cone jet finder
72 * Calls AliHLTJETReaderHeader::Initialize
73 * @return 0 on success, otherwise <0
77 /** Reset the event */
81 * ---------------------------------------------------------------------------------
82 * Fastjet Reader functionality
83 * ---------------------------------------------------------------------------------
87 /** Fill tracks in fastjet momemtum vector
88 * @return kTRUE on success, otherwise kFALSE
90 Bool_t FillMomentumArrayFast();
92 /** Fill MC tracks in fastjet momemtum vector
93 * @return kTRUE on success, otherwise kFALSE
95 Bool_t FillMomentumArrayFastMC();
97 /** Fill ESD tracks in fastjet momemtum vector
98 * @return kTRUE on success, otherwise kFALSE
100 Bool_t FillMomentumArrayFastESD();
102 /** Fill AOD tracks in fastjet momemtum vector
103 * @return kTRUE on success, otherwise kFALSE
105 Bool_t FillMomentumArrayFastAOD();
109 * ---------------------------------------------------------------------------------
111 * ---------------------------------------------------------------------------------
114 /** Fill tracks in momentum array
115 * @return kTRUE on success, otherwise kFALSE
119 /** Fill MC tracks in momentum array
120 * @return kTRUE on success, otherwise kFALSE
124 /** Fill ESD tracks in momentum array
125 * @return kTRUE on success, otherwise kFALSE
127 Bool_t FillGridESD();
129 /** Fill AOD tracks in momentum array
130 * @return kTRUE on success, otherwise kFALSE
132 Bool_t FillGridAOD();
135 * ---------------------------------------------------------------------------------
137 * ---------------------------------------------------------------------------------
140 /** Set pointer to input event
141 * @param esd an AliESDEvent
142 * @param aod an AliAODEvent
143 * @param mc an AliHLTMCEvent
145 void SetInputEvent(TObject* esd, TObject* aod, TObject* mc);
147 /** Set number of jet candates = seeds */
148 void SetNJetCandidates( Int_t i ) { fNJetCandidates = i; }
151 * ---------------------------------------------------------------------------------
153 * ---------------------------------------------------------------------------------
156 /** Get Ptr to AliHLTJETReaderHeader
157 * @return ptr to AliHLTJETReaderHeader
159 AliHLTJETReaderHeader* GetReaderHeader() { return dynamic_cast<AliHLTJETReaderHeader*>(fReaderHeader);}
162 /** Get Ptr to input vector of Fastjet
163 * @return ptr to input vector of Fastjet
165 vector<fastjet::PseudoJet>* GetMomentumVectorFast() { return fMomentumVector; }
168 /** Get Ptr to grid of cone finder
169 * @return ptr to grid of cone finder
171 AliHLTJETConeGrid* GetGrid() { return fGrid; }
173 /** Get number of jet candates = seeds */
174 Int_t GetNJetCandidates() { return fNJetCandidates; }
176 /** Get ptr to jet candiates = seeds for cone finder */
177 TClonesArray* GetJetCandidates() { return fJetCandidates; }
180 * ---------------------------------------------------------------------------------
182 * ---------------------------------------------------------------------------------
186 * @param aEtaPhi eta and phi of the seed
187 * @param aGridIdx indeces in the grid
188 * @param coneRadius coneRadius
190 void AddSeed( const Float_t* aEtaPhi, const Int_t* aGridIdx,
191 const Float_t coneRadius );
193 ///////////////////////////////////////////////////////////////////////////////////
197 /** copy constructor prohibited */
198 AliHLTJETReader (const AliHLTJETReader&);
200 /** assignment operator prohibited */
201 AliHLTJETReader& operator= (const AliHLTJETReader&);
204 * ---------------------------------------------------------------------------------
206 * ---------------------------------------------------------------------------------
210 AliESDEvent *fESD; //! transient
213 AliHLTMCEvent *fMC; //! transient
216 AliAODEvent *fAOD; //! transient
219 /** Vector of fastjet momemtum entries */
220 vector<fastjet::PseudoJet> *fMomentumVector; //! transient
223 /** Grid for cone finder */
224 AliHLTJETConeGrid *fGrid; //! transient
226 /** Number of jet candates = seeds */
227 Int_t fNJetCandidates; // see above
229 /** Jet candiates = seeds for cone finder */
230 TClonesArray *fJetCandidates; //! transient
232 /** Ptr to seed cuts */
233 AliHLTJETConeSeedCuts *fSeedCuts; //! transient
235 /** Ptr to track cuts */
236 AliHLTJETTrackCuts *fTrackCuts; //! transient
238 ClassDef(AliHLTJETReader, 1)