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 // magali.estienne@subatech.in2p3.fr
13 //---------------------------------------------------------------------
16 #include "AliAODJet.h"
17 #include "AliJetReader.h"
23 class AliJetControlPlots;
28 class AliJetFinder : public TObject
32 virtual ~AliJetFinder();
35 virtual AliJetReader *GetReader() {return fReader;}
36 virtual AliJetHeader *GetHeader() {return fHeader;}
37 virtual AliJet *GetJets() {return fJets;}
38 virtual Bool_t GetPlotMode() const {return fPlotMode;}
39 virtual TFile *GetOutputFile() {return fOut;}
41 virtual void SetPlotMode(Bool_t b);
42 virtual void SetOutputFile(const char *name="jets.root");
43 virtual void SetJetReader(AliJetReader* r) {fReader=r;}
44 virtual void SetJetHeader(AliJetHeader* h) {fHeader=h;}
46 virtual void AddJet(AliAODJet jet);
47 virtual void PrintJets();
49 virtual void WriteRHeaderToFile();
50 // the following have to be implemented for each specific finder
51 virtual void Init() {}
52 virtual void InitTask(TChain* /*tree*/) {}
53 virtual void Reset() {fNAODjets = 0;}
54 virtual void FindJets() {}
55 virtual void FindJetsC(){}
56 virtual void WriteJHeaderToFile() { }
57 // some methods to allow steering from the outside
58 virtual Bool_t ProcessEvent();
59 virtual Bool_t ProcessEvent2();
60 virtual void FinishRun();
61 virtual void ConnectTree(TTree* tree, TObject* data);
62 virtual void ConnectAOD(AliAODEvent* aod);
63 virtual void ConnectAODNonStd(AliAODEvent* aod,const char* bname);
64 virtual TTree *MakeTreeJ(char* name);
65 virtual void WriteHeaders();
66 virtual void WriteJetsToFile() {;}
67 virtual void TestJet() {;}
70 AliJetFinder(const AliJetFinder& rJetFinder);
71 AliJetFinder& operator = (const AliJetFinder& rhsf);
72 TTree* fTreeJ; //! pointer to jet tree
73 Bool_t fPlotMode; //! do you want control plots?
74 AliJet* fJets; //! pointer to jet class
75 AliJet* fGenJets; //! pointer to generated jets
76 AliLeading* fLeading; //! pointer to leading particle data
77 AliJetReader* fReader; // pointer to reader
78 AliJetHeader* fHeader; // pointer to header
79 TClonesArray* fAODjets; //! reconstructed jets
80 Int_t fNAODjets; //! number of reconstructed jets
81 AliJetControlPlots* fPlots; //! pointer to control plots
82 TFile* fOut; //! output file
84 ClassDef(AliJetFinder,2)