4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //---------------------------------------------------------------------
8 // Jet finder base class
9 // manages the search for jets
10 // Authors: jgcn@mda.cinvestav.mx
11 // andreas.morsch@cern.ch
12 //---------------------------------------------------------------------
15 #include "AliAODJet.h"
16 #include "AliJetReader.h"
22 class AliJetControlPlots;
27 class AliJetFinder : public TObject
31 virtual ~AliJetFinder();
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;}
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;}
45 virtual void AddJet(AliAODJet jet);
46 virtual void PrintJets();
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() {;}
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)