]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - JETAN/AliJetFinder.h
Protection added.
[u/mrichter/AliRoot.git] / JETAN / AliJetFinder.h
index c3feee45740d993c51ccec610a95c8025edb2da1..ec62bd131b95cbfa24a46d0c837eb869e81a9e9d 100755 (executable)
@@ -7,25 +7,32 @@
 //---------------------------------------------------------------------
 // Jet finder base class
 // manages the search for jets 
-// Author: jgcn@mda.cinvestav.mx
+// Authors: jgcn@mda.cinvestav.mx
+//          andreas.morsch@cern.ch
 //---------------------------------------------------------------------
 
 #include <TObject.h>
+#include "AliAODJet.h"
+#include "AliJetReader.h"
 
 class TFile;
+class TTree;
 class AliJet;
-class AliJetReader;
+class AliJetHeader;
 class AliJetControlPlots;
 class AliLeading;
+class AliAODJet;
+class AliAODEvent;
 
 class AliJetFinder : public TObject 
 {
  public:
-
   AliJetFinder();
   virtual ~AliJetFinder();
 
   // getters
+  virtual AliJetReader *GetReader() {return fReader;}
+  virtual AliJetHeader *GetHeader() {return fHeader;}
   virtual AliJet *GetJets() {return fJets;}
   virtual Bool_t GetPlotMode() const {return fPlotMode;}
   virtual TFile* GetOutputFile() {return fOut;}
@@ -33,29 +40,43 @@ class AliJetFinder : public TObject
   virtual void SetPlotMode(Bool_t b);
   virtual void SetOutputFile(const char *name="jets.root");
   virtual void SetJetReader(AliJetReader* r) {fReader=r;}
-
+  virtual void SetJetHeader(AliJetHeader* h) {fHeader=h;}
   // others
-  virtual void PrintJets();
-  virtual void Run();
-  virtual void WriteJetsToFile(Int_t i);
-  virtual void WriteRHeaderToFile();
+  virtual void   AddJet(AliAODJet jet);
+  virtual void   PrintJets();
+  virtual void   Run();
+  virtual void   WriteRHeaderToFile();  
   // the following have to be implemented for each specific finder
-  virtual void Init() { }
-  virtual void Reset() { }
-  virtual void FindJets() { }
+  virtual void Init() {}
+  virtual void Reset() {fNAODjets = 0;}
+  virtual void FindJets() {}
+  virtual void FindJetsTPC(){}
   virtual void WriteJHeaderToFile() { }
-  virtual void GetGenJets();
-
+  // some methods to allow steering from the outside
+  virtual Bool_t ProcessEvent();
+  virtual void   FinishRun();
+  virtual void   ConnectTree(TTree* tree, TObject* data);
+  virtual void   ConnectAOD(AliAODEvent* aod);
+  virtual void   ConnectAODNonStd(AliAODEvent* aod,const char* bname);
+  virtual TTree* MakeTreeJ(char* name);
+  virtual void   WriteHeaders();
+  virtual void   WriteJetsToFile() {;}
+  virtual void   TestJet() {;}
  protected:
-  Bool_t fPlotMode;              // do you want control plots?
-  AliJet* fJets;                 // pointer to jet class
-  AliJet* fGenJets;              // pointer to generated jets
-  AliLeading* fLeading;          // pointer to leading particle data 
-  AliJetReader* fReader;         // pointer to reader
-  AliJetControlPlots* fPlots;    // pointer to control plots
-  TFile* fOut;                   // output file
-
-  ClassDef(AliJetFinder,1)
+  AliJetFinder(const AliJetFinder& rJetFinder);
+  AliJetFinder& operator = (const AliJetFinder& rhsf);
+  TTree* fTreeJ;                 //! pointer to jet tree
+  Bool_t fPlotMode;              //! do you want control plots?
+  AliJet* fJets;                 //! pointer to jet class
+  AliJet* fGenJets;              //! pointer to generated jets
+  AliLeading*   fLeading;        //! pointer to leading particle data 
+  AliJetReader* fReader;         //  pointer to reader
+  AliJetHeader* fHeader;         //  pointer to header
+  TClonesArray* fAODjets;        //! reconstructed jets
+  Int_t         fNAODjets;       //! number of reconstructed jets
+  AliJetControlPlots* fPlots;    //! pointer to control plots
+  TFile* fOut;                   //! output file
+  ClassDef(AliJetFinder,2)
 };
 
 #endif