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 void ConnectAODNonStd(AliAODEvent* aod,const char* bname);
61 virtual TTree* MakeTreeJ(char* name);
62 virtual void WriteHeaders();
63 virtual void WriteJetsToFile() {;}
64 virtual void TestJet() {;}
66 AliJetFinder(const AliJetFinder& rJetFinder);
67 AliJetFinder& operator = (const AliJetFinder& rhsf);
68 TTree* fTreeJ; //! pointer to jet tree
69 Bool_t fPlotMode; //! do you want control plots?
70 AliJet* fJets; //! pointer to jet class
71 AliJet* fGenJets; //! pointer to generated jets
72 AliLeading* fLeading; //! pointer to leading particle data
73 AliJetReader* fReader; // pointer to reader
74 AliJetHeader* fHeader; // pointer to header
75 TClonesArray* fAODjets; //! reconstructed jets
76 Int_t fNAODjets; //! number of reconstructed jets
77 AliJetControlPlots* fPlots; //! pointer to control plots
78 TFile* fOut; //! output file
79 ClassDef(AliJetFinder,2)