]>
Commit | Line | Data |
---|---|---|
99e5fe42 | 1 | #ifndef ALIJETFINDER_H |
2 | #define ALIJETFINDER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
99e5fe42 | 7 | //--------------------------------------------------------------------- |
8 | // Jet finder base class | |
9 | // manages the search for jets | |
7d0f353c | 10 | // Authors: jgcn@mda.cinvestav.mx |
11 | // andreas.morsch@cern.ch | |
8838ab7a | 12 | // magali.estienne@subatech.in2p3.fr |
99e5fe42 | 13 | //--------------------------------------------------------------------- |
14 | ||
be6e5811 | 15 | //#include <Riostream.h> |
16 | //#include <vector> | |
17 | ||
99e5fe42 | 18 | #include <TObject.h> |
1d27ecd2 | 19 | #include "AliAODJet.h" |
ad8ada26 | 20 | #include "AliJetReader.h" |
be6e5811 | 21 | #include "AliJetHeader.h" |
22 | #include "AliJet.h" | |
23 | #include "AliJetReaderHeader.h" | |
99e5fe42 | 24 | |
25 | class TFile; | |
8838ab7a | 26 | class TChain; |
be6e5811 | 27 | //class AliJet; |
28 | //class AliJetHeader; | |
99e5fe42 | 29 | class AliJetControlPlots; |
30 | class AliLeading; | |
1d27ecd2 | 31 | class AliAODJet; |
32 | class AliAODEvent; | |
99e5fe42 | 33 | |
99e5fe42 | 34 | class AliJetFinder : public TObject |
35 | { | |
36 | public: | |
99e5fe42 | 37 | AliJetFinder(); |
38 | virtual ~AliJetFinder(); | |
39 | ||
40 | // getters | |
ad8ada26 | 41 | virtual AliJetReader *GetReader() {return fReader;} |
0ab34e91 | 42 | virtual AliJetHeader *GetHeader() {return fHeader;} |
8838ab7a | 43 | virtual AliJet *GetJets() {return fJets;} |
44 | virtual Bool_t GetPlotMode() const {return fPlotMode;} | |
45 | virtual TFile *GetOutputFile() {return fOut;} | |
99e5fe42 | 46 | // setters |
8838ab7a | 47 | virtual void SetPlotMode(Bool_t b); |
48 | virtual void SetOutputFile(const char *name="jets.root"); | |
49 | virtual void SetJetReader(AliJetReader* r) {fReader=r;} | |
50 | virtual void SetJetHeader(AliJetHeader* h) {fHeader=h;} | |
99e5fe42 | 51 | // others |
8838ab7a | 52 | virtual void AddJet(AliAODJet jet); |
53 | virtual void PrintJets(); | |
54 | virtual void Run(); | |
55 | virtual void WriteRHeaderToFile(); | |
99e5fe42 | 56 | // the following have to be implemented for each specific finder |
8838ab7a | 57 | virtual void Init() {} |
58 | virtual void InitTask(TChain* /*tree*/) {} | |
59 | virtual void Reset() {fNAODjets = 0;} | |
60 | virtual void FindJets() {} | |
61 | virtual void FindJetsC(){} | |
be6e5811 | 62 | virtual void WriteJHeaderToFile() {} |
7d0f353c | 63 | // some methods to allow steering from the outside |
8838ab7a | 64 | virtual Bool_t ProcessEvent(); |
65 | virtual Bool_t ProcessEvent2(); | |
66 | virtual void FinishRun(); | |
67 | virtual void ConnectTree(TTree* tree, TObject* data); | |
68 | virtual void ConnectAOD(AliAODEvent* aod); | |
69 | virtual void ConnectAODNonStd(AliAODEvent* aod,const char* bname); | |
70 | virtual TTree *MakeTreeJ(char* name); | |
71 | virtual void WriteHeaders(); | |
be6e5811 | 72 | virtual void WriteJetsToFile() const {;} |
8838ab7a | 73 | virtual void TestJet() {;} |
74 | ||
99e5fe42 | 75 | protected: |
1b7d5d7e | 76 | AliJetFinder(const AliJetFinder& rJetFinder); |
77 | AliJetFinder& operator = (const AliJetFinder& rhsf); | |
eaabc21f | 78 | TTree* fTreeJ; //! pointer to jet tree |
79 | Bool_t fPlotMode; //! do you want control plots? | |
19e6695b | 80 | AliJet* fJets; //! pointer to jet class |
81 | AliJet* fGenJets; //! pointer to generated jets | |
82 | AliLeading* fLeading; //! pointer to leading particle data | |
83 | AliJetReader* fReader; // pointer to reader | |
84 | AliJetHeader* fHeader; // pointer to header | |
1d27ecd2 | 85 | TClonesArray* fAODjets; //! reconstructed jets |
86 | Int_t fNAODjets; //! number of reconstructed jets | |
19e6695b | 87 | AliJetControlPlots* fPlots; //! pointer to control plots |
88 | TFile* fOut; //! output file | |
8838ab7a | 89 | |
7d0f353c | 90 | ClassDef(AliJetFinder,2) |
99e5fe42 | 91 | }; |
92 | ||
93 | #endif |