- The part of JETAN dealing with ESD data has been separated from the one using MC...
[u/mrichter/AliRoot.git] / JETAN / AliJetFinder.h
1 #ifndef ALIJETFINDER_H
2 #define ALIJETFINDER_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6  
7 //---------------------------------------------------------------------
8 // Jet finder base class
9 // manages the search for jets 
10 // Authors: jgcn@mda.cinvestav.mx
11 //          andreas.morsch@cern.ch
12 //---------------------------------------------------------------------
13
14 #include <TObject.h>
15 #include <AliJetHeader.h>
16
17 class TFile;
18 class TTree;
19 class AliJet;
20 class AliJetReader;
21 class AliJetControlPlots;
22 class AliLeading;
23
24 class AliJetFinder : public TObject 
25 {
26  public:
27   AliJetFinder();
28   virtual ~AliJetFinder();
29
30   // getters
31   virtual AliJet *GetJets() {return fJets;}
32   virtual Bool_t GetPlotMode() const {return fPlotMode;}
33   virtual TFile* GetOutputFile() {return fOut;}
34   // setters
35   virtual void SetPlotMode(Bool_t b);
36   virtual void SetOutputFile(const char *name="jets.root");
37   virtual void SetJetReader(AliJetReader* r) {fReader=r;}
38   virtual void SetJetHeader(AliJetHeader* h) {fHeader=h;}
39
40   // others
41   virtual void   PrintJets();
42   virtual void   Run();
43   virtual void   WriteJetsToFile(Int_t i);
44   virtual void   WriteRHeaderToFile();  
45   // the following have to be implemented for each specific finder
46   virtual void Init() {}
47   virtual void Reset() { }
48   virtual void FindJets() { }
49   virtual void WriteJHeaderToFile() { }
50   // some methods to allow steering from the outside
51   virtual Bool_t ProcessEvent(Long64_t entry);
52   virtual void   FinishRun();
53   virtual void   ConnectTree(TTree* tree);
54   virtual void   WriteHeaders();
55
56  protected:
57   AliJetFinder(const AliJetFinder& rJetFinder);
58   AliJetFinder& operator = (const AliJetFinder& rhsf);
59
60   Bool_t fPlotMode;              // do you want control plots?
61   AliJet* fJets;                 // pointer to jet class
62   AliJet* fGenJets;              // pointer to generated jets
63   AliLeading*   fLeading;        // pointer to leading particle data 
64   AliJetReader* fReader;         // pointer to reader
65   AliJetHeader* fHeader;         // pointer to header
66   AliJetControlPlots* fPlots;    // pointer to control plots
67   TFile* fOut;                   // output file
68   ClassDef(AliJetFinder,2)
69 };
70
71 #endif