1 #ifndef ALIJETFILLUNITARRAYTRACKS_H
2 #define ALIJETFILLUNITARRAYTRACKS_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //---------------------------------------------------------------------
9 // Called by ESD Reader for jet analysis
10 // Author: Magali Estienne (magali.estienne@subatech.in2p3.fr)
11 //---------------------------------------------------------------------
20 class AliEMCALGeometry;
21 class AliJetHadronCorrection;
23 class AliJetESDReader;
25 class AliJetUnitArray;
26 //class AliJetReaderHeader;
30 class AliJetFillUnitArrayTracks : public TTask
33 AliJetFillUnitArrayTracks();
34 virtual ~AliJetFillUnitArrayTracks();
37 void SetReaderHeader(AliJetReaderHeader *readerHeader) {fReaderHeader = readerHeader;}
38 void SetMomentumArray(TClonesArray *momentumArray) {fMomentumArray = momentumArray;}
39 void SetUnitArray(AliJetUnitArray *unitArray) {fUnitArray = unitArray;}
40 void SetHadCorrection(Int_t flag = 1) {fHCorrection = flag;}
41 void SetHadCorrector(AliJetHadronCorrectionv1* corr) {fHadCorr = corr;}
42 void SetTPCGrid(AliJetGrid *grid) {fTPCGrid = grid;}
43 void SetEMCalGrid(AliJetGrid *grid) {fEMCalGrid = grid;}
44 void SetGrid(Double_t phiMin,Double_t phiMax,Double_t etaMin,Double_t etaMax);
47 AliJetUnitArray* GetUnitArray() {return fUnitArray;}
48 // Int_t GetIndexFromEtaPhi(Double_t eta,Double_t phi) const;
49 void GetEtaPhiFromIndex(Int_t index,Float_t &eta,Float_t &phi);
50 Int_t GetNeta() {return fNeta;}
51 Int_t GetNphi() {return fNphi;}
56 Int_t fNumUnits; // Number of units in the unit object array (same as num towers in EMCAL)
57 Float_t fEtaMinCal; // Define EMCal acceptance in Eta
58 Float_t fEtaMaxCal; // Define EMCal acceptance in Eta
59 Float_t fPhiMinCal; // Define EMCal acceptance in Phi
60 Float_t fPhiMaxCal; // Define EMCal acceptance in Phi
61 AliJetHadronCorrectionv1 *fHadCorr; // Pointer to Hadron Correction Object
62 Int_t fHCorrection; // Hadron correction flag
63 Int_t fNIn; // Number of Array filled in UnitArray
64 Int_t fOpt; // Detector to be used for jet reconstruction
65 Int_t fDebug; // Debug option
67 AliJetReaderHeader *fReaderHeader; // ReaderHeader
68 TClonesArray *fMomentumArray; // MomentumArray
69 AliJetUnitArray *fUnitArray; // UnitArray
70 AliJetGrid *fTPCGrid; // Define filled grid
71 AliJetGrid *fEMCalGrid; // Define filled grid
74 static AliEMCALGeometry *fGeom; //!
76 Int_t fNphi; // number of points in the grid: phi
78 TArrayD* fPhi2; // grid points in phi
79 TArrayD* fEta2; // grid points in eta
80 TArrayD* fPhi; // grid points in phi
81 TArrayD* fEta; // grid points in eta
82 TMatrixD* fIndex; // grid points in (phi,eta)
83 TMatrixD* fParams; // matrix of parameters in the grid points
84 Int_t fGrid; // Select the grid acceptance you want to fill
85 // 0 = TPC acceptance, 1 = TPC-EMCal acceptance
90 Int_t fEtaBinInTPCAcc;
91 Int_t fPhiBinInTPCAcc;
92 Int_t fEtaBinInEMCalAcc;
93 Int_t fPhiBinInEMCalAcc;
97 void SetEMCALGeometry();
98 void InitParameters();
102 ClassDef(AliJetFillUnitArrayTracks,1) // Fill Unit Array with tpc and/or emcal information