// manages the search for jets
// Authors: jgcn@mda.cinvestav.mx
// andreas.morsch@cern.ch
+// magali.estienne@subatech.in2p3.fr
//---------------------------------------------------------------------
+//#include <Riostream.h>
+//#include <vector>
+
#include <TObject.h>
+#include "AliAODJet.h"
+#include "AliJetHeader.h"
+#include "AliJetReader.h"
+#include "AliAODJetEventBackground.h"
-class TFile;
+class TChain;
class TTree;
-class AliJet;
-class AliJetReader;
-class AliJetHeader;
-class AliJetControlPlots;
-class AliLeading;
+class AliAODEvent;
+class AliJetReaderHeader;
class AliJetFinder : public TObject
{
AliJetFinder();
virtual ~AliJetFinder();
- // getters
- virtual AliJet *GetJets() {return fJets;}
- virtual Bool_t GetPlotMode() const {return fPlotMode;}
- virtual TFile* GetOutputFile() {return fOut;}
- // setters
- 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();
+ // Getters
+ virtual AliJetReader *GetReader() const {return fReader;}
+ virtual AliJetHeader *GetHeader() const {return fHeader;}
+ virtual AliAODJetEventBackground* GetEventBackground() const {return fAODEvBkg;}
+ // Setters
+ virtual void SetJetReader(AliJetReader* r) {fReader=r;}
+ virtual void SetJetHeader(AliJetHeader* h) {fHeader=h;}
+ virtual void SetEventBackground(AliAODJetEventBackground* bkg) {fAODEvBkg = bkg;}
+ // Others
+ virtual void AddJet(AliAODJet jet);
+ virtual void WriteRHeaderToFile();
// the following have to be implemented for each specific finder
- virtual void Init() {}
- virtual void Reset() {}
- virtual void FindJets() {}
- virtual void FindJetsTPC(){}
- virtual void WriteJHeaderToFile() { }
+ virtual void Init() {}
+ virtual void InitTask(TChain* /*tree*/) {}
+ virtual void Reset() {fNAODjets = 0;}
+ virtual void FindJets() {}
+ virtual void FindJetsC(){}
+ virtual void WriteJHeaderToFile() const {}
// some methods to allow steering from the outside
- virtual Bool_t ProcessEvent(Long64_t entry);
- virtual void FinishRun();
- virtual void ConnectTree(TTree* tree);
- virtual void WriteHeaders();
+ virtual Bool_t ProcessEvent();
+ virtual Bool_t ProcessEvent2();
+ virtual void ConnectTree(TTree* tree, TObject* data);
+ virtual void ConnectAOD(const AliAODEvent* aod);
+ virtual void ConnectAODNonStd(AliAODEvent* aod,const char* bname);
+ virtual void WriteHeaders();
protected:
AliJetFinder(const AliJetFinder& rJetFinder);
AliJetFinder& operator = (const AliJetFinder& rhsf);
+ AliJetReader* fReader; // pointer to reader
+ AliJetHeader* fHeader; // pointer to header
+ TClonesArray* fAODjets; //! reconstructed jets
+ Int_t fNAODjets; //! number of reconstructed jets
+ AliAODJetEventBackground* fAODEvBkg; //! bkg object to be store
+ Int_t fDebug; // debug option, set through the header
- 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
- AliJetControlPlots* fPlots; // pointer to control plots
- TFile* fOut; // output file
ClassDef(AliJetFinder,2)
};