1 #ifndef ALIEMCALJETFINDER_H
2 #define ALIEMCALJETFINDER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 //*-- Andreas Morsch (CERN)
12 #include "AliEMCALJet.h"
15 class AliEMCALHadronCorrection;
19 class AliEMCALJetFinder : public TTask {
22 AliEMCALJetFinder(const char* name, const char *title);
23 virtual ~AliEMCALJetFinder();
24 virtual void Find(Int_t ncell, Int_t ncell_tot, Float_t etc[30000],
25 Float_t etac[30000], Float_t phic[30000],
26 Float_t min_move, Float_t max_move, Int_t mode,
27 Float_t prec_bg, Int_t ierror);
29 virtual void FindTracksInJetCone();
31 virtual void BuildTrackFlagTable();
32 virtual Int_t SetTrackFlag(Float_t radius, Int_t pdgCode, Double_t charge);
34 virtual void SetCellSize(Float_t eta, Float_t phi);
36 virtual void SetDebug(Int_t flag = 0) {fDebug = flag;}
37 virtual void SetConeRadius(Float_t par);
38 virtual void SetEtSeed(Float_t par);
39 virtual void SetMinJetEt(Float_t par);
40 virtual void SetMinCellEt(Float_t par);
41 virtual void SetPtCut(Float_t par = 1.);
42 virtual void SetMomentumSmearing(Bool_t flag = kFALSE) {fSmear = flag;}
43 virtual void SetEfficiencySim(Bool_t flag = kFALSE) {fEffic = flag;}
44 virtual void SetSamplingFraction(Float_t par = 12.9) {fSamplingF = par;}
45 // Correction of hadronic energy
46 virtual void SetHadronCorrector(AliEMCALHadronCorrection* corr)
47 {fHadronCorrector = corr;}
48 virtual void SetHadronCorrection(Int_t flag = 1) {fHCorrection = flag;}
50 virtual Int_t Njets();
51 virtual Float_t JetEnergy(Int_t);
52 virtual Float_t JetPhiL(Int_t);
53 virtual Float_t JetPhiW(Int_t);
54 virtual Float_t JetEtaL(Int_t);
55 virtual Float_t JetEtaW(Int_t);
56 virtual TH2F* GetLego() {return fLego;}
58 virtual void FillFromHits(Int_t flag = 0);
59 virtual void FillFromHitFlaggedTracks(Int_t flag = 0);
60 virtual void FillFromDigits(Int_t flag = 0);
61 virtual void FillFromTracks(Int_t flag = 0, Int_t ich = 0);
62 virtual void AddJet(const AliEMCALJet& jet);
63 virtual void WriteJets();
64 virtual void ResetJets();
65 virtual TClonesArray* Jets() {return fJets;}
67 virtual void BookLego();
68 virtual void DumpLego();
69 virtual void ResetMap();
71 TClonesArray* fJets; //! List of Jets
72 TH2F* fLego; //! Lego Histo
73 AliEMCALJet* fJetT[10]; //! Jet temporary storage
74 AliEMCALHadronCorrection* fHadronCorrector; //! Pointer to hadronic correction
75 Int_t fHCorrection; // Hadron correction flag
76 Int_t fDebug; //! Debug flag
77 Float_t fConeRadius; // Cone radius
78 Float_t fPtCut; // Pt cut on charged tracks
79 Float_t fEtSeed; // Min. Et for seed
80 Float_t fMinJetEt; // Min Et of jet
81 Float_t fMinCellEt; // Min Et in one cell
83 Bool_t fSmear; // Flag for momentum smearing
84 Bool_t fEffic; // Flag for efficiency simulation
85 Int_t fNjets; //! Number of Jets
86 Float_t fDeta; //! eta cell size
87 Float_t fDphi; //! phi cell size
88 Int_t fNcell; //! number of cells
89 Int_t fNtot; //! total number of cells
90 Int_t fNbinEta; //! number of cells in eta
91 Int_t fNbinPhi; //! number of cells in phi
92 Float_t fEtCell[30000]; //! Cell Energy
93 Float_t fEtaCell[30000]; //! Cell eta
94 Float_t fPhiCell[30000]; //! Cell phi
95 Int_t* fTrackList; //! List of selected tracks
96 Int_t fNt; //! number of tracks
97 Float_t* fPtT; //! Pt of tracks in jet cone
98 Float_t* fEtaT; //! Eta of tracks in jet cone
99 Float_t* fPhiT; //! Phi of tracks in jet cone
100 ClassDef(AliEMCALJetFinder,2) // JetFinder for EMCAL
103 #endif // ALIEMCALJetFinder_H