Adding includes for EMCAL_Utils and OADB PATH (A. Shabetai)
[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 //          magali.estienne@subatech.in2p3.fr
13 //---------------------------------------------------------------------
14
15 //#include <Riostream.h>
16 //#include <vector>
17
18 #include <TObject.h>
19 #include "AliAODJet.h"
20
21 class TChain;
22 class TTree;
23 class AliAODJet;
24 class AliAODEvent;
25 class AliAODJetEventBackground;
26 class AliJetHeader;
27 class AliJetReader;
28 class AliJetReaderHeader;
29
30 class AliJetFinder : public TObject 
31 {
32  public:
33   AliJetFinder();
34   virtual ~AliJetFinder();
35
36   // Getters
37   virtual AliJetReader *GetReader() const {return fReader;}
38   virtual AliJetHeader *GetHeader() const {return fHeader;}
39   virtual AliAODJetEventBackground* GetEventBackground() const {return fAODEvBkg;}
40   // Setters
41   virtual void          SetJetReader(AliJetReader* r) {fReader=r;}
42   virtual void          SetJetHeader(AliJetHeader* h) {fHeader=h;}
43   virtual void          SetEventBackground(AliAODJetEventBackground* bkg) {fAODEvBkg = bkg;}
44   // Others
45   virtual void          AddJet(AliAODJet jet);
46   virtual void          WriteRHeaderToFile();  
47   // the following have to be implemented for each specific finder
48   virtual void          Init() {}
49   virtual void          InitTask(TChain* /*tree*/) {}
50   virtual void          Reset() {fNAODjets = 0;}
51   virtual void          FindJets() {}
52   virtual void          FindJetsC(){}
53   virtual void          WriteJHeaderToFile() const {}
54   // some methods to allow steering from the outside
55   virtual Bool_t        ProcessEvent();
56   virtual Bool_t        ProcessEvent2();
57   virtual void          ConnectTree(TTree* tree, TObject* data);
58   virtual void          ConnectAOD(const AliAODEvent* aod);
59   virtual void          ConnectAODNonStd(AliAODEvent* aod,const char* bname);
60   virtual void          WriteHeaders();
61
62  protected:
63   AliJetFinder(const AliJetFinder& rJetFinder);
64   AliJetFinder& operator = (const AliJetFinder& rhsf);
65   AliJetReader*             fReader;         //  pointer to reader
66   AliJetHeader*             fHeader;         //  pointer to header
67   TClonesArray*             fAODjets;        //! reconstructed jets
68   Int_t                     fNAODjets;       //! number of reconstructed jets
69   AliAODJetEventBackground* fAODEvBkg;       //! bkg object to be store
70   Int_t                     fDebug;          //  debug option, set through the header
71
72   ClassDef(AliJetFinder,2)
73 };
74
75 #endif