99e5fe42 |
1 | #ifndef ALIJETREADER_H |
2 | #define ALIJETREADER_H |
3 | |
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ |
6 | |
99e5fe42 |
7 | // Jet reader base class |
8 | // manages the reading of input for jet algorithms |
b45b0c92 |
9 | // Authors: jgcn@mda.cinvestav.mx |
10 | // Magali Estienne <magali.estienne@IReS.in2p3.fr> |
11 | |
99e5fe42 |
12 | #include <TObject.h> |
13 | #include <TChain.h> |
8011d399 |
14 | #include <TArrayI.h> |
b45b0c92 |
15 | #ifndef ROOT_TTask |
16 | #include "TTask.h" |
17 | #endif |
18 | |
7d0f353c |
19 | class TTree; |
b45b0c92 |
20 | class TTask; |
99e5fe42 |
21 | class TClonesArray; |
c8f39c57 |
22 | class TRefArray; |
99e5fe42 |
23 | class AliJetReaderHeader; |
b45b0c92 |
24 | class AliJetUnitArray; |
7aec0427 |
25 | class AliJetHadronCorrectionv1; |
7d0f353c |
26 | class AliJet; |
99e5fe42 |
27 | |
99e5fe42 |
28 | class AliJetReader : public TObject |
29 | { |
30 | public: |
31 | AliJetReader(); |
32 | virtual ~AliJetReader(); |
33 | |
34 | // Getters |
c8f39c57 |
35 | virtual TClonesArray* GetMomentumArray() const {return fMomentumArray;} |
36 | virtual TRefArray* GetReferences() const {return 0;} |
37 | virtual AliJetUnitArray* GetUnitArray() const {return fUnitArray;} |
38 | virtual AliJetUnitArray* GetUnitArrayNoCuts() const {return fUnitArrayNoCuts;} |
b45b0c92 |
39 | |
c8f39c57 |
40 | virtual AliJetReaderHeader* GetReaderHeader() const {return fReaderHeader;} |
41 | virtual Int_t GetSignalFlag(Int_t i) const {return fSignalFlag[i];} |
42 | virtual Int_t GetCutFlag(Int_t i) const {return fCutFlag[i];} |
43 | virtual Int_t GetArrayInitialised() const {return fArrayInitialised;} |
7d0f353c |
44 | |
99e5fe42 |
45 | // Setters |
c8f39c57 |
46 | virtual void SetEvent(TObject */*ev*/) {} |
7d0f353c |
47 | virtual Bool_t FillMomentumArray(Int_t) {return kTRUE;} |
b45b0c92 |
48 | virtual void FillUnitArrayFromTPCTracks(Int_t) {} // temporarily not used |
49 | virtual void FillUnitArrayFromEMCALHits() {} // temporarily not used |
50 | virtual void FillUnitArrayFromEMCALDigits(Int_t) {} // temporarily not used |
51 | virtual void FillUnitArrayFromEMCALClusters(Int_t) {} // temporarily not used |
52 | virtual void InitUnitArray() {} |
7d0f353c |
53 | virtual void SetReaderHeader(AliJetReaderHeader* header) |
b45b0c92 |
54 | {fReaderHeader = header;} |
99e5fe42 |
55 | |
7d0f353c |
56 | // Others |
57 | virtual void OpenInputFiles() {} |
f3f3617d |
58 | virtual void ConnectTree(TTree* /*tree*/, TObject* /*data*/) {} |
7d0f353c |
59 | virtual Bool_t GetGenJets(AliJet* /*genJets*/) {return kFALSE;} |
60 | |
99e5fe42 |
61 | void ClearArray(); |
62 | |
63 | protected: |
1b7d5d7e |
64 | AliJetReader(const AliJetReader& rJetReader); |
65 | AliJetReader& operator = (const AliJetReader& rhsr); |
b45b0c92 |
66 | TClonesArray *fMomentumArray; // array of particle momenta |
de265230 |
67 | TClonesArray *fArrayMC; //! array of mc particles |
68 | TTask *fFillUnitArray; //! task list for filling the UnitArray |
b45b0c92 |
69 | AliJetReaderHeader *fReaderHeader; // pointer to header |
70 | TArrayI fSignalFlag; // to flag if a particle comes from pythia or |
71 | // from the underlying event |
72 | TArrayI fCutFlag; // to flag if a particle passed the pt cut or not |
de265230 |
73 | AliJetUnitArray *fUnitArray; //! array of digit position and energy |
74 | AliJetUnitArray *fUnitArrayNoCuts; //! array of digit position and energy |
b45b0c92 |
75 | Bool_t fArrayInitialised; // To check that array of units is initialised |
99e5fe42 |
76 | ClassDef(AliJetReader,1) |
77 | }; |
78 | |
79 | #endif |