- The part of JETAN dealing with ESD data has been separated from the one using MC...
[u/mrichter/AliRoot.git] / JETAN / AliJetReader.h
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  
7 // Jet reader base class
8 // manages the reading of input for jet algorithms
9 // Author: jgcn@mda.cinvestav.mx
10   
11 #include <TObject.h>
12 #include <TChain.h>
13 #include <TArrayI.h>
14 class TTree;
15 class TClonesArray;
16 class AliJetReaderHeader;
17 class AliESD;
18 class AliJet;
19
20 class AliJetReader : public TObject 
21 {
22  public: 
23   AliJetReader();
24   virtual ~AliJetReader();
25
26   // Getters
27   virtual TClonesArray *GetMomentumArray() {return fMomentumArray;}
28   virtual Int_t GetChainEntries() {return fChain->GetEntries();} 
29   virtual AliJetReaderHeader* GetReaderHeader() { return fReaderHeader;}
30   virtual Int_t GetSignalFlag(Int_t i) const {return fSignalFlag[i];}
31   virtual Int_t GetCutFlag(Int_t i) const {return fCutFlag[i];}
32   
33   // Setters
34   virtual Bool_t FillMomentumArray(Int_t) {return kTRUE;}
35   virtual void   SetReaderHeader(AliJetReaderHeader* header) 
36     {fReaderHeader = header;}
37           
38   // Others
39   virtual void   OpenInputFiles() {}
40   virtual void   ConnectTree(TTree* /*tree*/) {}
41   virtual Bool_t GetGenJets(AliJet* /*genJets*/) {return kFALSE;}
42   
43   void ClearArray();
44  
45  protected:
46   AliJetReader(const AliJetReader& rJetReader);
47   AliJetReader& operator = (const AliJetReader& rhsr);
48
49   TChain                  *fChain;         // chain for reconstructed tracks
50   TChain                  *fChainMC;       // chain for mc information
51   TClonesArray            *fMomentumArray; // array of particle momenta
52   TClonesArray            *fArrayMC;       // array of mc particles
53   AliESD                  *fESD;           // pointer to esd
54   AliJetReaderHeader      *fReaderHeader;  // pointer to header
55   TArrayI fSignalFlag;   // to flag if a particle comes from pythia or 
56                          // from the underlying event
57   TArrayI fCutFlag;      // to flag if a particle passed the pt cut or not
58
59   ClassDef(AliJetReader,1)
60 };
61  
62 #endif