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 AliJetHadronCorrection;
22 class AliJetESDReader;
30 class AliJetFillUnitArrayTracks : public TTask
33 AliJetFillUnitArrayTracks();
34 AliJetFillUnitArrayTracks(AliESD *fESD);
35 AliJetFillUnitArrayTracks(AliESDEvent *fESD);
36 virtual ~AliJetFillUnitArrayTracks();
39 void SetReaderHeader(AliJetReaderHeader *readerHeader) {fReaderHeader = readerHeader;}
40 void SetGeom(AliJetDummyGeo *geom) {fGeom = geom;}
41 void SetMomentumArray(TClonesArray *momentumArray) {fMomentumArray = momentumArray;}
42 void SetUnitArray(TClonesArray *unitArray) {fUnitArray = unitArray;}
43 void SetRefArray(TRefArray *refArray) {fRefArray = refArray;}
44 void SetHadCorrection(Int_t flag = 1) {fHCorrection = flag;}
45 void SetHadCorrector(AliJetHadronCorrectionv1* corr) {fHadCorr = corr;}
46 void SetTPCGrid(AliJetGrid *grid) {fTPCGrid = grid;}
47 void SetEMCalGrid(AliJetGrid *grid) {fEMCalGrid = grid;}
48 void SetGrid(Double_t phiMin,Double_t phiMax,Double_t etaMin,Double_t etaMax);
49 // void SetESD(AliESD *esd) {fESD = esd;}
50 void SetESD(AliESDEvent *esd) {fESD = esd;}
51 void SetGrid0(AliJetGrid *grid0){fGrid0 = grid0;}
52 void SetGrid1(AliJetGrid *grid1){fGrid1 = grid1;}
53 void SetGrid2(AliJetGrid *grid2){fGrid2 = grid2;}
54 void SetGrid3(AliJetGrid *grid3){fGrid3 = grid3;}
55 void SetGrid4(AliJetGrid *grid4){fGrid4 = grid4;}
58 TClonesArray* GetUnitArray() {return fUnitArray;}
59 TRefArray* GetRefArray() {return fRefArray;}
60 // Int_t GetIndexFromEtaPhi(Double_t eta,Double_t phi) const;
61 void GetEtaPhiFromIndex(Int_t index,Float_t &eta,Float_t &phi);
62 Int_t GetNeta() const {return fNeta;}
63 Int_t GetNphi() const {return fNphi;}
64 Int_t GetHadCorrection() const {return fHCorrection;}
65 Int_t GetMult() const {return fNTracks;}
66 Int_t GetMultCut() const {return fNTracksCut;}
69 AliJetFillUnitArrayTracks(const AliJetFillUnitArrayTracks &det);
70 AliJetFillUnitArrayTracks &operator=(const AliJetFillUnitArrayTracks &det);
73 Int_t fNumUnits; // Number of units in the unit object array (same as num towers in EMCAL)
74 Float_t fEtaMinCal; // Define EMCal acceptance in Eta
75 Float_t fEtaMaxCal; // Define EMCal acceptance in Eta
76 Float_t fPhiMinCal; // Define EMCal acceptance in Phi
77 Float_t fPhiMaxCal; // Define EMCal acceptance in Phi
78 AliJetHadronCorrectionv1 *fHadCorr; // Pointer to Hadron Correction Object
79 Int_t fHCorrection; // Hadron correction flag
80 Int_t fNTracks; // Number of tracks stored in UnitArray
81 Int_t fNTracksCut; // Number of tracks stored in UnitArray with a pt cut
82 Int_t fOpt; // Detector to be used for jet reconstruction
83 Bool_t fDZ; // Use or not dead zones
84 Int_t fDebug; // Debug option
86 AliJetReaderHeader *fReaderHeader; // ReaderHeader
87 TClonesArray *fMomentumArray; // MomentumArray
88 TClonesArray *fUnitArray; // UnitArray
89 TRefArray *fRefArray; // UnitArray
90 AliJetGrid *fTPCGrid; // Define filled grid
91 AliJetGrid *fEMCalGrid; // Define filled grid
92 AliJetDummyGeo *fGeom; // Define EMCal geometry
93 AliESDEvent *fESD; // ESD
94 AliJetGrid *fGrid0; // Pointer to Grid 1
95 AliJetGrid *fGrid1; // Pointer to Grid 2
96 AliJetGrid *fGrid2; // Pointer to Grid 3
97 AliJetGrid *fGrid3; // Pointer to Grid 4
98 AliJetGrid *fGrid4; // Pointer to Grid 5
100 Int_t fNphi; // number of points in the grid: phi
101 Int_t fNeta; // " eta
102 TArrayD* fPhi2; // grid points in phi
103 TArrayD* fEta2; // grid points in eta
104 TArrayD* fPhi; // grid points in phi
105 TArrayD* fEta; // grid points in eta
106 TMatrixD* fIndex; // grid points in (phi,eta)
107 TMatrixD* fParams; // matrix of parameters in the grid points
108 Int_t fGrid; // Select the grid acceptance you want to fill
109 // 0 = TPC acceptance, 1 = TPC-EMCal acceptance
110 Float_t fPhiMin; // minimum phi
111 Float_t fPhiMax; // maximum phi
112 Float_t fEtaMin; // minimum eta
113 Float_t fEtaMax; // maximum eta
114 Int_t fEtaBinInTPCAcc; // eta bins in tpc acceptance
115 Int_t fPhiBinInTPCAcc; // phi bins in tpc acceptance
116 Int_t fEtaBinInEMCalAcc; // eta bins in emcal acceptance
117 Int_t fPhiBinInEMCalAcc; // phi bins in emcal acceptance
118 Int_t fNbinPhi; // number of phi bins
121 // void SetEMCALGeometry();
122 void InitParameters();
124 ClassDef(AliJetFillUnitArrayTracks,1) // Fill Unit Array with tpc and/or emcal information