]>
Commit | Line | Data |
---|---|---|
be6e5811 | 1 | #ifndef ALIJETFILLUNITARRAY_H |
2 | #define ALIJETFILLUNITARRAY_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 | // Base class used to fill Unit Array | |
9 | // Called by ESD Reader for jet analysis | |
10 | // Author: Magali Estienne (magali.estienne@subatech.in2p3.fr) | |
11 | //--------------------------------------------------------------------- | |
12 | ||
13 | //#include <Riostream.h> | |
14 | #include <TMath.h> | |
15 | #include <TTask.h> | |
16 | ||
17 | #include <TArrayD.h> | |
18 | #include <TRefArray.h> | |
19 | #include <TClonesArray.h> | |
20 | ||
21 | #include "AliJetReaderHeader.h" | |
22 | #include "AliJetAODReaderHeader.h" | |
23 | #include "AliJetDummyGeo.h" | |
24 | #include "AliJetGrid.h" | |
25 | #include "AliESDEvent.h" | |
26 | #include "AliAODEvent.h" | |
27 | #include "AliJetHadronCorrection.h" | |
28 | ||
29 | class Riostream; | |
30 | ||
31 | class AliEMCALGeometry; | |
32 | class AliJetReader; | |
33 | class AliJetESDReader; | |
34 | ||
35 | class AliJetFillUnitArray : public TTask | |
36 | { | |
37 | public: | |
38 | AliJetFillUnitArray(); | |
39 | virtual ~AliJetFillUnitArray(); | |
40 | AliJetFillUnitArray(const AliJetFillUnitArray &det); | |
41 | AliJetFillUnitArray &operator=(const AliJetFillUnitArray &det); | |
42 | ||
43 | // Setter | |
44 | virtual void SetReaderHeader(AliJetReaderHeader* const readerHeader) {fReaderHeader = readerHeader;} | |
45 | virtual void SetGeom(AliJetDummyGeo* const geom) {fGeom = geom;} | |
46 | virtual void SetMomentumArray(TClonesArray* const momentumArray) {fMomentumArray = momentumArray;} | |
47 | virtual void SetUnitArray(TClonesArray* const unitArray) {fUnitArray = unitArray;} | |
48 | virtual void SetRefArray(TRefArray* const refArray) {fRefArray = refArray;} | |
49 | virtual void SetTPCGrid(AliJetGrid* const grid) {fTPCGrid = grid;} | |
50 | virtual void SetEMCalGrid(AliJetGrid* const grid) {fEMCalGrid = grid;} | |
51 | virtual void SetProcId(Bool_t id) {fProcId = id;} | |
52 | virtual void SetGrid0(AliJetGrid */*grid0*/) {;} | |
53 | virtual void SetGrid1(AliJetGrid */*grid1*/) {;} | |
54 | virtual void SetGrid2(AliJetGrid */*grid2*/) {;} | |
55 | virtual void SetGrid3(AliJetGrid */*grid3*/) {;} | |
56 | virtual void SetGrid4(AliJetGrid */*grid4*/) {;} | |
57 | virtual void SetHadCorrector(AliJetHadronCorrection* /*corr*/) {;} | |
58 | virtual void SetApplyMIPCorrection(Bool_t /*val*/) {;} | |
59 | virtual void SetESD(AliESDEvent */*esd*/) {;} | |
60 | virtual void SetAOD(AliAODEvent */*aod*/) {;} | |
61 | virtual void SetApplyElectronCorrection(Int_t /*flag*/) {;} | |
62 | virtual void SetApplyFractionHadronicCorrection(Bool_t /*val*/) {;} | |
63 | virtual void SetFractionHadronicCorrection(Double_t /*val*/) {;} | |
64 | virtual void SetInitMult(Int_t /*mult*/) {;} | |
65 | virtual void SetInitMultCut(Int_t /*multcut*/) {;} | |
66 | ||
67 | // Getter | |
68 | virtual TClonesArray* GetUnitArray() const {return fUnitArray;} | |
69 | virtual TRefArray* GetRefArray() const {return fRefArray;} | |
70 | virtual void GetEtaPhiFromIndex(Int_t index,Float_t &eta,Float_t &phi); | |
71 | virtual Int_t GetNeta() const {return fNeta;} | |
72 | virtual Int_t GetNphi() const {return fNphi;} | |
73 | virtual Int_t GetMult() const {return 0;} // To be checked | |
74 | virtual Int_t GetMultCut() const {return 0;} // To be checked | |
75 | virtual Bool_t GetProcId() const {return fProcId;} | |
76 | ||
77 | // Other | |
78 | virtual void Exec(Option_t* const /*option*/) {;} | |
79 | virtual Float_t EtaToTheta(Float_t arg); | |
80 | virtual void InitParameters() {;} | |
81 | ||
82 | protected: | |
83 | Int_t fNTracks; // Number of tracks stored in UnitArray | |
84 | Int_t fNTracksCut; // Number of tracks stored in UnitArray with a pt cut | |
85 | Int_t fOpt; // Detector to be used for jet reconstruction | |
86 | Bool_t fDZ; // Use or not dead zones | |
87 | Int_t fDebug; // Debug option | |
88 | ||
89 | AliJetReaderHeader *fReaderHeader; // ReaderHeader | |
90 | TClonesArray *fMomentumArray; // MomentumArray | |
91 | TClonesArray *fUnitArray; // UnitArray | |
92 | TRefArray *fRefArray; // UnitArray | |
93 | Bool_t fProcId; // Bool_t for TProcessID synchronization | |
94 | AliJetGrid *fTPCGrid; // Define filled grid | |
95 | AliJetGrid *fEMCalGrid; // Define filled grid | |
96 | AliJetDummyGeo *fGeom; // Define EMCal geometry | |
97 | ||
98 | Int_t fNphi; // number of points in the grid: phi | |
99 | Int_t fNeta; // " eta | |
100 | Int_t fGrid; // Select the grid acceptance you want to fill | |
101 | // 0 = TPC acceptance, 1 = TPC-EMCal acceptance | |
102 | TArrayD *fPhi2; // grid points in phi | |
103 | TArrayD *fEta2; // grid points in eta | |
104 | TMatrixD *fIndex; // grid points in (phi,eta) | |
105 | TMatrixD *fParams; // matrix of parameters in the grid points | |
106 | Float_t fPhiMin; // EMCal acceptance | |
107 | Float_t fPhiMax; // EMCal acceptance | |
108 | Float_t fEtaMin; // EMCal acceptance | |
109 | Float_t fEtaMax; // EMCal acceptance | |
110 | Int_t fEtaBinInTPCAcc; // Number of bins in Eta in TPC acceptance | |
111 | Int_t fPhiBinInTPCAcc; // Number of bins in phi in TPC acceptance | |
112 | Int_t fEtaBinInEMCalAcc;// Number of bins in Eta in EMCal acceptance | |
113 | Int_t fPhiBinInEMCalAcc;// Number of bins in phi in EMCal acceptance | |
114 | Int_t fNbinPhi; // Number of phi bins | |
115 | ||
116 | private: | |
117 | ||
118 | ||
119 | ClassDef(AliJetFillUnitArray,1) // Fill Unit Array with tpc and/or emcal information | |
120 | }; | |
121 | ||
122 | #endif |