]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCALJetFinder.h
default constructor sets datamembers to zero
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALJetFinder.h
CommitLineData
471f69dc 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
14class TClonesArray;
d594b22e 15class AliEMCALHadronCorrection;
16
471f69dc 17class TH2F;
18
19class AliEMCALJetFinder : public TTask {
20 public:
3bc109a9 21 AliEMCALJetFinder();
22 AliEMCALJetFinder(const char* name, const char *title);
23 virtual ~AliEMCALJetFinder();
08a3fb06 24 virtual void Init();
a942c029 25 virtual void Find(Int_t ncell, Int_t ncell_tot, Float_t etc[30000],
3bc109a9 26 Float_t etac[30000], Float_t phic[30000],
27 Float_t min_move, Float_t max_move, Int_t mode,
28 Float_t prec_bg, Int_t ierror);
a942c029 29 virtual void Find();
30 virtual void FindTracksInJetCone();
31 virtual void Test();
d594b22e 32 virtual void BuildTrackFlagTable();
33 virtual Int_t SetTrackFlag(Float_t radius, Int_t pdgCode, Double_t charge);
3bc109a9 34 // Geometry
35 virtual void SetCellSize(Float_t eta, Float_t phi);
36 // Parameters
d594b22e 37 virtual void SetDebug(Int_t flag = 0) {fDebug = flag;}
3bc109a9 38 virtual void SetConeRadius(Float_t par);
39 virtual void SetEtSeed(Float_t par);
40 virtual void SetMinJetEt(Float_t par);
41 virtual void SetMinCellEt(Float_t par);
d594b22e 42 virtual void SetPtCut(Float_t par = 1.);
43 virtual void SetMomentumSmearing(Bool_t flag = kFALSE) {fSmear = flag;}
44 virtual void SetEfficiencySim(Bool_t flag = kFALSE) {fEffic = flag;}
45 virtual void SetSamplingFraction(Float_t par = 12.9) {fSamplingF = par;}
d53b7b0b 46 virtual void SetIncludeK0andN(Bool_t flag = kFALSE) {fK0N = flag;}
d594b22e 47 // Correction of hadronic energy
48 virtual void SetHadronCorrector(AliEMCALHadronCorrection* corr)
49 {fHadronCorrector = corr;}
50 virtual void SetHadronCorrection(Int_t flag = 1) {fHCorrection = flag;}
a942c029 51 // Access to Results
3bc109a9 52 virtual Int_t Njets();
53 virtual Float_t JetEnergy(Int_t);
54 virtual Float_t JetPhiL(Int_t);
55 virtual Float_t JetPhiW(Int_t);
56 virtual Float_t JetEtaL(Int_t);
57 virtual Float_t JetEtaW(Int_t);
58 virtual TH2F* GetLego() {return fLego;}
59 // I/O
08a3fb06 60 virtual void SetOutputFileName(char* name) {fOutFileName = name;}
3bc109a9 61 virtual void FillFromHits(Int_t flag = 0);
d594b22e 62 virtual void FillFromHitFlaggedTracks(Int_t flag = 0);
63 virtual void FillFromDigits(Int_t flag = 0);
3bc109a9 64 virtual void FillFromTracks(Int_t flag = 0, Int_t ich = 0);
a942c029 65 virtual void SaveBackgroundEvent();
66 virtual void InitFromBackground();
3bc109a9 67 virtual void AddJet(const AliEMCALJet& jet);
68 virtual void WriteJets();
69 virtual void ResetJets();
70 virtual TClonesArray* Jets() {return fJets;}
471f69dc 71 private:
3bc109a9 72 virtual void BookLego();
73 virtual void DumpLego();
74 virtual void ResetMap();
26dadf3a 75 virtual Float_t PropagatePhi(Float_t pt, Float_t charge, Bool_t& curls);
471f69dc 76 protected:
d594b22e 77 TClonesArray* fJets; //! List of Jets
78 TH2F* fLego; //! Lego Histo
a942c029 79 TH2F* fLegoB; //! Lego Histo Backg
d594b22e 80 AliEMCALJet* fJetT[10]; //! Jet temporary storage
81 AliEMCALHadronCorrection* fHadronCorrector; //! Pointer to hadronic correction
82 Int_t fHCorrection; // Hadron correction flag
83 Int_t fDebug; //! Debug flag
a942c029 84 Int_t fBackground; //! Background flag
d594b22e 85 Float_t fConeRadius; // Cone radius
86 Float_t fPtCut; // Pt cut on charged tracks
87 Float_t fEtSeed; // Min. Et for seed
88 Float_t fMinJetEt; // Min Et of jet
89 Float_t fMinCellEt; // Min Et in one cell
a942c029 90 Float_t fSamplingF; // Sampling Fraction
d594b22e 91 Bool_t fSmear; // Flag for momentum smearing
92 Bool_t fEffic; // Flag for efficiency simulation
d53b7b0b 93 Bool_t fK0N; // Flag for efficiency simulation
d594b22e 94 Int_t fNjets; //! Number of Jets
95 Float_t fDeta; //! eta cell size
96 Float_t fDphi; //! phi cell size
97 Int_t fNcell; //! number of cells
98 Int_t fNtot; //! total number of cells
99 Int_t fNbinEta; //! number of cells in eta
100 Int_t fNbinPhi; //! number of cells in phi
be9787fe 101 Float_t fEtaMin; //! minimum eta
102 Float_t fEtaMax; //! maximum eta
103 Float_t fPhiMin; //! minimun phi
104 Float_t fPhiMax; //! maximum phi
d594b22e 105 Float_t fEtCell[30000]; //! Cell Energy
106 Float_t fEtaCell[30000]; //! Cell eta
107 Float_t fPhiCell[30000]; //! Cell phi
108 Int_t* fTrackList; //! List of selected tracks
a942c029 109 Int_t* fTrackListB; //! List of selected tracks in Bg
d594b22e 110 Int_t fNt; //! number of tracks
a942c029 111 Int_t fNtS; //! number of tracks selected
112 Float_t* fPtT; //! Pt of tracks
113 Float_t* fEtaT; //! Eta of tracks
114 Float_t* fPhiT; //! Phi of tracks
115 Int_t fNtB; //! number of tracks in Bg
116 Float_t* fPtB; //! Pt of tracks in Bg
117 Float_t* fEtaB; //! Eta of tracks in Bg
118 Float_t* fPhiB; //! Phi of tracks in Bg
08a3fb06 119 char* fOutFileName; //! Output file name
120 TFile* fOutFile; //! Output file
121 TFile* fInFile; //! Output file
122 Int_t fEvent; //! Processed event
3bc109a9 123 ClassDef(AliEMCALJetFinder,2) // JetFinder for EMCAL
124}
125;
471f69dc 126#endif // ALIEMCALJetFinder_H
127
3bc109a9 128
a942c029 129
130
131
132