]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALJetFinder.h
e8d95267399c02cf0c7876aa99c84027000bc212
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALJetFinder.h
1 #ifndef ALIEMCALJETFINDER_H
2 #define ALIEMCALJETFINDER_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice     */
6
7 /* $Id$ */
8 //*-- Author:
9 //*-- Andreas Morsch (CERN)
10
11 #include <TTask.h>
12 #include "AliEMCALJet.h"
13
14 class TClonesArray;
15 class TH2F;
16
17 class AliEMCALJetFinder : public TTask {
18  public:
19   AliEMCALJetFinder();
20   AliEMCALJetFinder(const char* name, const char *title);
21   virtual ~AliEMCALJetFinder();
22   virtual void Find(Int_t ncell, Int_t ncell_tot, Float_t etc[30000], 
23                     Float_t etac[30000], Float_t phic[30000],
24                     Float_t min_move, Float_t max_move, Int_t mode,
25                     Float_t prec_bg, Int_t ierror);
26   virtual void Find();
27   virtual void Test();
28   // Geometry
29   virtual void SetCellSize(Float_t eta, Float_t phi);
30   // Parameters
31   virtual void SetConeRadius(Float_t par);
32   virtual void SetEtSeed(Float_t par);
33   virtual void SetMinJetEt(Float_t par);
34   virtual void SetMinCellEt(Float_t par);
35   // Results
36   virtual Int_t   Njets();
37   virtual Float_t JetEnergy(Int_t);
38   virtual Float_t JetPhiL(Int_t);
39   virtual Float_t JetPhiW(Int_t);
40   virtual Float_t JetEtaL(Int_t);  
41   virtual Float_t JetEtaW(Int_t);
42   virtual TH2F* GetLego() {return fLego;}
43   // I/O
44   virtual void FillFromHits(Int_t flag = 0);
45   virtual void FillFromTracks(Int_t flag = 0, Int_t ich = 0);
46   virtual void AddJet(const AliEMCALJet& jet);
47   virtual void WriteJets();
48   virtual void ResetJets();
49   virtual TClonesArray*  Jets() {return fJets;}
50  private:
51   virtual void BookLego();
52   virtual void DumpLego();
53   virtual void ResetMap();
54  protected:
55   TClonesArray*      fJets;            //! List of Jets
56   TH2F*              fLego;            //! Lego Histo 
57   Int_t              fNjets;           //! Number of Jets
58   Float_t            fDeta;            //! eta cell size 
59   Float_t            fDphi;            //! phi cell size
60   Int_t              fNcell;           //! number of cells
61   Int_t              fNtot;            //! total number of cells
62   Int_t              fNbinEta;         //! number of cells in eta
63   Int_t              fNbinPhi;         //! number of cells in phi
64   Float_t            fEtCell[30000];   //! Cell Energy
65   Float_t            fEtaCell[30000];  //! Cell eta
66   Float_t            fPhiCell[30000];  //! Cell phi
67   
68   ClassDef(AliEMCALJetFinder,1) // JetFinder for EMCAL
69 } ;
70 #endif // ALIEMCALJetFinder_H
71