// manages the search for jets
// Authors: jgcn@mda.cinvestav.mx
// andreas.morsch@cern.ch
+// magali.estienne@subatech.in2p3.fr
+// alexandre.shabetai@cern.ch
//---------------------------------------------------------------------
-#include <TObject.h>
-#include <AliJetHeader.h>
-
-class TFile;
-class TTree;
-class AliJet;
-class AliJetReader;
-class AliJetControlPlots;
-class AliLeading;
+#include "AliJetCalTrk.h"
+#include "AliAODJet.h"
+#include "AliJetHeader.h"
+#include "AliAODJetEventBackground.h"
+class AliAODEvent;
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 AliJetCalTrkEvent* GetCalTrkEvent() const {return fCalTrkEvent;}
+ virtual AliJetHeader *GetJetHeader() const {return fHeader;}
+ virtual AliAODJetEventBackground* GetEventBackground() const {return fAODEvBkg;}
+ // Setters
+ virtual void SetCalTrkEvent(AliJetCalTrkEvent& event) {fCalTrkEvent = &event;}
+ virtual void SetJetHeader(AliJetHeader* h) {fHeader=h;}
+ virtual void SetEventBackground(AliAODJetEventBackground* bkg) {fAODEvBkg = bkg;}
+ // Others
+ virtual void AddJet(AliAODJet jet);
+ virtual void WriteHeaderToFile();
+ virtual void WriteHeader();
// 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 Reset() {fNAODjets = 0;}
+ virtual void FindJets() {}
+ virtual void ComputeBkgs() {}
+ virtual void CreateOutputObjects(TList * const /*histos*/) {} // Used by CDF for histo storage
+
// 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 void ConnectAOD(const AliAODEvent* aod);
+ virtual void ConnectAODNonStd(AliAODEvent* aod,const char* bname);
+ virtual void AddHistosToList(TList */*list*/) {}
protected:
AliJetFinder(const AliJetFinder& rJetFinder);
AliJetFinder& operator = (const AliJetFinder& rhsf);
+ 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
+ AliJetCalTrkEvent* fCalTrkEvent; // pointer to AliJetCalTrkEvent object
+
+ ClassDef(AliJetFinder,3) // base class for any jet finder
- 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)
};
#endif