]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/AliJetFinder.h
Changes needed by the following commit: coding convention for type (_t) and access...
[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 "AliAODJet.h"
16 #include "AliJetReader.h"
17
18 class TFile;
19 class TTree;
20 class AliJet;
21 class AliJetHeader;
22 class AliJetControlPlots;
23 class AliLeading;
24 class AliAODJet;
25 class AliAODEvent;
26
27 class AliJetFinder : public TObject 
28 {
29  public:
30   AliJetFinder();
31   virtual ~AliJetFinder();
32
33   // getters
34   virtual AliJetReader *GetReader() {return fReader;}
35   virtual AliJetHeader *GetHeader() {return fHeader;}
36   virtual AliJet *GetJets() {return fJets;}
37   virtual Bool_t GetPlotMode() const {return fPlotMode;}
38   virtual TFile* GetOutputFile() {return fOut;}
39   // setters
40   virtual void SetPlotMode(Bool_t b);
41   virtual void SetOutputFile(const char *name="jets.root");
42   virtual void SetJetReader(AliJetReader* r) {fReader=r;}
43   virtual void SetJetHeader(AliJetHeader* h) {fHeader=h;}
44   // others
45   virtual void   AddJet(AliAODJet jet);
46   virtual void   PrintJets();
47   virtual void   Run();
48   virtual void   WriteRHeaderToFile();  
49   // the following have to be implemented for each specific finder
50   virtual void Init() {}
51   virtual void Reset() {fNAODjets = 0;}
52   virtual void FindJets() {}
53   virtual void FindJetsTPC(){}
54   virtual void WriteJHeaderToFile() { }
55   // some methods to allow steering from the outside
56   virtual Bool_t ProcessEvent();
57   virtual void   FinishRun();
58   virtual void   ConnectTree(TTree* tree, TObject* data);
59   virtual void   ConnectAOD(AliAODEvent* aod);
60   virtual TTree* MakeTreeJ(char* name);
61   virtual void   WriteHeaders();
62   virtual void   WriteJetsToFile() {;}
63   virtual void   TestJet() {;}
64  protected:
65   AliJetFinder(const AliJetFinder& rJetFinder);
66   AliJetFinder& operator = (const AliJetFinder& rhsf);
67   TTree* fTreeJ;                 //! pointer to jet tree
68   Bool_t fPlotMode;              //! do you want control plots?
69   AliJet* fJets;                 //! pointer to jet class
70   AliJet* fGenJets;              //! pointer to generated jets
71   AliLeading*   fLeading;        //! pointer to leading particle data 
72   AliJetReader* fReader;         //  pointer to reader
73   AliJetHeader* fHeader;         //  pointer to header
74   TClonesArray* fAODjets;        //! reconstructed jets
75   Int_t         fNAODjets;       //! number of reconstructed jets
76   AliJetControlPlots* fPlots;    //! pointer to control plots
77   TFile* fOut;                   //! output file
78   ClassDef(AliJetFinder,2)
79 };
80
81 #endif