Added script to draw calibrated raw data
[u/mrichter/AliRoot.git] / JETAN / AliJetFillUnitArrayTracks.h
CommitLineData
4a01bb2c 1#ifndef ALIJETFILLUNITARRAYTRACKS_H
2#define ALIJETFILLUNITARRAYTRACKS_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//---------------------------------------------------------------------
8// Jet Fill Unit Array
9// Called by ESD Reader for jet analysis
10// Author: Magali Estienne (magali.estienne@subatech.in2p3.fr)
11//---------------------------------------------------------------------
12
13#ifndef ROOT_TTask
14#include "TTask.h"
15#endif
16
17#include <TMatrixD.h>
18#include <TArrayD.h>
19
8838ab7a 20class AliEMCALGeometry;
21class AliJetDummyGeo;
4a01bb2c 22class AliJetHadronCorrection;
23class AliJetReader;
24class AliJetESDReader;
25class TClonesArray;
ee7de0dd 26class TRefArray;
4a01bb2c 27class AliJetGrid;
8838ab7a 28class AliEMCALGeometry;
ee7de0dd 29class AliJetDummyGeo;
30class AliESD;
31class AliESDEvent;
4a01bb2c 32
33class AliJetFillUnitArrayTracks : public TTask
34{
35 public:
36 AliJetFillUnitArrayTracks();
ee7de0dd 37 AliJetFillUnitArrayTracks(AliESDEvent *fESD);
4a01bb2c 38 virtual ~AliJetFillUnitArrayTracks();
39
40 // Setter
8838ab7a 41 void SetReaderHeader(AliJetReaderHeader *readerHeader) {fReaderHeader = readerHeader;}
42 void SetGeom(AliJetDummyGeo *geom) {fGeom = geom;}
43 void SetMomentumArray(TClonesArray *momentumArray) {fMomentumArray = momentumArray;}
44 void SetUnitArray(TClonesArray *unitArray) {fUnitArray = unitArray;}
45 void SetRefArray(TRefArray *refArray) {fRefArray = refArray;}
46 void SetHadCorrection(Int_t flag = 1) {fHCorrection = flag;}
47 void SetHadCorrector(AliJetHadronCorrectionv1* corr) {fHadCorr = corr;}
48 void SetTPCGrid(AliJetGrid *grid) {fTPCGrid = grid;}
49 void SetEMCalGrid(AliJetGrid *grid) {fEMCalGrid = grid;}
50 void SetGrid(Double_t phiMin,Double_t phiMax,Double_t etaMin,Double_t etaMax);
51 void SetESD(AliESDEvent *esd) {fESD = esd;}
52 void SetGrid0(AliJetGrid *grid0){fGrid0 = grid0;}
53 void SetGrid1(AliJetGrid *grid1){fGrid1 = grid1;}
54 void SetGrid2(AliJetGrid *grid2){fGrid2 = grid2;}
55 void SetGrid3(AliJetGrid *grid3){fGrid3 = grid3;}
56 void SetGrid4(AliJetGrid *grid4){fGrid4 = grid4;}
57 void SetProcId(Bool_t id) {fProcId = id;}
58 Bool_t GetProcId() {return fProcId;}
4a01bb2c 59
60 // Getter
ee7de0dd 61 TClonesArray* GetUnitArray() {return fUnitArray;}
62 TRefArray* GetRefArray() {return fRefArray;}
ee7de0dd 63 void GetEtaPhiFromIndex(Int_t index,Float_t &eta,Float_t &phi);
8838ab7a 64 Int_t GetNeta() {return fNeta;}
65 Int_t GetNphi() {return fNphi;}
66 Int_t GetHadCorrection() {return fHCorrection;}
67 Int_t GetMult() {return fNTracks;}
68 Int_t GetMultCut() {return fNTracksCut;}
ee7de0dd 69 void Exec(Option_t*);
4a01bb2c 70
71 protected:
8838ab7a 72 Int_t fNumUnits; // Number of units in the unit object array (same as num towers in EMCAL)
73 Float_t fEtaMinCal; // Define EMCal acceptance in Eta
74 Float_t fEtaMaxCal; // Define EMCal acceptance in Eta
75 Float_t fPhiMinCal; // Define EMCal acceptance in Phi
76 Float_t fPhiMaxCal; // Define EMCal acceptance in Phi
4a01bb2c 77 AliJetHadronCorrectionv1 *fHadCorr; // Pointer to Hadron Correction Object
8838ab7a 78 Int_t fHCorrection; // Hadron correction flag
ee7de0dd 79 Int_t fNTracks; // Number of tracks stored in UnitArray
80 Int_t fNTracksCut; // Number of tracks stored in UnitArray with a pt cut
4a01bb2c 81 Int_t fOpt; // Detector to be used for jet reconstruction
ee7de0dd 82 Bool_t fDZ; // Use or not dead zones
4a01bb2c 83 Int_t fDebug; // Debug option
84
85 AliJetReaderHeader *fReaderHeader; // ReaderHeader
86 TClonesArray *fMomentumArray; // MomentumArray
ee7de0dd 87 TClonesArray *fUnitArray; // UnitArray
88 TRefArray *fRefArray; // UnitArray
8838ab7a 89 Bool_t fProcId; // Bool_t for TProcessID synchronization
4a01bb2c 90 AliJetGrid *fTPCGrid; // Define filled grid
91 AliJetGrid *fEMCalGrid; // Define filled grid
ee7de0dd 92 AliJetDummyGeo *fGeom; // Define EMCal geometry
ee7de0dd 93 AliESDEvent *fESD; // ESD
8838ab7a 94 AliJetGrid *fGrid0; // Grid used for dead zones definition
95 AliJetGrid *fGrid1; // Grid used for dead zones definition
96 AliJetGrid *fGrid2; // Grid used for dead zones definition
97 AliJetGrid *fGrid3; // Grid used for dead zones definition
98 AliJetGrid *fGrid4; // Grid used for dead zones definition
4a01bb2c 99
8838ab7a 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;
111 Float_t fPhiMax;
112 Float_t fEtaMin;
113 Float_t fEtaMax;
114 Int_t fEtaBinInTPCAcc;
115 Int_t fPhiBinInTPCAcc;
116 Int_t fEtaBinInEMCalAcc;
117 Int_t fPhiBinInEMCalAcc;
118 Int_t fNbinPhi;
4a01bb2c 119
120 private:
a1fa3a77 121 AliJetFillUnitArrayTracks(const AliJetFillUnitArrayTracks &det);
122 AliJetFillUnitArrayTracks &operator=(const AliJetFillUnitArrayTracks &det);
4a01bb2c 123 void InitParameters();
124
4a01bb2c 125 ClassDef(AliJetFillUnitArrayTracks,1) // Fill Unit Array with tpc and/or emcal information
126};
127
128#endif