]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/DEV/AliJetFinder.h
adding JETAN and FASTJETAN development libs for new i/o of tracks/particles for the...
[u/mrichter/AliRoot.git] / JETAN / DEV / 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 //          alexandre.shabetai@cern.ch
14 //---------------------------------------------------------------------
15
16 #include "AliJetCalTrk.h"
17 #include "AliAODJet.h"
18
19 class AliJetHeader;
20 class AliAODJetEventBackground;
21 class AliAODEvent;
22
23 class AliJetFinder : public TObject 
24 {
25  public:
26   AliJetFinder();
27   virtual ~AliJetFinder();
28
29   // Getters
30   virtual AliJetCalTrkEvent* GetCalTrkEvent() const {return fCalTrkEvent;}
31   virtual AliJetHeader *GetJetHeader() const {return fHeader;}
32   virtual AliAODJetEventBackground* GetEventBackground() const {return fAODEvBkg;}
33   // Setters
34   virtual void              SetCalTrkEvent(AliJetCalTrkEvent& event) {fCalTrkEvent = &event;}
35   virtual void              SetJetHeader(AliJetHeader* h) {fHeader=h;}
36   virtual void              SetEventBackground(AliAODJetEventBackground* bkg) {fAODEvBkg = bkg;}
37   // Others
38   virtual void              AddJet(AliAODJet jet);
39   virtual void              WriteHeaderToFile();
40   virtual void              WriteHeader();
41   // the following have to be implemented for each specific finder
42   virtual void              Init() {}
43   virtual void              Reset() {fNAODjets = 0;}
44   virtual void              FindJets() {}
45   virtual void              ComputeBkgs() {}
46   virtual void              CreateOutputObjects(TList * const /*histos*/) {} // Used by CDF for histo storage
47
48   // some methods to allow steering from the outside
49   virtual Bool_t            ProcessEvent();
50   virtual void              ConnectAOD(const AliAODEvent* aod);
51   virtual void              ConnectAODNonStd(AliAODEvent* aod,const char* bname);
52   virtual void              AddHistosToList(TList */*list*/) {}
53
54  protected:
55   AliJetFinder(const AliJetFinder& rJetFinder);
56   AliJetFinder& operator = (const AliJetFinder& rhsf);
57   AliJetHeader*             fHeader;         //  pointer to header
58   TClonesArray*             fAODjets;        //! reconstructed jets
59   Int_t                     fNAODjets;       //  number of reconstructed jets
60   AliAODJetEventBackground* fAODEvBkg;       //! bkg object to be store
61   Int_t                     fDebug;          //  debug option, set through the header
62   AliJetCalTrkEvent*        fCalTrkEvent;    //  pointer to AliJetCalTrkEvent object
63  
64   ClassDef(AliJetFinder,3)                   //  base class for any jet finder
65
66 };
67
68 #endif