]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALJetFinder.h
Acceptance and random rejection added.
[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 FindTracksInJetCone();
28     virtual void Test();
29     // Geometry
30     virtual void SetCellSize(Float_t eta, Float_t phi);
31     // Parameters
32     virtual void SetConeRadius(Float_t par);
33     virtual void SetEtSeed(Float_t par);
34     virtual void SetMinJetEt(Float_t par);
35     virtual void SetMinCellEt(Float_t par);
36     virtual void SetPtCut(Float_t par);
37     // Results
38     virtual Int_t   Njets();
39     virtual Float_t JetEnergy(Int_t);
40     virtual Float_t JetPhiL(Int_t);
41     virtual Float_t JetPhiW(Int_t);
42     virtual Float_t JetEtaL(Int_t);  
43     virtual Float_t JetEtaW(Int_t);
44     virtual TH2F* GetLego() {return fLego;}
45     // I/O
46     virtual void FillFromHits(Int_t flag = 0);
47     virtual void FillFromTracks(Int_t flag = 0, Int_t ich = 0);
48     virtual void AddJet(const AliEMCALJet& jet);
49     virtual void WriteJets();
50     virtual void ResetJets();
51     virtual TClonesArray* Jets() {return fJets;}
52  private:
53     virtual void BookLego();
54     virtual void DumpLego();
55     virtual void ResetMap();
56  protected:
57     TClonesArray*      fJets;            //! List of Jets
58     TH2F*              fLego;            //! Lego Histo
59     AliEMCALJet*       fJetT[10];        //! Jet temporary storage
60     Float_t            fConeRadius;      //  Cone radius
61     Float_t            fPtCut;           //  Pt cut on charged tracks 
62     Int_t              fNjets;           //! Number of Jets
63     Float_t            fDeta;            //! eta cell size 
64     Float_t            fDphi;            //! phi cell size
65     Int_t              fNcell;           //! number of cells
66     Int_t              fNtot;            //! total number of cells
67     Int_t              fNbinEta;         //! number of cells in eta
68     Int_t              fNbinPhi;         //! number of cells in phi
69     Float_t            fEtCell[30000];   //! Cell Energy
70     Float_t            fEtaCell[30000];  //! Cell eta
71     Float_t            fPhiCell[30000];  //! Cell phi
72     Int_t*             fTrackList;       //! List of selected tracks
73     Int_t              fNt;              //! number of tracks
74     Float_t*           fPtT;             //! Pt   of tracks in jet cone
75     Float_t*           fEtaT;            //! Eta  of tracks in jet cone
76     Float_t*           fPhiT;            //! Phi  of tracks in jet cone
77     ClassDef(AliEMCALJetFinder,2)        // JetFinder for EMCAL
78 }
79 ;
80 #endif // ALIEMCALJetFinder_H
81
82