Compilation on Windows/Cygwin
[u/mrichter/AliRoot.git] / JETAN / AliJetFillUnitArrayEMCalDigits.h
1 #ifndef ALIJETFILLUNITARRAYEMCALDIGITS_H
2 #define ALIJETFILLUNITARRAYEMCALDIGITS_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 class AliJetDummyGeo;
18 class AliESDCaloCluster;
19 class AliEMCALCalibData;
20 class AliJetReader;
21 class AliJetESDReader;
22 class TClonesArray;
23 class TRefArray;
24 class AliJetUnitArray;
25 //class AliESD;
26 class AliESDEvent;
27 class AliJetGrid;
28
29 class AliJetFillUnitArrayEMCalDigits : public TTask
30 {
31  public: 
32   AliJetFillUnitArrayEMCalDigits();
33   //PH  AliJetFillUnitArrayEMCalDigits(Int_t event);
34   //PH  AliJetFillUnitArrayEMCalDigits(AliESD *fESD);
35   AliJetFillUnitArrayEMCalDigits(AliESDEvent *fESD);
36   virtual ~AliJetFillUnitArrayEMCalDigits();
37   
38   // Setter
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 SetTPCGrid(AliJetGrid *grid) {fTPCGrid = grid;}
45   void SetEMCalGrid(AliJetGrid *grid) {fEMCalGrid = grid;}
46   //  void SetESD(AliESD *esd) {fESD = esd;}
47   void SetESD(AliESDEvent *esd) {fESD = esd;}
48   void SetInitMult(Int_t mult) {fNDigitEmcal = mult;}
49   void SetInitMultCut(Int_t multcut) {fNDigitEmcalCut = multcut;}
50
51   // Getter
52   TClonesArray* GetUnitArray() {return fUnitArray;}
53   TRefArray*    GetRefArray()  {return fRefArray;}
54   Int_t         GetMult()      {return fNDigitEmcal;}
55   Int_t         GetMultCut()   {return fNDigitEmcalCut;}
56
57   // Other
58   void          Exec(Option_t*);
59   Float_t       EtaToTheta(Float_t arg);
60
61  protected:
62   AliESDEvent  *fESD; // ESD
63   Int_t   fNumUnits;  // Number of units in the unit object array (same as num towers in EMCAL)
64   Float_t fEtaMinCal; // Define EMCAL acceptance in Eta
65   Float_t fEtaMaxCal; // Define EMCAL acceptance in Eta
66   Float_t fPhiMinCal; // Define EMCAL acceptance in Phi
67   Float_t fPhiMaxCal; // Define EMCAL acceptance in Phi
68   Int_t   fNIn;       // Number of Array filled in UnitArray
69   Int_t   fOpt;       // Detector to be used for jet reconstruction
70   Int_t   fDebug;     // Debug option
71   Int_t   fNCEMCAL;   // Number of clusters in EMCAL
72   Int_t   fNCPHOS;    // Number of clusters in PHOS
73   Int_t   fNCCalo;    // Number of cluster in EMCAL + PHOS calorimeters
74
75   AliJetGrid         *fTPCGrid;           // Define filled grid
76   AliJetGrid         *fEMCalGrid;         // Define filled grid
77
78   AliJetReaderHeader *fReaderHeader;      // ReaderHeader
79   TClonesArray       *fMomentumArray;     // MomentumArray
80   TClonesArray       *fUnitArray;         // UnitArray
81   TRefArray          *fRefArray;          // UnitArray
82   AliJetDummyGeo     *fGeom;              // Set EMCal geometry
83   
84   AliESDCaloCluster *fClus;               //! 
85   Int_t fNDigitEmcal;                     //!
86   Int_t fNDigitEmcalCut;                  //!
87
88   
89  private:
90   AliJetFillUnitArrayEMCalDigits(const AliJetFillUnitArrayEMCalDigits &det);
91   AliJetFillUnitArrayEMCalDigits &operator=(const AliJetFillUnitArrayEMCalDigits &det);
92
93   void InitParameters();
94
95   ClassDef(AliJetFillUnitArrayEMCalDigits,1) // Fill Unit Array with tpc and/or emcal information
96 };
97
98 #endif