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